2008/01/31


C言語を使える奴は凄いのか?


C Language

数年前ならYesだ。でも今は「間違なくYesだ」とは言えない。昨今業務で求められているスキルはC言語使いだけではない。

求められているのはJava使いであり、VB.NET/C#使いであり、LL(javascript、php、python、perl, ruby)使いなのだ。

最近ではエンドユーザも賢くなってきて、単にパフォーマンス性や万が一に備えた柔軟性よりも、保守性やメンテナンス性、二次利用という利点、はたまたバグ侵入率を下げるにはどうしたら良いかを勉強してきている。

まれにC言語使いは、C言語を使えない人達から崇められる事があるが、はたして本当に凄いのだろうか?

ポインタや演算子オーバロードを知っている人が、MFCやATL/WTLを知っている人が、socketをCで組める人が、kernelソースを読める人が、本当に今後も凄いと言われ続けるのだろうか。

例えばGUIを作るとしよう。pythonとGTKを使えばウインドウを出すのに10行あれば十分でしょう。

ソケットで通信してXMLを送受信するならばperlで10数行でしょう。

SHA1で長々とコードを書くまでもなく、.NET Frameworkならば、予めクラスライブラリが用意されているでしょう。

昨今ではアプリケーションのプラグインもスクリプト化しつつある。

mallocとfreeを追っかけ徹夜する開発者と、コーディングと数回のデバッグで仕事を終え、定時で帰ってしまう開発者のどちらがカッコいいのでしょう。

「言ってるその言語自体はC言語で出来ているんだ」
そうでしょうね。でもあなたが作った訳じゃないですね。
「C言語じゃないと出来ない処理だ」
そうですね。ただ、それが必要な処理ならば、いずれ誰かがクラスライブラリを作ってくれるでしょうね。
「他の言語は今後仕様が変わってしまう可能性がある」
そうかも知れませんね。きっとその頃には、そのC言語で作られたシステムも作り変えですね。

確かにハードやkernelまわり、組み込み系ならばC言語でしょう。でも今後デスクトップアプリは他の言語に置き換わって行ってしまうかもしれない。

C言語はハードの制御と新しい言語の開発だけに使われ、デスクトップアプリケーション開発で御飯を食べるのが難しくなってしまいC言語使いの仕事と言えば組み込みだけになってしまう近未来が本当にやって来てしまうかも知れない。

C言語使いの凄いところってなんだ?

あるとすればクラッシュの仕方一つで、なんとなく原因が想像出来てしまう事。

時間が掛かる処理で、なんとなく無駄なループのソースが見えてしまう事。

そんな知識がいったい何時まで「凄い」と言われ続けるんだろうか…

「C言語だけでは御飯が食べられない」そんな将来がやってくるのだろうか。


そして近い未来、こんなネタで釣りな記事が@ITやITmediaに掲載されてしまう日が来るんだろうか。

Posted at by




あまり事情も詳しくなく、業種もWebエンジニアではないのでソースは貼らないでおこうと思います。

私はWebエンジニアではありません。確かに仕事でWebもやりますしデザイナさんが書いた画面で製造した事もあります。

色々なブクマを拝見させて頂いて、少しだけ話がそれ始めているんじゃ?と思う事があり、この記事を書いています。

エンジニアとデザイナの対立


一件デザイナさんの世界はチャラけててオシャレな物に見えますし、実際にそうだったりするかもしれない。イベント/パーティ開いて今後のWebをマーケティングと絡め、Webをリードしていくのはデザイナだ!と言ってる風に見えるかも知れない。

それに比べてエンジニアはデザイナの書いた画面を、いかにデータベースと結び付け、ハッキングし、速度劣化を防ぎ、セキュリティホールを塞ぎ、効率良く開発およびテストするかを考え、リードというよりはフィードバックで貢献しているように見える。
私は今回の件を傍観者としてこんな感想を抱いた。

デザイナさんとはエンジニアの事なんて気にせずWebのマーケティングについて模索し続け、業界人と呼ばれてリッチな生活を送るのもある意味良いと思う。イベント/パーティで儲けてもいいと思う。もちろんエンジニアを卑下する事は許されないけど。
ああいったイベント/パーティは、内面的にもWebをビジュアル的に感じられ、いわば「俺達がWebをリードしてやるんだ」くらいの気持ちになれ、興奮出来る要素が必要なのかもしれない。
デザイナさんの中には「エンジニアは俺たちが描いた構図をただ実装してりゃいいんだよ」なんて言う人も居るかもしれない。

私は、あながち間違ってないと感じる。

専門は専門家に任せるべきであって、デザイナは表面を作りエンジニアは内面を作るのが良いと思う。デザイナとエンジニアの間で摩擦が起こる事は、良い物を作る上で不可欠だと思う。それがWebの発展へ繋がると信じてます。

