Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Matzにっき(2008-02-06)
[go: Go Back, main page]

«前の日記(2008-02-05) 最新 次の日記(2008-02-07)» 編集

Matzにっき

<< 2008/02/ 1 1. 「ハッカーと画家」の著者が新しいLisp系言語「Arc」を公開 | エンタープライズ | マイコミジャーナル
2. 「セキュリティ、なめんなよ!」 なめねこも一緒に情報セキュリティ強化宣言 | ネット | マイコミジャーナル
3. 「サイオステクノロジーはグルージェントの未来技術に期待し子会社化」:ITpro
2 1. Nimble Method: Garbage Collection is Why Ruby on Rails is Slow: Patches to Improve Performance 5x; Memory Profiling
2. LuaJIT roadmap 2008
3. What will Matz do?
4. EURUKO 2008 − European Ruby Conference, Prague, March 29th − 30th
3 1. 末娘の成長
2. ゴードン・B・ヒンクレー葬儀および埋葬
4 1. 初心者向けの言語
2. ソフトウェア開発における初心者
3. Linux 2.6.24 on Thinkpad X61
5 1. Copy-on-write friendly patch for Ruby 1.9
2. セキュリティキャンプ・キャラバン with プログラミング -鳥取-
3. 最もタメになる「初心者用言語」まとめ - UK is not Britonish - ハチロク世代
4. Ruby.NET is dead | Zen and the Art of Ruby Programming
5. 立ち位置と情熱とバランス感覚:ITpro
6 1. 思わずうっかりついポロリ!これがエンジニアの失言だ/Tech総研
2. Ruby Waves: Home
3. Static Languages: Rationalizations and Myths :: Steve Vinoski’s Blog
4. バランスボール
7 1. microBlog >> Bounties for bug fixers: a bug-tracker plugin
2. Years of irrelevance - (37signals)
8 1. 米子工業高校 情報電子実習
2. たこ焼きパーティ
3. Garbage-first garbage collection
4. Bigtableオープンソース実装2題
9 1. Beautiful Code + 日経Linux
2. use Perl | Perl is now Y2038 safe
3. CPython用拡張モジュールをIronPythonから呼び出す (1) 「CPython Extensions for IronPython」とは? | マイコミジャーナル
4. プログラミング言語の進化を追え: 第1回 サルでも分かるプログラミング言語の新潮流(前篇)
10 1. 福千年
11 1. Life is beautiful: 原点に戻って徹底的に納得するまで理解する
2. スケート
3. SEDA - Architecture for Highly-Concurrent Server Applications
12 1. 取材
2. nishimotzの日記 - Rubyのチカラ
13 1. デブサミ2008 1日め (ディープな1日)
14 1. デブサミ2日目
2. PythonをDISる。
3. Pre New Generation Chronicle:上野康平−−3次元空間を統べる若き天才プログラマー - ITmedia エンタープライズ
4. New Generation Chronicle:べにぢょ−−ギークプロトコルの解読を試みるサイバーヤンキー - ITmedia エンタープライズ
15 1. 米澤先生講義
2. 京都 - jkondoの日記
3. 「島根県CMS」のオープンソースとしての公開について
16 1. io - Objective-C Syntax
2. InfoQ: John McCarthy on Elephant 2000, Lisp, Ruby and the Computer Industry
17 1. 風邪引き
18 1. 渡米
2. Matzに聞いてみた:効率の良い開発についてどうお考えでしょう? - builder by ZDNet Japan
3. レノボX300 封筒に入る超薄型ThinkPad - Engadget 日本語版
4. Hilton San Francisco
19 1. Sun Microsystems
2. A small example of the hidden dangers of dynamically typed programming languages.
3. Curlは関数型?というか、カオス - noblog
4. Time to rewrite DBMS, says Ingres founder | Reg Developer
5. almost effortless >> El Dorado
20 1. Google TechTalk
2. B・ゲイツ氏、マイクロソフトとスタンフォード大学の結びつきを強調:ニュース - CNET Japan
3. 月蝕
4. greenlet Lightweight in-process concurrent programming
21 1. オレゴンOTBC
2. オレゴンディナー
22 1. 帰還
2. しまねOSS協議会などに「地域づくり総務大臣表彰」:ITpro
3. Matz×Dan×Daiji「エンジニア進化論」|「てくらぼ」オープニングイベント スペシャル対談開催|パソナテック(PASONA TECH)
4. 【インタビュー】Love Code, Love CodeGear! - 22年目の親愛なるコードオタクDavid I参上 Love Code, Love CodeGear! | マイコミジャーナル
23 1. 帰還(2)
24 1. 帰還(3)
2. Happy Birthday Ruby
25 1. 帰還(4)
2. 誕生日
3. programming: Google TechTalk: Matz on Ruby 1.9
4. Virtuous Code > Monkeypatching is Destroying Ruby
26 1. KIISセミナー
2. 国内ベンチャーの海外進出ってどうなの?:CNET Japan オンラインパネルディスカッション - CNET Japan
3. アドビ、SQLite Consortiumに参加で開発を支援:ニュース - CNET Japan
27 1. 楽天ミーティング
2. 楽天、電子マネーサービス「楽天キャッシュ」を開始
28 1. MacRuby - ruby - Trac
2. Ruby, a message to you >> Boy, what ISN'T destroying Ruby these days?
29 1. 1.9.0-1 リリース準備
2. Webエンジニア武勇伝 第18弾 笹田耕一氏 | 株式会社ウェブキャリア
>>
迷惑メール対策なら Dr.WEB
『Dr.WEB メールデーモン』、MTA 用迷惑メール対策製品です!


