日経BP社 の IT Pro というサイトで面白そうな記事を見つけた。 そろそろ寝ようと思っていたのだが、今月はじめてのエントリを作成する事にした。
30年たっても基本は C言語(IT Pro)
http://itpro.nikkeibp.co.jp/free/ITPro/OPINION/20050531/161850/
ある雑誌でプログラミングに関する記事の編集や執筆をされているようで、C言語の連載記事をかかれているらしい。
そこでつくづく思うのは,OSがCで書かれている限りプログラミングの根本もCなのだということである。
なんとなく言いたい事もわかるが、やや無理矢理な感じもする。 但し、私も Cが根本にあるのは同意する。というのも。。
生産性の向上は「様々な微妙な問題をプログラマから巧妙に隠すテクニック」の上に成り立っていると指摘している。その問題は時にプログラマの前に顔を出すので,対処するには何をどうやって隠しているかを知る必要がある。そのような「隠す技術」の裏側を知るには,Cが打って付けの言語である。
私はアプリ屋である。(当たり屋ではない。) 業務で PHPなどのスクリプト言語(いわゆる P言語)を使い、Webアプリなんかを作っている。PHPは C言語で同じようなアプリケーションを作る事と比較するとかなり生産性は高いはずである。
しかし PHP 言語の知識だけでアプリケーションが作れるかというと そうとは言えない。
例えば、最近 LDAPを使った Webアプリを作成したのだが、 オンラインマニュアルには載っていない仕様を知るために C言語で記述された PHP のソースを追いかける事があった。
また、別の業務では Windows版 PHP の system() の呼び出しでハングアップ (多分デッドロック)状態になる問題も発生している。
ちょっと前の Zope 2.7.? では WindowsNT でサービスとして登録できない問題を 抱えており、 (いまさら WindowsNT 4を使っている事が問題と言う事は言わないで欲しい。) Python の Win32all のソースを調べた事もあった。
こうした問題を解決するには、やはり C言語の知識は不可欠である。
今の若い人達は、沢山の事を学ぶ必要があり大変だろうとは思う。 しかし、小手先だけの技術や、派手な技術ばかりに目を向けずに、 本当に必要なものをきちんと見極め、きちんと学習してもらいたい。 (と窓際のおっさんは思うのであった。。)
Cは誕生から30年以上がたち,大きなプログラムを書くための言語ではなくなったかもしれない。しかし,いつかソフトウエア技術が進化して「微妙な問題」が解決の日を見るまで「知っておいた方がよい言語」であり続けることは間違いない。
Re: プログラミング言語の基本は。。。
ちなみに Windows版の PHP で、system() のハングアップだが、まだ PHPの問題かどうかは特定できていない。
というか、私が WindowsのAPIに疎い為、なにをやっているのかチンプンカンプンなのである。
新しいコメントの投稿