現役プログラマーから学ぶ「プログラミング言語の選び方」

 これからプログラミングをはじめようとするときに、どの言語を学び、どのような順序で学習していけば良いのかというのは誰でも悩んでしまうものでしょう。個人的にはPythonを推していますが、その理由というのは至ってシンプルで、「おもしろそうだったから」という理由でした。Pythonを使うまではHTMLやCSSでWebサイトを作っていましたが、勉強を進めていくうちにフレームワークというものがあることを知り、そもそもフロントエンド、バックエンド、インフラという役割によって言語を使い分けなくてはいけないうえに、役割ごとに言語は違ってくるということを知ってからは、ちゃんと筋道を立てて学習を進めた方が良いなぁと考えるようになったのです。それで僕の場合は基礎も対して学べてもいないのに、汎用性の高いPythonのフレームワークでもあるDjangoを使って簡単なウェブアプリを作ってしまったのです。公式ドキュメントを使っても1ヶ月くらいはかかってしまいましたが、それでも初めてのウェブアプリをちゃんと作れたという経験を得たことはかなり大きかったように思います。大きな挫折もなく、時々発生するバグなんて、よく調べればコードの書きミスであることがほとんどなため、とにかく形になるまでやり続ければ、自分にもプログラミングをやることはできるという実感を持てました。やはり初めての挑戦で成功するか失敗するかというのは、あとになって影響を受けてしまうので、そのときDjangoでの挑戦が成功したのは、運が良かったなぁと思っています。そのあともクラウドを活用したインフラの構築ではAWSを使用することに決め、同時にPythonがクラウド技術として活用されていることも分かってくると、尚のこと勉強にも身が入るようになっていきました。

 日本の場合、海外とのプログラミング学習においての大きな違いというと、欧米やヨーロッパ圏などではコンピューターサイエンスやアルゴリズムといった深い概念から学べる環境が昔から既に整えられているというのは、大きな違いになっています。そのような概念を学んだのちにプログラミングを追求していくことで、将来的にも問題解決能力を高めていくことにつながるし、論理的に物事を捉えられることもできるようになるわけです。日本ではおそらくこれからそのような体制が整い出すのではないかと考えていて、そのプログラミング学習においても、Javaのような古くから使用されてきた言語での学習でじゃなく、Pythonが用いられることが計画されているようなので、Pythonを好んで使っている身としてはありがたい限りです。とはいえ、これから子どもたちがPythonを使った学習を経験するようになるということは、競合性も自然と高まってくることになります。その競合から逃れるには、違う言語を学ぶか、専門分野を追求するといったことを戦略的に考える必要があるでしょう。データ分析、情報収集、ソフトウェアやアプリケーション開発、インフラおよびパイプラインの構築など、プログラミングでやれることというのはかなり多いので、自分に合った分野を選択しやすいとも言えるでしょう。僕がプログラミングを語るうえではPythonは既に欠かせないものとなっているのですが、それ以外にもプログラマーごとに使われている言語は異なるので、自分と同じような考えを持っている人や、気になる情報を発信している人を見つけたら、参考にしてみるのも良いでしょう。参考までに副業でプログラミングを使う場合の言語の選び方や学び方などのアドバイスが集められている記事を紹介しておこうと思います。これからプログラミングを学んでみようと考えていたり、既に学び始めてはいるけれど、他の言語も気になるという人はチェックしてみてください。

 全く関係のない他分野の本を読んでいるだけで、プログラミングに対してのアプローチが変わってくることもあります。色んな視点を身につけることで、世界がどんどん広がっていくのです。

参考リンク:

プログラミング副業の教科書

何の言語から、どの順番で学ぶべき?|現役プログラマーに聞いてみた



%d人のブロガーが「いいね」をつけました。