とりあえずプログラミングを学びたい!という方は多いのではないでしょうか?
そんな方々の中で出てくる最初の大きな問題、
「何の言語をやればいいのか。」
一言でプログラミングというワードで調べてみても、多岐に渡って存在しているため訳が分からないと思います。
などの不安に襲われるかもしれません。
文系でプログラミング初心者だった頃の私にとっては宇宙人語だとさえ思ってました。
そんな宇宙人語の中で何が良いか、考えてみましたのでご覧下さい。
プログラミングで何を作ってみたいかで決める
プログラミングをしたい!と調べたあなたは、何を作りたいかを飛ばして考えてはいないでしょうか?
プログラミングはあくまでモノづくりです。完成イメージが無いままプログラミングの文字列と対戦を始めるのは、初心者にとって中々苦行であると考えます。
乗り物でのイメージだとこんな感じです。
・乗り物:完成するモノ
・部品:開発言語
・組み立てる力:プログラミング能力
車を作りたいから、作る為に何をすればいいか調べるのではないでしょうか。
ここで乗り物を何の種類にするかも決めないで、とりあえず作り方だけを知りたいって人は中々いないと思います。
なぜプログラミングだと逆転の減少ができてしまうのか、私は甚だ謎です。
原因の一つとして、プログラミングにフォーカスを当てた情報が多く、成果物は何なのか置いてけぼりになっている現状が起因しているかもしれません。
とはいえ漠然としすぎているので、私の例を書いてみました。参考までにどうぞ。
例:スマホエンジニアの私の場合
入社当時は最新技術を習得したかったので、スマホアプリを始めとしたIoTや、AI開発の道に進みました。
また、スマホアプリの技術を習得すればアプリをリリースして自分の形にできると思ったこともあります。
(現実はアプリ開発技術(フロントエンド)だけだと厳しいですが…)
それらの目的を達成する為には何の技術が使われているか?を調べてみると
Objective-CやJava、Kotlin、Swift、JavaScript(Alexaスキル開発)などの言語に出会いました。(地獄も見ましたが)
プログラミングであなたは何を作りたいのか、それを念頭に置いて考えてみてはいかがでしょうか。
とにかくプログラミングをやってみたい場合
前項で触れた通り、
といった方も中にはいらっしゃると思います。
そんな方にはオーソドックスにJavaをおススメしておきます。
巷では有料化だなんだと騒がれていますが、プログラミングの考え方を鍛える上では応用が利くようになります。
また、ベンチャーなどはモダンな開発言語を積極的に多用する傾向がありますが、
大企業になればなるほど安定した言語を利用する傾向がありますので、大体Javaが組み込まれていることが多い印象です。
その上規模が大きいほど修正には莫大な費用がかかったり人員を調達する事が難しい事からも、余程のことが無い限りは言語変更がかからないと思われます。
その為廃れていく可能性も低く、身に着ければ長く利用できるといえるでしょう。
加えて、次の表をご覧ください。
プログラミング言語別の求人数一覧
引用元:Nojov
2020/8/30現在も他のプログラミング言語に比べて求人数も多いことから、Javaは広範囲で活躍できる言語であるといえるのではないでしょうか。
まずはスクラッチでプログラミングの作り方に触れるのもアリ
また、私が現場でも、プログラミング初心者の方々におススメしているものがあります。
サインインは必要ですが、無料で利用ができる歴としたプログラミング言語です。
ScratchはMITメディアラボのライフロングキンダーガーテングループのプロジェクトで、無償で提供されています。
引用元:スクラッチについて
なぜ初心者におススメかといいますと、子供でもプログラミングができるように開発されたもので、コーディング記述なしで直感的に組み立てることができるからです。
組み立てる力がつけば、その考え方を元に各プログラミング言語に合わせて書いていくだけです。
後日使い方等を記事にまとめようと思いますので、お待ちください。
とにかく1つのプログラミング言語を極める

何を目指しているかにもよりますが、開発したい言語が決まったのであれば、それを習得するまで他のプログラミング言語で浮気をしないことがおススメです。(スクラッチを除く)
というのも私はObjective-Cから入ったのですが、曖昧な状態でJavaも始めることになり、書き方が混ざってしまいました。
簡単な例で言うと、メソッドの定義一つでも違う言語であれば書き方が異なります。意味は同じです。
// Java
public void method (double a){
}
// Objective-C
– (void)method :(double) a {
}
あいまいな知識のまま複数言語を扱うと、どっちの書き方がJavaだっけ?となり、覚えるのに時間がかかってしまいます。(当時はそれで苦しみました)
一つ柱ができると他のプログラミングも理解できるようになってきますので、まずは1言語に集中する事をおススメしたいです。
まとめ
プログラミングは今年から学校で触れるようになったようですが、それ以前では義務教育で触れないものですので、中々縁がありません。
その為余程の適正があれば別だとは思いますが、仕事の合間などにやるにはハードルは中々高いと思われます。
だからこそプログラミングを仕事として始めたいという方は、これを作りたい!という意思を持って始めて頂けたら、今後食らいつけるのではないかなと思います。
自分がプログラミングしたものがリリースされたり、世の中で使われるようになると、達成感も一入です!
プログラミング技術に固執せず、モノづくりのワクワクを忘れないでいただきたいです。
- プログラミングで何を作ってみたいかで言語を決める
- 特にない場合は、幅広く需要のあるJavaがおススメ
- 習得する言語を決めたら、その言語に集中する