«前の日記(2008年01月25日) 最新 次の日記(2008年01月27日)» 編集

Matzにっき

<< 2008/01/ 1 1. 年賀状
2. ゴビウス
3. [Ruby] ZSFA -- Rails Is A Ghetto
2 1. 新年会
3 4 1. The Mythical 5%
5 6 7 8 1. [言語] Substroke Design Dump
2. [言語] A programming language cannot be better without being unintuitive
3. [OSS] McAfee throws some FUD at the GPL - The INQUIRER
9 1. [言語] Well, I'm Back: String Theory
2. [言語] StringRepresentations - The Larceny Project - Trac
10 1. [Ruby] マルチVMでRubyを並列化、サンと東大が共同研究 − @IT
2. New Generation Chronicle:小飼弾−−35歳からのプログラミングこそ無上の至悦 - ITmedia エンタープライズ
3. ONLamp.com -- How Will History View Richard Stallman?
4. [Ruby] Ramaze: a Ruby framework that will amaze | Zen and the Art of Ruby Programming
5. [言語] REBOL 3.0 Alpha Public Release
11 1. [言語] Thanks Zed; Syntax matters; no more dumping stuff in Java; Quit pimple pimping Ruby; Scala warning
12 1. [Ruby] An Agile Way > 島根で Ruby と Agile : ITmedia オルタナティブ・ブログ
2. [言語] TIOBE declares Python as programming language of 2007! - comp.lang.python | Google グループ
13 1. [教会] 出番多し
2. [教会] マルコフ連鎖(もどき)
14 1. 風邪ひいた
2. [Ruby] Obie Fernandez: About Rails and Ghettos
15 16 17 18 1. 詐欺(未遂)
19 1. [教会] 掃除
2. X61 インストール問題
20 21 1. X61 with Linux 2.6.18
2. 梅田望夫さんとの対談(その2回目)
22 1. 取材
23 24 1. 地域情報化セミナー in 松江
2. 私は「信頼できる」人か?:ITpro
25 1. 取材
2. 講義
3. まつもとゆきひろと語る会
4. [言語] その文字列はセーフ? 本当は奥深いデコード処理 − @IT
26 1. 実家へ
2. ひげを剃った
3. [Ruby] James on Software: Ruby Reddit
4. [言語] Attacking PHP
27 1. 髭を剃った(2)
28 1. 散髪
2. asahi.com:副検事、特急列車「止めて」 松本駅乗り過ごし停車 - 社会
3. [Ruby] コミッタになった - まめめも
4. [OSS] NokiaがノルウェイTrolltechを買収へ、ソフトウェアを強化 | 経営 | マイコミジャーナル
5. [Ruby] ruby, java Job Trends | Indeed.com
29 1. [言語] PHP使いの反論
2. [言語] 安全なWebアプリのために言語ができること
30 1. ITPro Expo
2. 楽天ミーティング
3. 海外出張計画
31 1. ITPro Expo
2. 自分の経験の枠組みは自分で変えられるか? - アンカテ(Uncategorizable Blog)
3. [言語] やじうまWatch: 広く使われるプログラミング言語「PHP」を巡る議論に注目集中
>>

2008年01月26日 [長年日記]

_ 実家へ

私の両親が1年間の任期で東京での「ボランティア」の途中で 1週間だけ実家に帰ってくるということで、家族総出で米子へ。

昼食をいただいたり、おしゃべりをしたり 大変楽しい時間であった。 途中、私はうとうとしてしまったけど。

_ ひげを剃った

ふと、思い立って髭を剃ってみた。

しかし、家族の誰も気づかない。 夜寝る前になってやっと次女が気づいた。

そんなもんだ。

_ [Ruby] James on Software: Ruby Reddit

私の情報源のひとつ、Redditがsub reddit作成をユーザに開放した ということで、Ruby Redditができた。

他にもHaskellやScalaができてるみたい。

_ [言語] Attacking PHP

PHPがいかに駄目な言語か、という話。

  • いろんなものがfalseだったりするせいで、新たな比較演算子「===」が必要
  • hashやlistがobjectが区別できない
  • オブジェクト指向機能が壊れている
  • lambda(無名関数)がない。create_functionはlambdaじゃない
  • short_open_tagsやらsafe_modeやらregister_globalsがonになってるかもしれない
  • 一貫性のない名前(str_replace,strlen,parse_strとか)
  • 引数の順番がわかりにくい(in_arrayとかstrposとか)
  • strpos('abcd','a')は0を返すが、0は偽である
  • PHPで書かれたたくさんのアプリがあるがどれもHTMLとロジックが分離されてない(本当?)
  • 「PHPは初心者に学びやすい」と言われる。確かにそうかもしれないが、 おかげでどれだけのSQLインジェクションやらXSS脆弱性やら、 ひどいコードが放置されていることか
  • グローバル。使うんじゃないってば。

もちろん、反論もあるだろう。たとえば「Defending PHP」とか。

でも、個人的にはやはり否定側の方が筋が通ってる印象かな。

特に「PHPは初心者に学びやすい(と言われていることが問題である)」という部分に共感する。 PHPは初心者に簡単かもしれないが、初心者による手を抜いたWebアプリケーションは PHPが作られた当初はともかく、現代では害悪ではないだろうか。

Webアプリケーションをなめるな

PHPならではの理由がないわけではないことはわかる。 どこでもインストールされているとか、 デプロイが簡単とか。

でも、「初心者に簡単」を一般公開されるWebアプリケーションを 開発するための言語としての利点にするのはもうやめようよ。

追記

どの言語で書いてもおかしなコードを書く奴は書く」と いう指摘もあった。それは言うまでもない事実ではある。そこには反論しない。

が、本当に問題なのは、世の中には「おかしなコードを書くことを助長する言語」もある という点だ。 で、そういう言語にはおおむね「初心者にやさしい」というラベルがついている。 どういうわけだか。

たぶん、「初心者がおかしなコードを書くのをじゃましない」とか あるいは「初心者っぽいコードを積極的に支援する」から、「初心者に優しい」って呼ばれるんだろう。 もしくは「設計者がまだ初心者」とか。

そういう言語が存在しちゃいけないとは言わないけど(人に迷惑をかけない範囲で)、 ここ半世紀の言語の進化をないがしろにするのはもったいないと思うな。


«前の日記(2008年01月25日) 最新 次の日記(2008年01月27日)» 編集