涼の成長記録

自らの人生に主導権を持つべく、独立を目指して2014年3月31日を持ってITエンジニアを退職。そんな23歳♂の成長記録。

プログラミング言語人気TOP10の簡易解説の簡易解説4

さて、折り返しです。

プログラミング言語人気TOP10の簡易解説

プログラミング言語人気TOP10の簡易解説の簡易解説1 - 涼の成長記録

プログラミング言語人気TOP10の簡易解説の簡易解説2 - 涼の成長記録

プログラミング言語人気TOP10の簡易解説の簡易解説3 - 涼の成長記録



6. C#とは

Javaのコピー

CをインクリメントするとC++になる。C++をさらにインクリメントするとC#になる。という名前の見た目からCに近い系統なのかと誤解してしまいそうだけど、実際のC#Javaのコピー


いろんなところがJavaと似ているので(中間コードに翻訳してVMで動くところとか、クラスの振る舞いとか)、Javaを知っているプログラマはそんなに悩むことなく学習することができる。

「中間コードに翻訳してVMで動く」というのは、第1回で軽く触れました。
プログラミング言語人気TOP10の簡易解説の簡易解説1 - 涼の成長記録

逆にどう違うの?という方は、なんとWikipedia大先生が教えてくださります。
C SharpとJavaの比較 - Wikipedia


お察しください

WindowsでGUIアプリを作ろうと思った場合、けっこういいものが作れる。SwingほどUI的に(お察しください)な状態にもならず、C++で作るほどコーディングが(お察しください)な状態にもならない。

Swingというのは、JavaにおけるGUIツールキットです。私は使ったことがないのですが、あまり良いUIを構築できないということなのでしょう。C++のコーディングについては、それこそ"お察しください"なのですが、膨らみすぎた言語仕様や、私を始めとしたなんちゃってオブジェクト指向プログラミングしかできないC++erの大量発生等により、コードが汚くなりやすいという現実があります。


Microsoft頼み

Monoは頑張ってはいるけど、Linuxでの動作に関してはそれほど実績がない。現状ではApple頼みのObjectiveCほどではないものの、Micorosoft頼みの色が強い。

そもそも開発したのがMicrosoftです。しかし、最近C#は伸びていっていると思っています。モバイル関連が大きいのはないでしょうか。HTML5とかネイティブ(C++)とかでC#は淘汰されるなんて話も聞きましたが、現状Windowsストアのアプリは大多数がC#で書かれています。


C#Javaと同様、多くのプラットフォームで実行することができます。オブジェクト指向ガベージコレクション、鉄板のIDE Visual Studioと、開発のしやすさも抜群だと思うのです。さらに、一昨年までTIOBEで1位を独占し続けてきたJavaと同じような手触り、いつドカンと流行りだしてもおかしくないと思うのです。まあ、底辺プログラマーの見解なので、気にしない方が良いと思いますが。


参考図書

C#はあまり本格的に勉強はしてないので、オススメの書籍とかはよくわからない。なんかJavaっぽいなぁと思いながら書いたらちゃんと動いた。ということはきっと独習Javaを読めば書けるようになるんじゃないだろうか。

当然ギャグです。



7. Objective-Cとは

なぜC++じゃなくObjective-Cなのか

スティーブ・ジョブズがMacに戻る前あたりから使っているお気に入りの言語。人気が出た理由はひとえにiPhoneiPhoneアプリを作るにはObjective-Cを使う必要があったことから利用者が急増していつの間にやらTOP10に入るような言語になっていた。


なぜC++じゃなくObjective-Cなのか。それはジョブズにしか分からない。

Mac OS Xが、NeXTコンピュータのOS、NeXTSTEPの後身であることだと思います。しかし、この後に「iPhoneのようなCPUを使い過ぎると電池的に困るような端末はこういう言語が向いてるのかもしれない」と書かれているように、スマホやタブレットのように、メモリ、CPU、バッテリーと、多くの制約のあるデバイスに向いていたのだと思います。


Android(Java)もiPhone(Objective-C)も両方かじってみた経験があるのですが、Objective-Cの方が有利に感じたのは、プログラマーがC言語のようにメモリ管理を意識したプログラミングができることです。やはりメモリ使用量の面では大きくJavaを上回ることができると思うのです。


参考図書

Appleのリファレンスのサイトがけっこう読みやすかった。

私もそれを感じました。日本語に翻訳もされております。そして、この開発者向けドキュメントはiBookで配信されています。
日本語ドキュメント - Apple Developer


個人的な手触り

私は結構楽しくて好きなのですが、巷で騒がれている通り、変態言語だなぁとは思います。私は基本的にいろんな意味で変態なので、たまたま肌に合ったのでしょう。まあ、かじった程度ですが。どのあたりが変態なのかは、以下のような記事を眺めるだけで大体伝わってきます。足りなければ「Objective c キモい」とかでググると良いです。無限に見つかりますので。

こたつつきみかん » なぜ Objective-C は気持ち悪いのか – 見た目編

Objective-Cの構文のキモチワルさを伝えたい。。 - このブログは証明できない。

Objective-Cのここが嫌い: 人生を書き換える者すらいた。




今回はここまで。いや、今日はここまで。しかし、次でラストです。書いてて凄く勉強になります。そしてプログラミングが更に好きになりますね。
ではでは。