コンピューターサイエンス教育では、 C も Java も教えないよ。 C なり Java なりを道具にして、アルゴリズムの設計と実装という、 500 年後にも意味のある (と期待される) 概念を教えるんだよ。
もちろん、コンピューターサイエンスの中でも専門とする内容によっては Linux カーネルを改造することが必要になったり Haskell コンパイラーを書くことが必要になったりするから、そういう人は必要な技術を学ぶけれど、「コンピューターサイエンス学科の卒業生なんだから C 言語でプログラムが書けるはず」みたいな先入観はやめた方がいいと思う。
コンピューターサイエンスの何たるか (スコア:5, 興味深い)
コンピューターサイエンス教育では、 C も Java も教えないよ。 C なり Java なりを道具にして、アルゴリズムの設計と実装という、 500 年後にも意味のある (と期待される) 概念を教えるんだよ。
もちろん、コンピューターサイエンスの中でも専門とする内容によっては Linux カーネルを改造することが必要になったり Haskell コンパイラーを書くことが必要になったりするから、そういう人は必要な技術を学ぶけれど、「コンピューターサイエンス学科の卒業生なんだから C 言語でプログラムが書けるはず」みたいな先入観はやめた方がいいと思う。
Re: (スコア:0)
500年後は言い過ぎでしょう。
ノイマン型コンピュータができて100年たってないんですから。
今のアルゴリズムは大体ノイマン型を大前提にしているはず。
というか並列化の時代になった時点で、
すでに使えなくなっているアルゴリズムは出てきているのでは?
早いのが取り柄のアルゴリズムなんかは。
データ設計のほうがまだ長持ちすると思う。
Re: (スコア:0)
たとえ去年考案されたアルゴリズムでも、真理なら(本質を突いているなら)1000年後でも本質。
計算機の本質は、計算しうる関数だから、歴史で言えばユークリッドごろから(二千年くらい)。
実装ならば、100年未満のノイマン型が200年後に有益かどうかは確かに怪しい。
でも、並列処理が一般化して、使えなくなっているアルゴリズムと言うのは一つも存在しない。
というか遅くなりようがない。
n並列でn倍にならないのは、並列の本質を突けていない未開の分野だから。そこは、これから突くべきところ。
本質を勉強するのに
機械語->C言語->J
Re:コンピューターサイエンスの何たるか (スコア:0)
何が本質かを定義しないでおいて、
本質かどうかで区別するというのは、
何の意味もないですよ。
すくなくとも、
#2654418さんの言う「本質」に、
アラン・ケイの提唱したような「本質」は含まれていないようです。
他の色々な人が言った「本質」も。