はてなキーワード: ペンシルベニアとは
圧縮アルゴリズムそのものを新規に考えたら高校生じゃなくても随分凄いだろ。既存の技術を組み合わせて実装するぐらいなら俺も高校生の頃にやってた。
HDDの中にあるファイルを片っ端から圧縮してみたら平均してPKZipの5%増しぐらいのサイズにはなってた。だから存在価値は無かった。
でもそれ危ないよな。ジョエルのおっさんもこう言ってる。
しかしポインタと再帰の明らかな重要性以上に重要なのは、これらの学習から得られる精神的な柔軟さと、これらを教えている授業からふるい落とされないために必要な精神的態度が、大きなシステムを構築する上で欠かせないということだ。ポインタと再帰には、ある種の推論力、抽象的思考力、そして何よりも問題を同時に複数の抽象レベルで見るという能力が要求される。そしてポインタと再帰を理解できる能力は、優れたプログラマになるための能力と直接的に相関している。
オールJavaのコンピュータサイエンス教程では、こういった概念を扱うための頭の回転の良さを持ち合わせていない学生をふるい落とせない。程度を下げた新しい授業はどうにか切り抜けられるが、Java会計アプリケーション以上に洗練されたプログラムを作れるほどには頭の出来の良くない卒業生たちを、Java 100%スクールが量産しており、その様を私は雇用主として目の当たりにしている。そういう学生はMITの6.001やイェールのCS 323を決して生き抜くことはできない。最近オールJavaになったデューク大や、私と友人がひどい目に合ったCSE121の言語をSchemeとMLからJavaに変えたペンシルベニア大の学位よりも、MITやイェールの学位に重きを置く理由がここにある。優秀な学生でもデューク大やペンシルベニア大を出た人は雇いたくないと言っているのではない。ただ優秀なのが誰なのかを見分けるのがすごく難しいのだ。かつては学生の出来がいいかどうかは、再帰アルゴリズムを数秒で書き出すことができるかとか、連結リストを操作するポインタを使った関数を、ホワイトボードに書くのと同じくらいの早さで実装できるか見れば良かった。しかしJavaスクールの卒業生たちについては、彼らが躓いているのが十分な教育を受けていないためなのか、それとも優れたプログラミング仕事をするために必要な脳の部分を持ち合わせていないためなのか、わからないのだ。ポール・グレアムは彼らをほげプログラマと呼んでいる。