> HTML character encoding, decoding and tag stripping
- HTML文字エンコーディング、デコーディングとタグの除去
> SAX style XML parsing
- SAXスタイルのXML解析
> REGULAR EXPRESSIONS
- 正規表現
> Array sorting, custom sorting
- 配列のソート、条件をカスタマイズしたソート
> md5 and sha1 hashing
- md5及びsha1ハッシング
> It can natively connect to the most popular Database engines around.
一般的なデータベースエンジンのほとんどにネイティブに接続可能。
> It comes prepackaged with graphics manipulation capabilities (GD)
グラフィック操作機能(GD)が同梱提供されている。
> *Community
*コミュニティー
> It has an active community open to new ideas and ready to help noobs and experts alike:
新たなアイディアにも開かれ、初心者にも熟達者にも役に立つ、以下のような活動的なコミュニティがある。
> mailing lists
- メーリングリスト
> IRC Channel: irc://irc.freenode.net/php
- IRCチャネル: irc://irc.freenode.net/php
> Some of the most popular open-source projects in the world are written in it including:
以下のような世界的に最も知られたオープンソースプロジェクトで使われている
> MediaWiki (which powers Wikipedia)
- MediaWiki (Wikipediaのエンジン)
> phpBB
- phpBB
> WordPress
- WordPress
> Joomla! (formerly known as Mambo)
- Joomla! (旧Mambo)
*****
これに続けて、よくあるPHPに関する反論が並んでいるのですが、以下のように読める内容でした。
静的型付けはダメ。でも説明としてリンクしている先を見ると、ダメな理由の最初がコードのタイプ量が長くなるから。
namespaceはないけれど、関数名の衝突はクラスでうまくwrapすれば実用上は問題ない。
グローバルは"Globals can save your life." と言えるぐらいに必要。
PHPは貧弱なプログラミング習慣を広めるというが、PHPが多くのひと、特に新たなコーダーにアピールしているのは、どこでも使える(ユビキタス)だから。
>*組み込み機能 > >> It comes with a vast array of built-in functions to do all sorts of common tasks. Here are a few off the top of my head: > > 広範囲の組み込み機能が提供されていて、あらゆる種類の一般的なタスクを行うために使用できる。思いついた例を示す
Defending PHPから抄訳してみた (スコア:5, 参考になる)
*****
> PHP is awesome
PHPすごい
> Need proof? Here it is, broken down by category:
証拠を示せ?カテゴリー別にどうぞ。
> *Language Features
* 言語としての特徴
> It's dynamically typed.
動的型付けになっている。
> All arrays are associative (hashes)
すべての配列は連想配列(ハッシュ)だ。
> It's object oriented with a reflection API.
オブジェクト指向で、リフレクションAPIを持っている。
> It uses different operators for numeric addition (+) and string concatenation (.)
数値の加算(+)と文字列の結合(.)に異なる演算子を割り当てている。
> It supports eval() and lambdas (somewhat)
eval()とlambda(的な機能)をサポートしている。
> Can execute system commands and read from local and remote files (all one-liners)
システムコマンドを実行し、ローカルファイルやリモートファイルを読むことができる。(すべて1行で書ける。)
> Supports coercing scalars into boolean decisions (means you can just do if($x) instead of if($x!=null && $x!=0 && $x!=false ... )
スカラーを論理判断に強制使用することができる。(つまり、
if($x!=null && $x!=0 && $x!=false ...
のかわりに
if($x)
と書ける)
> Usable in both web and command-line contexts
webコンテクストとコマンドラインコンテクストの両方で使える。
> *Built-in Functionality
*組み込み機能
> It comes with a vast array of built-in functions to do all sorts of common tasks. Here are a few off the top of my head:
広範囲の組み込み機能が提供されていて、あらゆる種類の一般的なタスクを行うために使用できる。思いついた例を示す。
> Base 64 encoding and decoding
- Base64エンコーディングとデコーディング
> URL encoding and decoding
- URLエンコーディングとデコーディング
> HTML character encoding, decoding and tag stripping
- HTML文字エンコーディング、デコーディングとタグの除去
> SAX style XML parsing
- SAXスタイルのXML解析
> REGULAR EXPRESSIONS
- 正規表現
> Array sorting, custom sorting
- 配列のソート、条件をカスタマイズしたソート
> md5 and sha1 hashing
- md5及びsha1ハッシング
> It can natively connect to the most popular Database engines around.
一般的なデータベースエンジンのほとんどにネイティブに接続可能。
> It comes prepackaged with graphics manipulation capabilities (GD)
グラフィック操作機能(GD)が同梱提供されている。
> *Community
*コミュニティー
> It has an active community open to new ideas and ready to help noobs and experts alike:
新たなアイディアにも開かれ、初心者にも熟達者にも役に立つ、以下のような活動的なコミュニティがある。
> mailing lists
- メーリングリスト
> IRC Channel: irc://irc.freenode.net/php
- IRCチャネル: irc://irc.freenode.net/php
> Some of the most popular open-source projects in the world are written in it including:
以下のような世界的に最も知られたオープンソースプロジェクトで使われている
> MediaWiki (which powers Wikipedia)
- MediaWiki (Wikipediaのエンジン)
> phpBB
- phpBB
> WordPress
- WordPress
> Joomla! (formerly known as Mambo)
- Joomla! (旧Mambo)
*****
これに続けて、よくあるPHPに関する反論が並んでいるのですが、以下のように読める内容でした。
静的型付けはダメ。でも説明としてリンクしている先を見ると、ダメな理由の最初がコードのタイプ量が長くなるから。
namespaceはないけれど、関数名の衝突はクラスでうまくwrapすれば実用上は問題ない。
グローバルは"Globals can save your life." と言えるぐらいに必要。
PHPは貧弱なプログラミング習慣を広めるというが、PHPが多くのひと、特に新たなコーダーにアピールしているのは、どこでも使える(ユビキタス)だから。
どうも、ひいきの引き倒し感の強い文章に思えたのですが、PHP書きのひとがどう思うのか興味のあるところ。
Re:Defending PHPから抄訳してみた (スコア:1)
無ければそれこそがPHPのオリジナルで、"PHP is awesome"たる所以だと思いますが、それっぽいところが見当たらないように感じます。
だからどうのこうのは言いませんが、反論になってないように感じてしまいますね。
Youthの半分はバファリンでできています。
Re:Defending PHPから抄訳してみた (スコア:1)
ただし、かなり悪い方向で。
配列関数群のあのカオス具合は何とかして欲しい。今更どうにもならなそうだけど。
Re:Defending PHPから抄訳してみた (スコア:1)
そしてperlでtieを使えばhashなarrayは作れます。疑似ハッシュとか既に発明済みですし。
全部がオブジェクトなrubyでも継承でわりと簡単に作れそう(知らないので憶測)
つ~かその実装をベースとすることが優れているならともかく、hashがarrayであるperlの方が融通が効くような気がしてならないのです。
で、それ本当にすごいの?と。
Youthの半分はバファリンでできています。
Re:Defending PHPから抄訳してみた (スコア:1)
ECMAScript: PHP:
Re:Defending PHPから抄訳してみた (スコア:1)
Re:Defending PHPから抄訳してみた (スコア:1)
Re: (スコア:0)
>
>> It comes with a vast array of built-in functions to do all sorts of common tasks. Here are a few off the top of my head:
>
> 広範囲の組み込み機能が提供されていて、あらゆる種類の一般的なタスクを行うために使用できる。思いついた例を示す
これ以下に列挙されているものが「組み込みだ」ってあたりがPHPならではかも。
PerlやRubyでは、仮に標準添付されたものであろうと、こういうのはライブラリをrequireしますよね。
そりゃ方便でしょう (スコア:1)
しかし初心者に限って言えば
Perlの初心者だと簡単なライブラリは自作してしまうところをPHPでは避けられるのは大きいかも知れませんね。
でもそれって実装の問題ではなくて声が大きいかどうかの問題だと思う。
Youthの半分はバファリンでできています。
Re: (スコア:0)
# 恣意的=単なるその場の思いつき
Re: (スコア:0)