こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

PerlやPHP、Rubyはどの準拠でしょうか。

HTMLやCSSはW3CでFlashやJavaScriptはECMA準拠ですが、PerlやPHP、Rubyの準拠を調べても検索結果がなかなか見つかりません。ご回答お願いします。

もし良かったらCやC#、Javaなど他の言語の準拠を教えていただければ幸いです。

投稿日時 - 2008-02-11 21:45:27

QNo.3766944

暇なときに回答ください

質問者が選んだベストアンサー

う~ん。私は、準拠は有ったり無かったりするものじゃなくて、
したりしなかったりするものじゃないかと思った。
例えば、「このHTML記述はHTML4.01仕様(規格,標準)に準拠している」みたいな使い方をするのでは?

> 規格乱立を防ぎ、消費者や開発者の混乱を避けるためにあるものだと考えています。
規格乱立って言うのは、例えば同じC言語を名乗っているのにお互いに互換性がないものが存在するとかそういうことかな。
それならそういう役割もあるかなあ。

でも競争云々はぴんと来ない。

> RubyはC言語ベースで作られているとしたら、とっつきやすく将来性もあるじゃないかなと思いますが、どうでしょうか。
言語仕様とその言語の処理系(インタプリタとか)の作成言語との間には全く関連はありませんよ。
実際RubyはC言語とは言語体系は全く違いますし。

> 「デファクトスタンダード(業界標準)」と説明すれば一番分かりやすいかも知れませんが…。
Perl、Ruby、PHPは標準化機関によって定められた標準(デジューレスタンダード)はなく、
デファクトスタンダードがあるのみということになりますね。




以下は適当な和訳。何となく訳してみたくなったのでやってみた。
私は英語が苦手ですから鵜呑みにしないように(笑)

> There is no written specification or standard for the Perl language, and no plans to create one for the current version of Perl.
Perl言語の明文化された仕様や標準は存在せず、現行バージョンの仕様を作成する計画もない

> The main implementation is produced by The PHP Group and released under the PHP License.
> This implementation serves to define a de facto standard for PHP, as there is no formal specification.
主な実装はPHPグループが作成しており、PHPライセンスの下でリリースされている。
PHPには正式な仕様は存在しないので、この実装はPHPのデファクトスタンダードを規定する役割を果たす。

> Ruby still lacks a specification, the current C implementation being the de facto reference specification.
Rubyにはまだ仕様が存在せず、現在のC実装が事実上のリファレンス仕様となっている。

投稿日時 - 2008-02-12 02:40:49

お礼

代わりに翻訳していただいてありがとうございました。参考になりました。要するには自分のあったプログラム言語を選ぶのが一番ですね。

投稿日時 - 2008-02-13 08:50:48

ANo.5

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.4

質問文の「準拠」という言葉の使い方にかなり違和感を感じるのですが、どういう意味で使ってます?
なんか、「標準」とか「規格」と混同してるように思えてならないんだけど。

投稿日時 - 2008-02-12 00:22:05

お礼

私も「準拠」と「標準」と「規格」という言葉は少々違和感を感じています。私の説明の仕方に問題があると思います。「デファクトスタンダード(業界標準)」と説明すれば一番分かりやすいかも知れませんが…。

要するには企業は利益追求するために下らない競争をする(言い方は悪いかも知れませんが…)。そして消費者や開発者に混乱を与えてしまう。

つまり、「どういう意味で使っています?」と答えれば、PerlやPHP、Rubyは他の企業からその言語をシェアを奪って、より簡単な言語を開発して利益をあげるような行為をすること。その背景に消費者や開発者の混乱が避けられなくなること。その規格団体が過当な競争を防止するためにデファクトスタンダードとか準拠とかを決めて、過当な競争を止めるようにすることかな。というわけで、PerlやPHP、Rubyに準拠はあるかと知りたかったということだけだよ~^^;。でも結果的には下記のご回答から、やはりないそうですね。

ご回答ありがとうございました。参考にさせていただきます。

投稿日時 - 2008-02-12 00:59:00

ANo.3

何らかの規格団体により承認を受けた規格として存在するかということであれば、
Perl、Ruby、PHPのいずれもそういったものはありません。
ないものを探しても見つからないのは当然でしょう。

C#はJIS規格にもなっていたと思いますが、現状でMSがリリースしている
バージョンとマッチしているかというと、違うと思いますが。

投稿日時 - 2008-02-12 00:14:19

お礼

ご回答ありがとうございました。参考にさせていただきます。

やはり、ないのはないでしょうね。

投稿日時 - 2008-02-12 00:47:30

http://en.wikipedia.org/wiki/Perl

There is no written specification or standard for the Perl language, and no plans to create one for the current version of Perl.

http://en.wikipedia.org/wiki/PHP

The main implementation is produced by The PHP Group and released under the PHP License. This implementation serves to define a de facto standard for PHP, as there is no formal specification.

http://en.wikipedia.org/wiki/Ruby_(programming_language)

Some problems that may not be solved in version 2.0 include:

* Ruby still lacks a specification, the current C implementation being the de facto reference specification. [11] [12] .

http://en.wikipedia.org/wiki/C_(programming_language)#C99

further revision in the late 1990s, leading to the publication of ISO 9899:1999 in 1999. This standard is commonly referred to as "C99." It was
adopted as an ANSI standard in May 2000.

http://www.ecma-international.org/publications/standards/Ecma-334.htm

http://en.wikipedia.org/wiki/Java_Community_Process

投稿日時 - 2008-02-12 00:01:37

お礼

ご回答ありがとうございました。

wiki日本語版ではあまり詳しく書かれていませんね。英語でしたら詳しく書かれているようですね。時間をかけて調べてみたいと思います。私は正直あまり英語力はありませんが、それでも調べてみます^^;

Perl,PHPは準拠(標準?)されず、Rubyは仕様が欠如されているが、Cベースの参照仕様となっている。ということは、RubyはC言語で作られたインタプリタ言語ですね。もしかして、RubyはC言語ベースで作られているとしたら、とっつきやすく将来性もあるじゃないかなと思いますが、どうでしょうか。逆にRubyはC言語ベースなので、PerlやPHPと比べても消えにくい言語とか汎用性が強い言語ではないかというイメージがしますが…。Rubyを開発した人は天才だな~。

私の投稿した質問が他人から見てかなりいい加減に思われるかも知れませんが、そのことは本当に知りたいことなので、あえて質問をしてみました。私の質問にご回答してくださった方々には本当に感謝しています。もちろん、私にご指摘をいただくようなこともプラス思考として捉えています。本当にご迷惑をおかけしまして申し訳ありません。

投稿日時 - 2008-02-12 00:42:15

ANo.1

専門的なことはわかりませんが、ブラウザ上で動かすための標準化が
必要なものと、サーバー側が理解できればよいプログラムを
同じ土俵で論じる必要はないとおもいますが・・・?

投稿日時 - 2008-02-11 23:24:24

補足

すみません。私の説明不足で補足させていただきます。
ただ、私が知りたいことはActionScriptやJavaScriptという言語はECMA準拠で定められているが、PerlやPHP、Rubyのようなインタプリタ言語はどのような準拠で定められているのかです。それを自分で調べてみてもそのような答えが見つかりません。もし宜しければCやC#などの他の言語の準拠を知りたいのです。

準拠を知りたいという理由は過当競争社会から準拠があるということは規格乱立を防ぎ、消費者や開発者の混乱を避けるためにあるものだと考えています。プログラミング言語も競争社会とか規格乱立とかそのような現象が見られていると思います。

投稿日時 - 2008-02-11 23:39:57

あなたにオススメの質問