- 更新日: 2022年05月31日
- 公開日: 2020年10月01日
初心者がプログラミングを始めるのにおすすめの言語は?
はじめまして。このたびCode Campusで記事を書かせていただくことになりました若林と申します。
私は長い間、家電メーカーでソフトウェアエンジニアとして働き、機器組み込みからwebシステムまで多くの商品やシステムの開発と企画に関わってきました。
今もフリーで活動しながら新しい技術を学ぶ日々です。
職業としてのソフトウェアエンジニアを目指すみなさんに、どんなことを学べば良いのか、目を向ければよいのかについてお伝えしてきたいと思っています。
どうぞ、よろしくお願いいたします。
車の運転とプログラミング
プログラマー、ソフトウェアエンジニアとして働くことを目指してプログラミングを学んでいる、これから学ぼうと思っている、関心があるという方は、私の周りにもたくさんいらっしゃいます。
このような方々から「どの言語から始めたら良いですか?」
「どの言語をマスターしておくと良いですか?」
ということを聞かれますが、私を含め、多くのソフトウェアエンジニアがこの問いに対して「どれでも良い」と答えます。
なぜかというと、プログラミングを学ぶというのは車の運転を覚えるようなものだからです。
普段TOYOTAの車に乗っている人が、HONDAの車に乗れないということはありませんよね?
車の免許を持っていて、普段から車に乗っている人ならHONDAでもTOYOTAでもNISSANでも運転できるはずです。
これと同じように、例えばJavaScriptでプログラミングができる人ならRubyやPython、PHPなどの異なる言語でもプログラミングできるようになります。
とはいえ、車にもメーカーや車種によって多少の違いはありますから、ミッションの操作方法などを確認する必要があるかもしれません。
普段乗っている車と大きさが違えば、少しは練習した方が安心でしょう。
プログラミング言語も同じです、異なる言語に初めて触れる時にはその違いについて知る必要はありますが、ゼロから学び直す必要はありません。
それぞれに得意分野があるというのも、車とプログラミングの共通点です。
スピードの速いスポーツカー、家族みんなが乗れるファミリーカー、荷物がたくさん積めて悪路にも強いオフロードカーなど、車種によってそれぞれ得意・不得意がありますよね。
これと同じように、プログラミング言語にもそれぞれ得意な分野があります。この点については、また別の機会に述べたいと思います。
さて、「なんでもいいよ」と言うと、「本屋さんに行けばたくさんの本があるし、インターネットにもたくさんの情報がある。なんでも良いと言われても困ります!絞って教えて!」という声も聞こえてきそうですね。
そんな方には「Scratch」と「JavaScript」をおすすめしています。
Scratchとは
Scratchをおすすめするというと「Scratchって何?」「Scratchって子どものおもちゃじゃん」「なぜScratch?」という反応がかえってきそうですね。
ScratchはアメリカのMIT(マサチューセッツ工科大学)にある「MITメディアラボ」の中の「ライフロング・キンダーガーテングループ」が開発したビジュアルプログラミング言語です。
Scratch
全世界で約6,000万人、日本だけでも約65万人のユーザーが登録されている(2020年9月時点)と言われ、未登録ユーザーを含めて多くのユーザーがいます。
ポップな見た目と子どもにも使える扱いやすさから「子ども向け」「プログラミング言語ではない」と言われることもあります。
今年(2020年)から始まった小学校でのプログラミング教育必修化において、多くの学校で利用されることが予想される言語ですが、決して「子どものおもちゃ」ではありません。
Scratchもその他のプログラミング言語と同じ構文や機能を持ったオブジェクト指向のプログラミング言語です。
それでも「本格的なプログラミングは無理でしょ?」とおっしゃる方は、こちらの作品をご覧ください。
[クレー射撃ゲーム]
これはScratchで作られたゲームですが、ゲームとして不足はありませんよね。
先に述べたようにプログラミング言語にはそれぞれ得意不得意があります。
Scratchにも不得意な分野がありますから用途によっては向かないことはありますが、それは他の言語でも同じこと。
ScratchだとすぐにできるけどPythonでは手間がかかること、またその逆もあります。
Scratchが優れているのは、初心者でもすぐに始められてプログラミングの楽しさを実感できるところ、それでいてプログラミングの本質が理解できるところです。
私がおすすめする理由はここにあります。
C言語やPythonなどのテキスト言語の場合、最初のうちは入力間違いでプログラムが正しく動かないことがよくあります。
カッコが抜けている、カッコの場所が間違っているだけで動かないこともしばしば。
初心者だとどこが間違っているのかがわからないので、プログラミングが嫌になってしまう、自分はプログラミングに向いていないのではないかと思ってしまうかもしれません。
Scratchであれば、入力間違いによるエラーが起こりにくいので自分が作りたいことに集中できます。
もちろん、文字や数字の入力間違い、間違ったブロックを選んでいたなどの間違いはScratchでも起こりますが、それでもテキスト言語に比べれば圧倒的に少ないのです。
また、ブロックを見ればどんな命令が用意されているのかがすぐにわかるので、学習にかかる時間も少ない。
そんなプログラミング言語なので、まったく初めてでもすぐにプログラミングを始められてプログラミングの楽しさが実感できる、そんなプログラミング言語です。
JavaScriptとは
もうひとつは、JavaScript。
JavaScriptは用途の幅が広いこと、ブラウザで動作するのですぐに始められることがおすすめする理由です。
元々、JavaScriptはwebページに機能を追加するために作られたプログラミング言語でした。
会員登録フォームに入力の不備があるのを教えてくれるのも、webサイトのかっこいいアニメーションも裏側でJavaScriptで作ったプログラムが活躍しています。
ブラウザの上でしか動作しなかったので、それこそ「本格的なプログミング言語ではない」と認識されていた言語でもあります。
それが今では、開発ツールに、PCやスマートフォン用のアプリも作れるようになり、間違いなく「本格的なプログラミング言語」の仲間入りをしました。
用途が広がっている言語ランキングがあれば間違いなくトップになる言語です。
もし、将来Pythonプログラマーとして働くことになっても、RubyやPHPでwebシステムを作ることになっても、きっとJavaScriptを使う機会はあるはず。
その経験は無駄にはなりません。
JavaScriptはMacでもWindowsでも標準で入っているwebブラウザ(MacならSafari、WindowsならEdge)で動作しますから、すぐにでもプログラムを作って実際に動かせます。
わざわざダウンロードしてインストールする必要はありません。
Scratchよりは苦労するかもしれませんが、本やインターネットの情報を元にすぐにでも始められます。
JavaScriptを始めるならHTMLやCSSにも触れておきたいところです。
スマートフォンやPCを持っている人なら、「Webの技術で開発されたものにお世話にならない日はない」と言っても過言ではありません。
JavaScriptの次はHTMLやCSSにも挑戦してみる。そんな風に少しずつ幅を広げていくとよいでしょう。
まずは楽しむことが大切
今回のまとめです。
- プログラミングは車の運転に似ている、ひとつできれば他のものもちょっと勉強すればできる。
- まったく初めての方におすすめするならScratchとJavaScript
- まずは楽しんでプログラミングを好きになってください。初めて自分の作ったプログラムが動いた時の感動と嬉しさを忘れないでください。
どの言語から始めるのが良いかについては、人によって意見が分かれるところです。
Rubyだという人もいれば、いやいやPythonだという人もいるでしょう。大切なのは「なにか」ではなくて「なぜか」です。
もしみなさんが身近にいる経験者の方に相談する機会があれば「なぜ、その言語がいいのか」を聞いてみてください。
その理由に納得できれば、それがあなたが最初に始めるべきプログラミング言語です。
\Webサイト担当者としてのスキルが身に付く/
次回のテーマは
次回は「プログラミング言語にもある分野ごとの得意、不得意」をテーマに、言語ごとにどんなところで使われているのかについてお話ししたいと思います。
- この記事を書いた人
- 若林健一