昨日の会議で,最近の学生たちは,
コンピュータの中身が良く分かっていないどころか,
コーディングの基礎も良く分かっていないのではないか,
という話題があった.
ある学生のプログラムで,
ループの各繰り返し毎に,
標準出力をさせる文を入れていたために,
非常に計算速度が遅くなっていた,
という話が,その元である.
入出力の回数を減らすというのは,
計算速度を上げるためのテクニックとしては,
ちょっと前までは不可欠なものだった.
しかし,現在の学生たちにおいては,
あまりにコンピュータのパフォーマンスが上がりすぎたために,
そういう基本的なことを失念している人が多いのだ.
メモリの使用法についても同様なことがいえる.
昔は,どれだけメモリを節約するか,
ということが大命題だった.
まぁ私も本格的にニーモニックでコーディングし,
64k程度のメモリに四苦八苦をしていたわけではないから,
それほど偉そうなことは言えないが,
それでも学生時代は,PC上で電磁界解析などをするときに,
メッシュの数をそれなりに制限しなければ,
すぐにメモリーオーバーのエラーが出て,
計算ができなかったものである.
計算速度の向上とメモリの節約.
それを常に頭において,コーディングしていたわけである.
PCのパフォーマンスが上がって,
そういう苦労をしなくて済むようになったわけだが,
その代り,基礎的なところでポカを
起こしやすくなっているような気がする.
技術のブラックスボックス化が,
基礎技術,中堅技術のドーナツ化を招いている.
これでいいわけがない.
なんとか手を打たなければならない時期に来ているのだろう.
別のセミナーで,スーパーコンピュータを
手作りするという話題が出た.
天文学や分子動力学のような多体問題の解析に特化した
計算機モジュールを並列化し,
計算の速度を向上させようというものである.
個々のモジュールは単純な計算だけを行えば良いので,
高速化を図ることができる.
もしこのような高速計算機を手作りで作ろうとしたら,
それはそれでずいぶん計算機の勉強になるだろうと思う.
当然,学生たちに計算機を作らせてみたらどうかという話になる.
そんな実習科目があってもいい.
0 件のコメント:
コメントを投稿