イベント料金について


イベント料が高いという意見は企業としてではなく個人の意見なら全く問題ないと思う。
人によっては安いと感じるかもしれないし、参加してよかったという意見もあるでしょう。
そんな意味で今回、開催者側が収支を公開されたのは私にとってある意味ショックな事でした。できれば「有料イベントですから...」くらいで返すべきではなかったかと思います。

また今回、幾らかの方が不信の念を抱いた件と、amachang氏が不信の念を抱いた件は明確に別件で、混同する事は両者にとってマイナスになり得ると思いました。どちらの件も別途議論すべきです。
もちろんエンジニアがWeb界をリードしていないという訳でなく、amachang氏を始めとする多くの技術力の高いエンジニアがWebを、また開発手法をリードしていって下さっています。

今回のイベント/パーティが明確に招待客のターゲットを決めておられたならば...
Webの新しい世界を精神的の感じたい人、デザインでマーケティングが生まれる事を認識したい方をターゲットにしていたならば...
このイベント/パーティは元々ギークな人間には向かなかったんじゃないかと感じました。


少なくとも私は、ボタンの位置を数ピクセル移動しようか一日迷う仕事よりは、一日中javascriptを書いている方が興奮を得られる方の人間です。
Posted at by




コードを晒け出して下さい。
プログラミングに自信があろうと、無かろうと。
貴方の書いたコードを見たいと思う人がいなかったとしても、晒け出して下さい。

私はオープンソースであることは、素晴らしい事だと信じています。たとえそれが、ちっぽけなサンプルプログラムであっても、人に見せる事で自分の書くコードに「見られる」という観点が入り込み、色んな見えかたが出来るようになります。さらに運が良ければ人からレビューしてもらえるんです。
私は、会社の部下、他社様の若手の方々によく「オープンソースコミュニティに参加しましょう。英語が分からなかったら日本のコミュニティでいいので入りましょう。」と言ってきました。これからも変わりません。
これは、単に「勉強しなさい」と言っている訳でなく、オープンソースコミュニティの特性がコーディング能力を養うには非常に効力があると信じているからです。
オープンソースコミュニティでは、修正ソースを送る際にはパッチ(patch)と呼ばれるソース差分を送る事になります。受け取った側は、そのパッチを一度適応してみて、間違いが無いかを確認します。そのコミュニティがMLを持っているならば、MLに参加している皆にそのソース差分が送付されます。
そして皆が自分の書いたコードに目を通すんです。

「恥しい...」そんな事を思ったのならば勿体ない話です。もちろん腐ったソースコードを人に見せるのはどうか、という議論もありますが、せっかく人に見てもらえるんだから見てもらわなくては損ですよ。

「自信がない...」そんなもの、みんなそうなんです。私だって自分の書いたコードに100点なんかあげられません。でも私は晒け出すんです。間違いを指摘してもらえるんなら、ありがたい話です。
自分で書いたプログラムの間違いを見つけるのは一苦労です。人に客観的に見てもらった方が間違いには気づきやすかったりします。そして人のソースも見ることで自分のソースコードの貧弱さに気づいたり、時には自信につながったりする物なんです。
#海外のコミュニティで自分が書いたソース差分が初めて取り込まれた...なんて事あればドキドキしますよ。


それはそうと、ここ最近「どう書く?org」というサイトを時間を見つけては覗いています。
ここでは、プログラミングに関する出題に対して、色々な言語の使い手が色んな手法で回答していきます。面白いのでfeedも登録しています。
電車で帰宅する際にも携帯から「へぇ...こんな書き方もあるんだ」と眺めてます。
一見コード書きに自信のある人達の集まりに見えますが、おそらく皆自分のコードに100点を付けて回答している訳ではないと思います。(HelloWorldは除きます)
「もしかしたら間違ってるかも」と思いながら回答している方も多いと思います。でも晒け出すんです。「俺こんなコード書けるんだぜ」なんて自慢大会じゃないんです。プログラミングを楽しんでいるんです。自分の書いたコードを見てもらい、たった一人でも「へぇ」と思ってくれる人が、もしかしたらいるんじゃないか?そんな気持ちだと思います。

コードを見せる人によっては、時には「そんな書き方、2億年前からあったよ。」とか「それ実行すると10秒後にはホームディレクトリが無くなってるよ」なんて手厳しいコメントを貰うかもしれません。でもそれって有り難い話。人に見せない限りそんなコメントは貰えません。


人に見せてなかったら、今頃貴方のハードディスクからホームディレクトリが無くなっていたかも知れませんよ...
Posted at by