TENTOで学ぶプログラミング言語②C#
どこでもイケるC#
家庭やオフィスにパーソナル・コンピュータが置かれ、個人が自分のマシンを持つようになってしばらく経ちますが、C言語はそれよりずっと古くから存在します。その発展型がC++であり、今回ご紹介するC#はそれをさらに発展させたものとして開発されました。一説によれば、++をさらに++したから#なのだとか。なお、CとC#はまったく別のものと考えるのが適当だそうです。
noizのメイン・プログラマーにしてTENTOのエース、吉川先生に聞きました。
C#のよいところを教えてください。
「汎用性が高いことです。C#は.NET上で動くのですが、これはもともとマイクロソフトが開発したものでした。はじめはWindowsを中心とした環境でしか使えませんでしたが、現在はクロスプラットフォームになっています。Windowsでも、Macでも、AndroidでもiPhoneでも同じコードでアプリが動くということです。.NETが違いを吸収してくれるんです」
そうでない言語も多いのですね。
「たいがいの言語は特にグラフィカルな部分はクロスプラットフォームになっていませんから、それぞれのOSで異なるものを用意する必要があります。ですが、.NETがインストールできるならその必要がありません。これはプログラマーにとって大きなメリットです。プラットフォームのことを考えず、機能だけを考えてコードが書けるわけですから。ただし、C#もOSに依存するような機能についてはそのプラットフォームなりのコーディングが必要な場合もありますが……」
いいとこどりの言語
C#の特徴にはほかにどんなことがありますか。
「C#はJavaとC++のいいとこどりをしたような言語なんです。開発されたのが2000年代ですから、先行の言語の弱い部分を補う意味があったのだと思います」
「たとえば、C++ではメモリ管理が必須になっています。メモリの確保と解放をかならず記述しなければならないんです。それを忘れてしまうと、メモリリークといって、プログラムが終わってもメモリを使っているような状態になってしまい、メモリの空き領域を圧迫してしまうことになります。C#はそれを、記述しなくても勝手にやってくれるんです。
書かなくてもいいってことは、コードが短くなるってことです。コードは短いほうがいいんですよ。ミスやバグを見つけ出すのだって、短いほうがいいですから」
「C#は拡張性が高いのもメリットだと思います。それと、LINQというライブラリがあるんです。プログラムを書いていると、頻繁にくりかえしの処理を命じることがあります。それ簡易なかたちで実現できるんです。LINQはほかにも便利な機能をたくさん提供してくれています。個人的にイチオシの機能ですね」
ゲーム開発をするなら
C#はどんな場面で使われているのですか。
「ゲーム開発環境のUnityが有名です。TENTOの子も、ゲームをつくりたい子はC#を学んでいることが多いですね。C#は決して簡単なものではありませんが、C#をやっている子はやりたいことが明確で、強いモチベーションを持っている子が多いです。自分がしたいことを実現するためには、という気持ちがとても強いのだと思います」
この記事が気に入ったらサポートをしてみませんか?