プログラム言語の一長一短
プログラミングに詳しい人に質問です。大学でプログラミング経験の学部一年生向けにプログラミングを教えることを想定しています。週1コマ×半年程度の限られた時間で、プログラミングとはどういうものかという本質を教えたいのですが、どの言語を使うのが適切でしょうか。
こんな質問をしている人がいた。
よくわかる。
プログラム言語を薦めるにあたり、いろいろ長所とか短所とかあるので、
何が一番よいのかわからない。
ただ、やはり情報工学を専攻する学生ならば、C言語は必須だと思う。
ちょっと列挙してみよう。
長所と短所は個人的な見解。
アプリケーション開発
プログラム言語 | 長所 | 短所 |
---|---|---|
C | 高水準言語でありながら、ポインタなど、低水準言語のような技を使える。これを全く使えないプログラマや学生は(多分)相当馬鹿にされると思う。 | 逆にポインタを許可することによって、初学者は大混乱。あとオブジェクト指向ではない。プロトタイプ宣言が面倒 |
C++ | Cにオブジェクト指向を取り入れた。STLなどライブラリが充実。文字列周りが若干Cよりも楽。 | プログラムを実装できるようになるまで、膨大な学習時間を必要とする。 |
Visual C++(VC) | C++でWindowsアプリを開発するために、進化させた。今現在、ほとんどすべてのソフトウェアはこれで開発されている。 | プラットホーム依存言語。Windowsがどのようにして動いているのか理解しないと実装できないため、C++に加えてさらに膨大な学習時間がかかる。 |
n-88 basic | 20年前に流行し、これができない人間はサラリーマン失格とまで言われた。行番号が書いてあり、とてもわかりやすい。 | 行番号が書いてあるため、構造的なプログラム開発がしにくい。今は廃れている |
Visual Basic(VB) | BasicでWindowsアプリを開発するために、進化させたが、C=>VCのような進化ではなく、n-88とは全く別物といってもよい。VCと比べて圧倒的に開発が楽。 | ソースコードが美しくない(個人的に)。遅い(個人的に) |
java | オブジェクト指向言語。使いやすい。これひとつ知っているだけで、アプリケーション、アプレット、サーブレットなどインターネット関係のシステム開発もできる。 | 特にない。ネイティブアプリケーション開発としてはつらいかも。 |
Visual C# | Visual C++よりも、簡単に開発可能 | 遅い |