概要
僕がどのプログラミング言語にやろうか、と考えていたときに、いろいろ調べたことを書いていきます。ただ、そういう記事はいくらでもあると思うので、個人の意見・偏見ばかり書きます。(一般論も必ず入れますが。)文章力が微妙なせいで短いのが多いですが、気にせず読んでほしいです。
一般的で客観的な意見を知りたい方は他の記事をあたるのをお勧めしますが、迷っててできるだけ多くの意見を聞きたい方や、暇な方、とりあえず何でもいいから文字を読みたい方は是非お読みください。
公式サイトとか見つかれば、リンクを張っておきますのでご参考までに。
一つだけ先に書いておきたいこととしては、Web開発(フロントエンド)は、やろうとすると結構選択肢減ります。JavaScriptとPythonくらいかな、有名どころだと。なお、Webページを構成する最も基本的な言語、HTMLとCSSは、プログラミング言語というよりマークアップ言語なのでここには書いてません。
メジャーな奴ら
C
- 第一印象:なんかすげえ
- 実際:すげえやつ
とりあえず汎用性が高い。機械語に近いらしく、いろんなとこに使われる。大規模システムから組込みシステム、OS、アプリまでいろいろ使われるが、最近はC++のが主流かなぁ
C++
- 第一印象:略称シー"プラプラ"って笑
- 実際:めちゃすごいやつやんけ
C言語をオブジェクト指向で拡張したみたいな感じ。たぶんCよりも応用が利く。大規模システムからソフトウェアまで使われる。UnrealEngineとかこれだったはずです。
Objective-C
- 第一印象:C++と何が違うん
- 実際:オブジェクト指向の入れ方が全く違う
C言語にオブジェクト指向を混ぜ合わせたみたいな感じ。Cとは別の言語扱い...かな?多分。Apple製品の開発によく使われるが、後述のSwiftのがいいらしい。
Java
- 第一印象:グラフィック強そう
- 実際:システムが強い
環境に左右されないものとして開発された。環境に左右されにくいため組込みシステムとか大規模システムによく使われる。Androidアプリはこれで作られてる。コンパイル言語と言ったらこれかな?
C#
- 第一印象:C言語かな
- 実際:ちょっと違うよ
Microsoftが作った。C++とJavaのいいとこどり。Cからすると、甥っ子みたいな感じかな?ソフトウェア開発に強い。とくにWindows。Unityにも使われてるし、ゲームと言ったらこれな感じ。
Python
- 第一印象:初めて触った言語
- 実際:何気すごい
コードが短めなのと拡張性が高いから最近めっちゃ使われてる。AIとかそういうのに強い。ちなみに、Python3で大幅リニューアルしたせいで2と3の互換性はない。だからプリインストールとかだと両方入ってることが多い。最初見たとき、なんで?ってなった。
Swift
- 第一印象:名前かっこいい
- 実際:リンゴだよこれ()
Appleが作った。MacとかiOSのアプリ開発に使われる。Obj-Cと共存できるように、中身はおんなじの使ってるみたい。たぶん。
JavaScript
ECMAのサイト
Mozillaのリファレンス
- 第一印象:Javaと関係あるのかな
- 実際:Javaじゃないよ
Netscape(Mozillaの前身)がブラウザで動かすために作ったLiveScriptが改名。Javaの持ち主であるOracle社と仲が良かったから名前もらったんだって。紛らわしいからやめてほしい。各社がブラウザに使うようになって、ECMAScriptで標準化された。友達がよくJavaと同じだと間違えるから毎回訂正するのが面倒。
僕がHTMLやっててめぐり合って、今はこれをよく使ってる。だってインストールしなくても基本的にはブラウザだけで動くんだぜ。
PHP
- 第一印象:JavaScriptとにてるね
- 実際:違うんだなこれが
JSはブラウザ上で動く(クライアントサイド)だけど、これはサーバーサイドで使われることが多い。よくHypertextPreprocessorの再帰的頭文字って説明されてるんだけど、PHPのご先祖様はPersonalHomePageToolsって言ったんだって。なんで再帰的にすんだよとか考えずにちゃんと知ってあげてね
Ruby
- 第一印象:すごそう
- 実際:日本人が作ったよ
日本人が作ったやつのなかで一番有名。可読性がすごく高いらしい。変数の宣言が不要とか聞いたことある。
個人的に好きな奴ら
なでしこ
日本語で書ける。でも英語のになれると感覚狂います。だって文法が日本語と英語で逆なんだもん。
例えば、Javaなら
int hogehoge
(hogehoge
が変数名)なところを、なでしこだと
ほげほげは変数。
(ほげほげ
が変数名)とかいう風に書かなきゃいけないんだもん。
初心者とかには感覚をつかむのにおすすめだけど、ほかの言語でやったことある方にはお勧めしません。
Whitespace
これは完全にふざけてる。比較的有名だと思うけど、スペース、タブ、エンターの三つだけでコードを書くせいで、普通に見ても何も見えない。でも面白い。だって三文字だけで書くんだよ?実用性皆無だけど。
Scratch
これは日本の教育現場でもしばしば見る。子供でも簡単に書けるように、カラフルなブロックを積み上げてスクリプトを書く。
僕も小学生のころはまってたなぁ。ふざけ倒しすぎて、久しぶりにログインしても真面目なプロジェクトがほとんど見つからなかったです。
でもすごい人はいるもんで、本格的な言語で作る並みのゲームとかもたまに見るので、自由度に驚いたりしていました。その代わり複雑になると途端に可読性が落ちます。
おわり。
ここまで読んでくれてありがとうございます。後ろのほうとか結構個人の感想多めでしたけど、書けてよかったです。(自己満足かよ)
ずいぶん自由な感じですが、なんかしらのお役に立てていればうれしいです。