2008-02-06 [長年日記]

NEW!_ 思わずうっかりついポロリ!これがエンジニアの失言だ/Tech総研

はてなブックマークで私の日記のエントリを見ると、 この記事への宣伝リンクが入るのだが、 それは「お前のPHP関連のエントリは失言だ」と、 はてなに認定されている、と。

そういうことでいいのか(笑)。

NEW!_ [Ruby] Ruby Waves: Home

新しいWebアプリケーションフレームワークRuby Waves。

Waves is feature-rich, compact, and extensible. Waves is thread-safe, hot-patchable, and supports easy clustering. Waves relies on best-of-breed Ruby libraries, including Rack, Mongrel, Sequel, Markaby, and Erubis, among others. And it uses just-in-time class and module creation to minimize the code you have to write.

MerbといいWavesといい、ポストRailsを狙っている(?)フレームワークが登場することは 大変健全なことだと思う。競争のないところに発展はない。

複数選択肢があるということはマーケティング的には善し悪しなんだけどね。

NEW!_ [言語] Static Languages: Rationalizations and Myths :: Steve Vinoski’s Blog

「動的言語批判」への批判。一読あれ。

ちょっと読んでみるとわかるけど、 この批判って単なる「静的言語が優れている」という意見への批判を越えていて、 実は批判の対象は「単一の言語しか知らないユーザの思い込み」ではないかと。

単一言語脳の恐怖

というか、なんというか。

ひとつしか言語・環境を知らないと、 それがすべてであり最良であるとしばしば思い込む。 そりゃひとつしか知らなけりゃ、それが最良だよね。 で、知りもしないくせに他の言語・環境に噛みつく、と。

ぜひ、プログラマ諸氏には、複数の言語・環境を経験していただきたい。 たとえ仕事に直接使えなくても。とくに両極端な選択がいいな。

「CとRuby」とか、「JavaとLisp」とか、「EclipseとEmacs」とか。 「ForthとScheme」とか。「HaskellとC++」とか、「APLとPerl」とか。

NEW!_ バランスボール

目の前の席の同僚(特に名を秘す)がイスをバランスボールに置き換えた。

ま、それはそれでよいのだが、 スクリーンの向こうで彼の背中が上下にゆらゆらと揺れると 普段のイメージとのギャップもあいまって なごんでしまって、しょうがない。

あ、なごむんだから、いいのか。

本日のツッコミ(全26件) [ツッコミを入れる]
_ tohi (2008-02-06 19:30)

うちの会社でもはやっています。

_ popn.ja (2008-02-06 20:58)

ひとつしか言語を知らないプログラマさんはどの程度いるものなのでしょうか?
自分は子供の頃にBASICがあって、高校生でX68kのアセンブラ以降色々な言語をその時々に応じて使ってきたので、ひとつしか知らないっていうのがいまいちピンとこないです。

_ じょりちょこ (2008-02-06 21:20)

僕は、50代になってVBしかできないという人を何人も知っています...

