プログラミングの始め方とオススメの言語【プログラミング未経験者向け】
プログラミングの始め方とオススメの言語
新しくプログラミングを学習してみたいみなさんへ
「私もプログラミングが出来たらいいな」
みなさんは日常生活の中でこのように考えたことはないでしょうか。
私たちの生活の中にはプログラミングによって作られたサービスがたくさんあります。
メルカリなどのWEBサービスやAmazon、楽天市場などの通販サイト、iOSアプリケーション、Androidアプリケーション、VRやゲームなど様々です。
それでも、世の中にはまだ作られていないサービスがたくさんあります。もしかしたら、みなさんの頭の中では「こんなものやサービスがあればいい」と思ったものがまだ実現されていないこともあるでしょう。
自分のオリジナルのiOS/Androidアプリを作ってみたいという人もいると思います。
また、自分で考えたサービスを使って一儲けしてみたい!と思う人もいるかもしれませんね。
今後の社会情勢や今の仕事の将来性を考えて、何か食べていけるだけの技術を身に付けたいと思った人もいると思います。
他にも、オシャレな自分だけのランディングページを作りたいなど...
それぞれ動機は様々ですが、誰でも学習しようと思えば始めることができるのがプログラミングです。
プログラミングとは?
私たちの日常や生活の中で、IT技術は切っても切り離せないものになりました。インターネットは使わない日はなく、プライベートから仕事において幅広く活用されています。新たな生活のインフラと言っても過言ではありません。
そして、こうした技術の裏ではプログラムという「命令」が必ず動いてまわっています。ボタンを押したら画像を表示するといった「命令」や、キーボードを押したら文字を表示する「命令」など、ありとあらゆる場面でプログラムは働いています。
そのプログラムを1つ1つ書いていくことを、プログラミングと呼びます。
プログラミングを使えば、皆さんの考える幅広いことを実現させることが可能です。
どんなプログラミング言語がある?
プログラミングをするためには、プログラミング言語を使います。
当然ですが、私たちが日常で発している言葉をコンピュータは理解することができません。コンピュータが理解できるのは、「0」と「1」で構成された信号の羅列でしかありません。
プログラミング言語は、私たちが書く命令をコンピュータが理解できる形に翻訳する橋渡しをする役割を担っています。
そのプログラミング言語にも、用途に合わせた様々な種類が存在します。用途にあった言語を学習しなければ、目的のシステムを開発したくても遠回りになってしまうことがあるため、事前にしっかり精査する必要があります。
基本的には、自分の興味がある分野や、プログラミングで実際に作ってみたいものを決めてそれをベースに学習する言語を選ぶようにすると、学習が進みやすいです。
フロントエンド言語
ホームページやアプリケーションの中で、ユーザーが実際に目にしたり、操作を行ったりする部分です。
HTML/CSS
HTMLやCSSは、正確にはプログラミング言語ではありません。
HTMLやCSSはホームページの構造や装飾を決定するための「マークアップ言語」であり、何か命令を行うために使われる「プログラミング言語」とは主旨が外れます。
しかしながら、ある程度のHTMLやCSSの知識はこれからプログラミングを学習するにあたっては必須です。
JavaScript
ユーザーが目にする部分のうち、「動き」を表現するために使われる言語です。
ボタンを押すとモーダルを表示したり、アコーディオンの用にリストを表示させたり、一定時間ごとに写真をスライドして切り替えさせるというような様々な動きを司ります。
オシャレなホームページを作りたいときには、是非学習してみましょう。
サーバサイド言語
フロントエンド言語とは違って、ユーザーが直接関与することのない、いわばシステムの裏側を担当する言語です。
Java
官公庁系や組み込み系など、幅広い分野で使われている言語です。
OSやハードによって動く、動かないという差がありません。
案件の内容も多いので、使いこなせるようになれば少なくとも食べていけなくなることはないでしょう。
ただし、学習難易度はやや高めです。
PHP
Webサービスの分野で広く用いられている言語です。
広く使われていることもあり学習難易度も低く、初心者にもオススメの言語です。
何か自分でサービスを作りたいという場合にも役に立つでしょう。
Ruby
こちらもWeb開発の分野で広く用いられている言語です。
自由に記述できる上にコードの量も少なくて済むため、こちらも初心者向けの言語の1つです。
TwitterのようなSNSもRubyで作られているため、このような独自SNSにチャレンジしてみたい人にもオススメです。
Python
AIや機械学習、ディープラーニング系の分野で使われる言語です。
Webサービスというよりは、データ分析などに興味がある方にオススメです。
シンプルさを追求していて、1行で様々な処理ができるため、使いこなせるようになれば多彩な表現が可能になります。
C言語
歴史が古く、汎用的なプログラミング言語です。
シンプルで動作が早いという特徴から、ロボットプログラミングの分野において選択肢によく挙げられます。
また、OSの基幹システム開発にも用いることができます。
スマホアプリ系を作りたいなら
Swift
iOSアプリやApple Watch、Macアプリなどの開発で用いられる、Appleが開発したプログラミング言語です。
オリジナルのiOSアプリケーションを開発したい方はSwiftの学習が必須です。
SwiftはMacでのみ利用可能であるため、Windowsユーザーの方は注意が必要です。
Kotlin
こちらはAndroidアプリケーション開発によく用いられる言語です。
JavaでもAndroidアプリケーション開発は行われていますが、そのJavaよりも自由にコードを書くことが可能です。
目的に合わせて学習を行おう
今紹介したプログラミング言語はメジャーな言語とはいえほんの一部であり、全てを学習したら一生かかっても難しいでしょう。
それよりも、自分の作りたい、やってみたいことに絞って学習することが、早くプログラミングを取得するコツでもあります。
筆者は最初は企業システムや官公庁系の大きなシステムに興味があったためJavaを、その後WEBサービス系の技術に挑戦したくなりPHPやJavaScriptの学習をしています。
途中で学習言語を変える時でも、一度何かのプログラミング言語を学習していると次の言語を取得する労力は大幅に減ります。興味が移るかも...という人も安心して学習をスタートしてみましょう。
実際に学習する、その方法は?
プログラミングで作りたいものが決まった、言語も決まった。でもどうやって学習すればいいのかわからない...
実際のところ、プログラミングを行うには、環境構築というプログラミングを行うための土壌を自分のパソコンや端末に用意をしなければなりません。そのやり方を自分で1から調べていくのはなかなかハードであり、ここでつまづいてしまう人も少なくありません。
学習を進めるために、以下の方法を検討してみましょう。
Progate
未経験者にもオススメのプログラミング学習サービスです。
面倒な環境構築の手間をかけずに、プログラミングの基礎を学習することが可能です。
会員登録後すぐに学習を始めることができる手軽さもあります。
Udemy
Udemyは動画学習サービスです。
世界中の講師がアップしている講義動画を買い切ることで学習を進めます。
対応分野は幅広く、未経験者が学習したいと思う分野の講義動画はまず誰かがあげていると言っても過言ではありません。
教材1つの価格は幅がありますが、10000円超えの動画が多いです。
しかし、Udemyでは1ヶ月のうち半分はセールを行ってい流ため、どの講義動画も1500円前後で購入できます。
特に初心者向けの講義動画では、環境構築の手順を実演しながら説明してくれるものが多いため、Udemyでの学習は非常にオススメです。
プログラミングスクール
値段こそかかりますが、スクールに通うというのも手です。実際に教室に通うタイプのものから、全てがオンラインで解決するスクールと幅があるため、自分のライフスタイルに合わせて選択することが可能です。
スクールに通う意義は、「最適な順序で学習を進めることができる」点です。
極論を言えば、Udemyでより最適な順序で学習内容を選択できればスクールに通ったのと同じくらいにプログラミングスキルをつけることは可能です。しかし、未経験者がまず何を学んで、次に何を学べばいいかというような学習ルートを選ぶことができるでしょうか。学習に必要のない寄り道や、今は使われないような古い情報を元に学習してしまうということもありえます。
学習にかかる時間を短く抑えるためにスクールを選択するのは考えるべき選択でしょう。
筆者はPHP学習に関してはUdemyによる講義動画で学習を進めています。
学習の方法は様々ですが、これはほんの一例です。まずは学習を始めてみてから考えるのもアリかもしれません。