プログラミング言語は何から始めるか。目的から選ぶ考えかた
最初のプログラミング言語は、自分が作りたいものが動く場所から逆算して選ぶと迷いません。
ランキングや「将来性」で選ぼうとすると、比較記事を読むだけで時間が過ぎていきます。しかも比べている項目の多くは、これから最初の一歩を踏み出す人には当分関係のない話です。
言語というのは、ざっくり言えば「コンピュータへの指示の書き方の流儀」です。流儀ごとに得意な場所が違うので、動かしたい場所が決まれば候補は自然に絞られます。この記事では、その絞りかたを整理します。
まず「どこで動かしたいか」を決める
言語そのものより先に、動かす場所を決めるほうが早道です。代表的なところだと、次のような対応になります。
- ブラウザで見えるもの(Webサイト、Web上で動く小さなツール)… HTML / CSS / JavaScript
- データ集計や作業の自動化(表の処理、ファイルの整理、簡単な分析)… Python
- スマホアプリ… iPhone向けならSwift、Android向けならKotlin
- 表計算ソフトの中の自動化… その表計算ソフトが備えているマクロや関数の仕組み
厳密に言えばどれも例外はありますが、最初の1つを決めるにはこの粒度で十分です。「Webサイトを作りたいのにスマホアプリの言語から始めてしまった」という遠回りだけ避けられれば、まずは目的を果たしています。
作りたいものが思いつかないときは
「特に作りたいものはないが、やってみたい」という入り口も、まったく問題ありません。その場合は次の2つのどちらかから入ると、手応えを感じるまでが短くなります。
ひとつは、HTMLとCSSです。書いた内容がそのままブラウザに見た目として出るので、変化が目に見えます。文字の色を変える、写真を並べる、といった小さな成功が積み重なります。
もうひとつは、Pythonです。手元の面倒な作業——ファイル名を一括で変える、いくつもの表を1つにまとめる——を減らす方向に使えるので、覚えたことが日常の役に立ちます。
どちらを選んでも、あとで別の言語に移るのは難しくありません。プログラミングの考えかたの土台部分は共通していて、2つ目以降は最初の1つよりずっと早く身につく、とよく言われます。
「人気」や「稼げる」を基準にしないほうがいい理由
求人数や話題性を基準にすると、選んだあとに困りやすくなります。理由は2つあります。
1つは、そうした情報が変わりやすいこと。数年単位で状況は動くので、いま学び始める人が判断材料にするには揺れが大きすぎます。
もう1つは、関心のない分野は続きにくいことです。学習が止まる原因は難しさそのものよりも、「何のためにやっているのかわからなくなること」であるほうが多いように思います。作りたいものがあれば、つまずいても戻ってこられます。
言語選びは、思っているほど重い決断ではない
最後に、いちばん伝えたいことを。最初の言語選びは、あとから取り返しがつかない決断ではありません。1か月やってみて合わなければ、別の言語に移ればいいだけです。そのとき、最初の1か月は無駄にはなりません。
それよりも、動くものを1つ完成させた経験のほうが後々効いてきます。小さくてかまいません。自己紹介ページ1枚、ファイル整理のスクリプト1本で十分です。
わからないことをその場で質問できる環境についてはプログラミング未経験でも大丈夫。AIと一緒にコードを書く時代の始め方で書いています。AIに聞きながら進めるとしても、どこを自分の手に残すかは考えておきたいところで、その線引きはAIに任せる仕事と、自分でやる仕事の線引きにまとめました。
まとめ
- 言語は「動かしたい場所」から逆算すると、候補がすぐ絞れる
- ブラウザならHTML/CSS/JavaScript、自動化や集計ならPythonが入口になりやすい
- 作りたいものが無いなら、見た目が変わるHTML/CSSか、手作業が減るPythonから
- 人気や求人数を基準にすると、関心が続かず止まりやすい
- 最初の1つは選び直せる。それより「動くものを完成させた経験」が残る
デジタルラボ金沢では、こうした「最初の一歩をどこに置くか」を、参加する人それぞれの目的に合わせて一緒に考えています。初心者からOK、一人一人が主役という考えかたでワークショップや勉強会を開いているので、気になった方はお問い合わせからどうぞ。