トップページ > プログラム > 2014年03月23日 > GFwabcra

書き込み順位&時間帯一覧

13 位/224 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000200000003016



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Niklaus Wirth
【JavaScript】スクリプト バトルロワイヤル42【pl,rb,php,py】
C/C++の宿題片付けます 167代目
スレ立てるまでもない質問はここで 134匹目

書き込みレス一覧

【JavaScript】スクリプト バトルロワイヤル42【pl,rb,php,py】
854 :デフォルトの名無しさん[sage]:2014/03/23(日) 13:35:10.98 ID:GFwabcra
>>852
2 は扱うデータの種類に応じて適した関数(=手続き)を使い分けるという、
多相性(polymorphism)の無い時代における手続き型言語の発想だね
また自動判別の問題は 2 を選んだからといって解決するわけじゃないから、意味不明


>>853
Rubyは一貫して 1 で、文字列とバイト列は区別せずStringだから、
この議論に巻き込むのは勘弁願いたい
C/C++の宿題片付けます 167代目
243 :デフォルトの名無しさん[sage]:2014/03/23(日) 13:44:31.07 ID:GFwabcra
>>241
>社内システム開発にC使うの?

大量データを扱う技術系パッチ処理では、今でもCが使われているよ
いまだに勘定系でCOBOLが使われているのと同じ理由
スレ立てるまでもない質問はここで 134匹目
787 :Niklaus Wirth[sage]:2014/03/23(日) 21:26:13.39 ID:GFwabcra
高級言語だけを勉強するように指導していると、
学生たちはたいてい不満を感じます。
彼らは、実際に何が行われているかを、もっと知りたがります。
コンピュータ・サイエンスを学ぶ学生に、わたしはマシンの構造と
アセンブリ言語でのコーディングを勉強することが大切だと言いたい。
もちろんそれは、アセンブリ言語のプログラマーになるだめではなく、
洞察力を身につけるためです。
(1/3)
スレ立てるまでもない質問はここで 134匹目
788 :Niklaus Wirth[sage]:2014/03/23(日) 21:36:39.03 ID:GFwabcra
(>>787の続き)
優秀なエンジニアは、使っているツールに関して、単に見かけを
知っているだけでなく、深い理解を持っていなければなりません。
表面の下に何があるかを知っている必要があるのです。
しかし、マシンの中のことを理解しているからといって、
アセンブラでシステムを作る必要はありません。
「私は必要なことはマスターした。私はハイレベルな命令文で
プログラムを書いて、あとはコンパイラにおまかせする。
コンパイラはこれをうまくローレベルの命令に
翻訳してくれるだろう。私が自分で細心の注意を払っても、
コンパイラのようにはいかないだろうから」
という具合でもよいわけです。
(2/3)
スレ立てるまでもない質問はここで 134匹目
789 :Niklaus Wirth[sage]:2014/03/23(日) 21:43:22.49 ID:GFwabcra
(>>788の続き)
しかし、コンピュータの中で何が行われているかを知っていると、
高級言語を使う場合でも、プログラマーはより優れた仕事ができます。
たとえば、手続きの呼び出しが加算や乗算と比べてどれだけ時間を
食うかを知っていると、状況に応じて手続きの呼び出しを多く使ったり
少なく使ったりの加減ができるのです。もちろん初心者には無理ですが、
システム・プログラムやコンパイラを書くようになると、
より優れた洞察力がものをいうようになるのです。
(3/E)
スレ立てるまでもない質問はここで 134匹目
792 :デフォルトの名無しさん[sage]:2014/03/23(日) 23:28:56.52 ID:GFwabcra
>>791
これは1985年の翻訳記事を引用したもので、およそ30年が経過している
だから指摘のように、多様化という時代の変化を前提に読む必要があるね

たとえばWebアプリやスマフォアプリのプログラマであっても、
その多くはただ単にアプリのコーディングができるだけで満足している
でも、もしミドルウェア/フレームワーク/ツールキット/言語処理系に関して
深い知識があれば、より効率的で可読性のあるコードが書けるようになる
そして必要ともなれば、あつらえの部品よりも問題解決に最適な
独自の新しい部品を造り出すことができるようになる
(たとえば Scala、Ruby on Rails、node.js、そして jQuery のように....)

またアプリよりもローレベルなプログラミング、たとえば言語処理系、
カーネル、デバイスドライバといったシステム・プログラムの
デベロッパとそれを目指す学生たちにとって、この Wirth の言葉が持つ
価値は、今もって何一つ失われていないと考える


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。