それはそれとして、僕は完全に動的言語派です。Common Lispのようにオプションで型宣言することで最適化を促すのは好きですが、静的型付けによって早期にバグを発見するというやり方にはあまり馴染みません。
型推論とgenericがあればブックキーピングを最小に抑えた上で型安全を実現できるというのはわかります。わかるのですが、型のことまで考えて「何が本質的か」ということを見抜く力が僕には不足しているようで、ちょっと複雑なプログラムになると頭がパンクします。
といって型推論とgenericを避けて明示的に型宣言をする言語になると、ブックキーピングが繁雑過ぎてダルいとしか言いようがありません。
たぶん、静的言語が好きだという人は、コンパイラに型矛盾を指摘してもらって思わぬエラーを発見できた体験があるのでしょうね。僕は、どうもあまりそういう体験がありません。ボトムアップに書くからでしょうか、短いコードブロックの中では型矛盾はほとんど起こらず、しかし、ボトムアップに書いているとき、トップレベルから見たときの型の名前を見通していることって全然ないんですよね。型aのためのユーティリティを書いている、としか言いようがないんですよね(その型aの型が決まるのは、すごく後の方なんです)。

_ コアラ似のおじさん (2008-02-06 21:43)

うちの関連会社さんには、
Cしか知らない人や
VBしか知らないプロのプログラマーさんがたくさんいます。

_ (2008-02-06 22:43)

SchemeとForthってわりと似てる気がするんですが、両極端ですかね?

ちなみにわたしの隣では、バリバリのHaskellerが泣きながらC++でプログラミングしてます(笑)。

_ 単一言語脳 (2008-02-06 23:28)

多くの言語を知ることが常に良い結果をもたらすとは思えない。人の能力には大きく幅がある。数多くの言語を学んでもその多くが人並み以上にできる人ならばいい。そうでない人はむしろ一つに集中しなければ十分に習得できないのではないか。多くの言語を学んだとてそのいずれも中途半端なら何も知らないのと等価だ。

_ まつもと (2008-02-06 23:35)

単一言語脳さん、
あなたご自身が複数の言語を学んだがその知識は役に立たず、何も知らないのと同じだった、という実際の経験をお持ちでしたら貴重な例として拝聴します。
実際にはひとつしか言語を知らないが、複数の言語を学んでも役に立つ「気がしない」というのであれば、それはまさに名乗り通りの「単一言語脳」の一症例でしょう。

_ popn.ja (2008-02-07 00:00)

相反する言語を2つほど習得するだけでも、プログラミングに対する考え方(と言えばいいのかな?)に幅が出てきていいと個人的には思います。

_ ハードウェア即身仏 (2008-02-07 00:04)

Matzさん、是非とも貴殿の言語コレクションに、極め付きの静的言語であるVerilogかVHDLを加えてください。見た目はC言語風だったり、Pascal風だったりしますが、対象が対象なのでかなりキテマス。Rubyで書いていても、「あの機能があれば..」と思う機能が幾つか見つかると思います。
最近はFreeなコンパイラやシミュレータも有るようですし...

_ 元職業プログラマ (2008-02-07 00:25)

単一言語脳さん
「多くの言語を知ることが常に良い結果をもたらすとは思えない。」→(多くの言語を知ることがたまには良い結果をもたらす。)∴「多くの言語を学んだとてそのいずれも中途半端なら何も知らないのと等価だ。」というのは、少し矛盾していませんでしょうか?

Well, Python は、the attributes of classes and instances の capsuling は、Yet 出来ないのでしょうか?

_ ららら (2008-02-07 01:14)

どっぷりとプログラミング言語の世界に浸るにはPOPLやPLDIの最新の論文を読むのがいいです。

_ (ぱ) (2008-02-07 03:57)

CとC++とJavaとC#知ってます、というのでは、「単一言語脳の恐怖」から逃れたことにはならないのですよね。きっと。
私は、「言語ひとつ習得するには、仕事でフルタイムで使って半年かかる」と思っています。CあがりのプログラマがJavaを使って、全部staticメソッドで書いていたら意味ないですし。

_ Chiharu (2008-02-07 08:30)

両極端な言語ですか…。Postscriptも言語のうちでしょうか。
最近仕事で触れる機会が多いです。スタック言語というようですが、インタプリタ書きやすそうなのと、遅延評価が容易なあたりが、C/C++に慣れていた自分には新鮮です。…ただ、どちらが扱いやすいかは…、好みもあるんでしょうが、PSは常用したくないなぁと思います…。

_ とおりすがり (2008-02-07 09:28)

http://itpro.nikkeibp.co.jp/article/OPINION/20080206/293139/
今回の件に触発されたんでしょうか?
日経ソフトウェアの記者さんがPHPに一言書いています。内容は「あーでもあるが、こーでもある」という感じのものですけど。
特集で「初心者におすすめ」を声高に叫んだことを少し気にしたのかなぁ?真意はわかりませン。(笑)

