2021年にプログラム言語を勉強するとしたら、何がいいのか考えてみた - 第2話:各言語の似てる度
第1話では、現存するプログラミングのうち主要な言語を網羅して、それらの使いみち、特性を説明しました。
この回では、それぞれの言語はどれくらい似ているのか、違っているのかを説明します。
プログラミング言語を習う前の人にとって、まず最初に感じるのは「なんでこんなにたくさん言語があるのか?」ということではないでしょうか?
それはプログラミング言語の進化の歴史、ビジネス上の理由、などなどいろいろあってこのような群雄割拠した状態になっているのですが、
「こんなにたくさん言語があって、どれも全然ちがうのか?」
という質問もよく受けます。
各プログラミング言語は、お互いに造られた背景が違うため、
似ているものもあれば、全く違うものもある
というのが現実です。
言語Aと言語Bがにていれば、Aを習得したあとにBを習得するのは楽になります。
そこで、この回ではどの言語同士が似ているのか、
あくまで個人の感想
ですが、まとめて見たいと思います!
Swift と Kotlin
iPhoneアプリを書くためのSwiftとAndroidアプリを書くためのKotlinは登場した時期が同じこともあり、非常に似ています。
また作る目的もどちらも”スマートフォンアプリ”なので、どちらかを習得していれば、もう1つの方を習得するのは楽になります。
C、 C++、 Objective-C
Objective-Cの価値が下がってしまったのですが、この3つは非常に似ています。
C# と Java
C#がJavaに対抗してマイクロソフトがつくったものであることから、C#はJavaにかなり"インスパイア”されています。どちらかができればもう一つの方を読むことはすぐできるくらい似ています。
Javascript
コンパイルをしなくても動作するJavascriptは上記の言語のどれともそれほど似ていませんが、Javaと少し似た部分があるのと、Kotlin、Swiftにも似た部分があります。
すごく乱暴な言い方をすると、他の言語のどれとも少しづつ似ている、ので、他の言語を習得しているとJavascriptは読むことぐらいはすぐにできるようになります。
逆にJavascriptから上記の他の言語に行くのは少し難易度が高くなります。
それは、上記の言語がコンパイルをしてエラーを全部取り除かないと動かない言語であるのに対して、Javascriptはコンパイルしなくても、バグのようなものが少し入っていても動いてしまう言語だからです。これはJavascriptがとっつきやすい理由でもあり、良さでもあるのですが、Javascriptから他の言語に行くと他の言語の”厳密性”になれるのに修練が必要になります。
Python
どの言語とも似ていないと私が思っているのがPythonです。
Python自体は、プログラミング教育のために造られた言語なので、読みやすく、学習しやすい言語なのですが、私は他の言語に慣れ過ぎているため、Pythonを書き始めると毎回最初の1~2時間、慣れるまで混乱した状態になります。
PHP
PHPは一昔前まで人気だったPerlという言語と非常に似ていますが、その他の言語とは似ていません。ですので、他の言語から来たときも、他の言語に行くときも学習のハードルはあると思います。
Ruby, Go
この2つは、未だ私が手を出したことがないため、何も書けませんが、またこれらの言語を学習をしたときに追記したいと思います。
C言語
先程も出てきたC言語ですが、C言語はコンピューターというものが発展するために大きな役割を果たした言語で、C言語はすべてのモダン言語の母といってもいいと私は思っています。
C言語をできるようになると、コンピューター、とくにCPUとメモリーの上でプログラムがどう動いているか頭の中でイメージできるようになります。
C言語ができると、他の言語に行った時に、似ていなくても、そもそもコンピューターの上でプログラムがどう動いているかのイメージが頭にあるため、その言語を習得する上で私には大きな助けになっています。
以上、言語の類似度をまとめてみました!
最初に勉強する言語を選ぶときの参考になればと思います!
第3話はこちら↓↓↓
この記事が気に入ったらサポートをしてみませんか?