編集:この質問は、最初はJavaをバッシングしているように見えますが、この時点では少し推測されます。しかし、私がやろうとしているより大きなポイントは、すべての問題に対するすべての解決策として単一の言語が選択される理由です。Javaはたまたま使用されているものなので、ここで勝つ必要がありましたが、Javaを意図的に新しいものに引き裂いているわけではありません:)
私はほとんどのアカデミックな環境でJavaが好きではありません。言語自体が悪いと言っているわけではありません。いくつかの非常に望ましい側面があり、最も重要なことは、ほとんどのプラットフォームで再コンパイルせずに実行できることです。Your Next App ^ TMの言語の使用に問題はありません。(私が個人的にすることではありませんが、それはデザインが貧弱であるというよりも、経験が少ないためです)
Javaを言語として使用して高レベルのCSコースを教えるのは無駄だと思います。私の同級生の多くは、ゴミ収集されていない世界で働く方法を知らないので、気にする価値のあるプログラムを作成できません。彼らはプログラミングの対象となるマシンを基本的に理解していません。誰かがガベージコレクトされた世界の外で働くことができるとき、彼らはその内部で働くことができますが、その逆はできません。GCは松葉杖ではなくツールです。しかし、コンピュータサイエンスの学生に教えるために使用される方法は、松葉杖のようなものです。
コンピューターサイエンスは、単一の言語に合わせた一連のコース全体を教えるべきではありません。学生は、すべての優れたデザインは慣用的なJavaデザインであり、オブジェクト指向デザインは物事を成し遂げる唯一の方法であるという考えを持ち帰ります。卒業生に機械の理解を深めるために、少なくとも1つはガベージコレクション言語ではない他の言語を教育に使用する必要があります。
尊敬されている機関のCSのPHDを持つ人が、紙袋から抜け出す方法をプログラムできないのは恥ずかしいことです。
さらに悪いことに、実際に物事がどのように機能するかを理解しているCS教授と話をすると、彼らはこのような感情を共有し、Javaですべてを行うことによって生徒に害を与えているということです。(他の言語に置き換えた場合、上記は同じになることに注意してください。一般的に、Java自体ではなく単一の言語を使用することが問題です)
全体として、私はもはやどのような学位も尊重することはできないと感じています-私の周りの人々がフィズバズの問題から抜け出す方法をプログラムできるのを見ることができないとき。
なぜ/どのようにしてこのようになったのですか?