_ 単一言語脳 (2008-02-07 11:29)

前者。憧れで名乗ったが実際は無言語脳だ。複数の言語を習得できた人はgiftedである。その経験は同じgifted同士でしか共有できないことを認識するべきだ。

_ まつもと (2008-02-07 11:42)

単一言語脳さん、
プログラミングに興味が持てない人、言語を習得できない人、やる気を持てない人などがいることは認識しています。
が、そういう人たちの存在を認識していたとしても、その人たちは今回の話のスコープ外です。万人を救済する方法なんて思いつきませんもの。
その方面に才能や希望を見いだせない人は、他の業界に転身するのがよいのかもしれません。
プログラミングだけがすべてではないのですし。

_ 元職業プログラマ (2008-02-07 23:05)

びさん
>ちなみにわたしの隣では、バリバリのHaskellerが泣きながらC++でプログラミングしてます(笑)。
抽象化はもちろんの事、Boost C++ライブラリ or STLを使っても泣かなければいけないのでしょうか?

それと、Rubyのソースは結構greatですね。特にeval.c and parse.cが。

_ 石蕗 (2008-02-07 23:26)

XMLは学ぶ気になれません

_ 元職業プログラマ (2008-02-09 16:08)

>XMLは学ぶ気になれません
XMLは、学ぶというほど難しいものなのでしょうか?
尚、私は、XMLは冗長過ぎるので、地球環境の事を考えると、あまり使いたくありません。(さすがに、HTMLまでは否定しませんが。)
因みに私は、モヒカン&バイナリ族に属していますので、Rubyのpack、unpackメソッドは、たまに重宝します。

_ じょりちょこ (2008-02-09 19:06)

XMLそのものは簡単だけど、周辺技術が...

_ 元職業プログラマ (2008-02-09 22:41)

じょりちょこさん
>XMLそのものは簡単だけど、周辺技術が...
XMLそのものについての周辺技術の、どの辺がそんなに複雑なのでしょうか?

_ Lyiase (2008-02-10 04:40)

>> じょりちょこさん
>XMLそのものは簡単だけど、周辺技術が
それには同意しますね。
XML自身が柔軟すぎて、勉強しにくいというより、疑問を持ってしまうってことは結構ありますね。
多分、これはLLな言語でもかなり型を気にしてしまう性分なんでしょうが。

>> まつもとさん
>単一言語脳の恐怖
確かに両極端の複数言語をやるって重要ですね。
特に動的言語と静的言語を経験しないと分からないことは結構あると思います。
以前のPHPの一件でまつもとさんが仰ったように、一つのプログラミング言語だけ見てると盲目になりがちですよね。
ただ、それは両極端というより、理念が異なる言語が良いと思います。例えば、PerlとRuby。両方ともLLな言語ですが、理念は全く持って違いますよね。
そういえば、単一言語脳と言えば、ちょっと前はC++かCだったような気がしますが、今はPHPとかJavaなんですかねぇ。

>で、知りもしないくせに他の言語・環境に噛みつく、と。
ああ、耳が痛い(笑)

_ じょりちょこ (2008-02-10 12:11)

XMLを使い始めると、XMLを利用する各種テクノロジーと接点が出てきます。XMLが糊の役割に徹してくれていると良いのですが、往々にしてXMLを介して接した向こう側も習得せざるを得ません。XMLを利用するテクノロジーは非常に多く、かつ、仕様が枯れていないので、いつまでたっても過渡期が終わらないという印象です。

_ 元職業プログラマ (2008-02-10 15:13)

じょりちょこさん
>往々にしてXMLを介して接した向こう側も習得せざるを得ません。
XMLは、ある意味では、この様なことを防止するために仕組みだと理解しているですが、XMLデータを交換するに当たって、「XMLを介して接した向こう側の」、どこの習得がそんなに大変なのでしょうか?
具体例を教えていただけませんでしょうか?

_ じょりちょこ (2008-02-10 22:13)

たとえばXSLTをおぼえないといけなかったりしますよね。

_ 元職業プログラマ (2008-02-11 10:09)

>たとえばXSLTをおぼえないといけなかったりしますよね。
ご教示有難うございました。

お名前:
E-mail:
コメント:
本日のリンク元

«前の日記(2008-02-05) 最新 次の日記(2008-02-07)» 編集

RSS feed meter for http://www.rubyist.net/~matz/ Creative Commons License This work is licensed under a Creative Commons License.