アカウント名:
パスワード:
すくなくとも、JAVAでは領域計算量のセンスを磨かせる演習は困難じゃないですか。
あと、組み込みCPUのブートとか、データセグメントの初期データをROMからRAMに転送するとかいった当たりのセンスの涵養がサッパリ。 某家電メーカーの知人は、そのあたりができる技術者は皆40代以上だと嘆いていました。
教育に使う言語は、将来その言語でプログラミングして喰ってゆくかどうかで選ぶものではありません。 プログラミングの本質を身につけるのが目的。言語は、仕事で使えと言われた言語をその時点で勉強して使えばいいのだし。 将来お手軽言語さえ知ってれば困らない職場で定年まで居られるか、抽象度の低い言語のセンスがないと辛い職に行くか、どちらの可能性もある学生さんを教育するんですから、目先の楽ちんさで将来を限定してしまうのはよくありません。
言語による「致命的な差異」など存在しないという点については同意しますが、Javaしか知らないと自らの記述したJavaのコードが「複雑怪奇なものになっている」ということなど、なかなか自分で気づくことができません(「そんなもんだ」と自分自身で納得してしまうから)。 しかし他の言語を知っていると、他言語での実装と簡単に比較できる、つまり「自らのやっていることを振り返りやすい」というメリットが出てくるわけです(実際に実感しています)。
「言語に精通する」という目標を「山の頂上を目指す」という目標になぞらえてみると、Tatenon氏の「まずJavaだけに専念する」という主張も「他の言語とともに言語を学ぶ」という主張も「単なる別ルート」であり、どちらも間違ってはいないと思います。しかし、Tatenon氏のルートはかなり険しいのではないかと思います(完全無欠のカリキュラムがあり、神の如く完璧な先生の元で教われば最短距離で頭頂可能だと思いますが、現実問題としてあり得ない)。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家
別に言語は関係ないと思うけど (スコア:5, すばらしい洞察)
もう随分前から語りつくされてることじゃないのかな?
向き不向きもあるから、自分の目指す道に応じた言語を習得すれば良いと思うけど。
逆にどちらにしても、習得が中途半端なレベルではそもそも使い物にならないわけだし。
母国語を喋るのと同じ感覚でコードが書けるようなレベルまで教育しないと意味が無い。
それができないなら言語に関係なくカリキュラムに問題があるだろうとは思う。
JAVAが引き合いに出されてるが、本当の意味で『JAVAの限界を感じる』程JAVAを使いきれる人間を育ててるかってことが
問われるべきではなかろうか。そこまで極めていればそうそう他の人間に引けをとることはなかろうし、
自分が本当に必要とする言語も見えてくるはずだから。
# BASICでなんでもできると思ってた時代が私にもありました。
# 86ASM/C/C++/JAVAを業務で使ってるけど、まだまだ全然使いきれていない。
# まだまだ功夫が足りんということか・・・
Re: (スコア:5, すばらしい洞察)
すくなくとも、JAVAでは領域計算量のセンスを磨かせる演習は困難じゃないですか。
あと、組み込みCPUのブートとか、データセグメントの初期データをROMからRAMに転送するとかいった当たりのセンスの涵養がサッパリ。 某家電メーカーの知人は、そのあたりができる技術者は皆40代以上だと嘆いていました。
教育に使う言語は、将来その言語でプログラミングして喰ってゆくかどうかで選ぶものではありません。 プログラミングの本質を身につけるのが目的。言語は、仕事で使えと言われた言語をその時点で勉強して使えばいいのだし。 将来お手軽言語さえ知ってれば困らない職場で定年まで居られるか、抽象度の低い言語のセンスがないと辛い職に行くか、どちらの可能性もある学生さんを教育するんですから、目先の楽ちんさで将来を限定してしまうのはよくありません。
Re: (スコア:3, 興味深い)
だったら別にJAVAでエミュレーター書かしてもいいわけで。(極論すぎますけど)
元コメでも言ってますが、中途半端に色々使えるくらいなら、いっそ何でもJAVAで書けたほうがいいと。
JAVAでは実現が難しいことがわかってから、CなりLISPなり他の言語をやっても全然遅くはないし、
その方が本質がわかるはずです。
そもそも学生の演習レベルや、アルゴリズムの習得といったレベルで、言語による致命的な差異があるとは思えません。
"Hello World"に毛が生えたようなコードが、CとJA
Re:別に言語は関係ないと思うけど (スコア:3, 興味深い)
言語による「致命的な差異」など存在しないという点については同意しますが、Javaしか知らないと自らの記述したJavaのコードが「複雑怪奇なものになっている」ということなど、なかなか自分で気づくことができません(「そんなもんだ」と自分自身で納得してしまうから)。 しかし他の言語を知っていると、他言語での実装と簡単に比較できる、つまり「自らのやっていることを振り返りやすい」というメリットが出てくるわけです(実際に実感しています)。
「言語に精通する」という目標を「山の頂上を目指す」という目標になぞらえてみると、Tatenon氏の「まずJavaだけに専念する」という主張も「他の言語とともに言語を学ぶ」という主張も「単なる別ルート」であり、どちらも間違ってはいないと思います。
非線形な世界では、こまめな進路補正が欠かせないのです。しかし、Tatenon氏のルートはかなり険しいのではないかと思います(完全無欠のカリキュラムがあり、神の如く完璧な先生の元で教われば最短距離で頭頂可能だと思いますが、現実問題としてあり得ない)。
Re:別に言語は関係ないと思うけど (スコア:1)
それは確かにそうですね。w
でもコンピューターでは最先端を走ってる(はずの)アメリカの大学で、しかもプログラミングを学ぶ学生たちには
この位険しい山を越えて欲しいなとは思います。(勝手過ぎるのは重々承知で
またそうでなければ、
>このままでは海外の安価なアウトソース先にたやすく置き換えられてしまう程度の能力しかない「プロフェッショナル」しか育てられなくなる
というEdmond Schonberg氏やRobert B.K. Dewar氏の危惧は、今後現実となっていくでしょう。
そういう意味では、日本も同じだと思います。
大学出たって、易しい言語で易しい処理しか書けないなら、これから先の時代プロフェッショナルである必要は無いし、またプロフェッショナルたり得ないでしょう。
デザイナーでも書けるようなコードしか書けないプログラマーに存在意義なんてありませんから。
高度な知識を必要とする言語で書くことができたって、同じ処理が別の容易な言語で書けるのであれば、やはり駆逐されていくしかないでしょう。
同じ入力から同じ出力が得られるのであれば、何で書いてるかなんて使ってる人間には関係の無いことですから。
頂上に到達するならどの道を通っても同じだと思います。大いに同意です。
それだけに、コースを設定する『教育者側』の責任は重大だと思います。
「基礎は教えた。後はがんばれ」って絶対壊れない棍棒数本渡して魑魅魍魎跋扈する森に放り出すのも、それはそれでアリかなとは思いますが、
放り出されたレベル1勇者たちは少々気の毒な感じがしてなりません。
そういう意味では、最初からエクスカリバーを持たせようとする私の方がむしろ甘いのかもしれませんね。