-1

私は Microsoft スタックを使用してきましたが、空き時間に LAMP などの代替スタックで少し経験を積みたいと思っています。

LAMP の P は、通常は「PHP」ですが、Perl (または Python ですが、Python よりも Perl または PHP を検討しています) にすることもできます。私が Perl に引き寄せられているのは、Perl が他のアプリケーションでも役に立ちそうだからです。また、Perl は PHP よりも「賢く」「優れている」という評判があるようです。

Perl の長所:

  • より良い評判。PHP は、設計上の決定が不適切であり、多くの不適切なプログラムが記述されているという評判が悪いです。
  • 非 Web プログラムに使用できます。
  • 多くの人が Perl を愛用しているようですが、PHP コミュニティでさえ PHP には生ぬるいです。

PHP の長所:

  • 多くの Web サーバーには、Perl よりも PHP が既にインストールされています。
  • Web に関係するアーキテクチャ上の問題の一部が解決されているため、簡単に始めることができます。
  • PHP は、現在インターネット上のほとんどのサイトで使用されている人気のある言語です。
  • PHP を知っていると、仕事で役立つ可能性が高くなります。

このコミュニティは Microsoft と Java に重点を置いているように見えるので、そこから始めています。私はあなたの意見に興味があります。

4

14 に答える 14

14

Perl には、Web スタック (ORM を含む) に対応する多数のライブラリがあります。CPAN はあなたの友達です。Perl を使用する最大の要因の 1 つは CPAN です。

Perltidy 、MasonCatalystTemplate-Toolkit2MooseDBIPOEを関連キーワードとして調べて、言語の基礎を学んだら、検索を開始することをお勧めします。

VB6 が初心者に優しいのと同じ意味で、PHP はより「初心者」に優しいです。コードを書くことはできますが、良いコードを書くことは非常に困難です。

Asa Ayers: perldoc perlvarはあなたの友達です ( perldoc perlも参照してください)。

于 2009-06-15T17:29:50.170 に答える
11

PHP は評判の悪い非常に人気のある言語です。なぜなら、設計上の決定の多くが、知識のない人を騙してコード内でコンピューター サイエンスの失敗を犯させるからです。PHP を使用すると、ユーザーは HTML とドメイン ロジックを簡単に混在させることができますが、これはコンピューター サイエンスでは明らかに禁止事項です。それが、PHP を使いやすくしている理由でもあり、PHP があまり評価されていない理由でもあります。あなたが優れた、規律あるプログラマーであれば、PHP を使った適切でクリーンなプログラミングの実践を適用することができます。

Perl は急速に衰退しており、最新の Web アプリケーションではあまり使用されていません。Perl の純粋主義者はたくさんいますが、PHP の構文と同じくらい Perl の構文を嘲笑する人が多すぎることを私は知っています。

PHP はドメイン固有の言語ですが、Perl はそうではありません。PHP には、入力の検証とサニタイズ、ORM による簡単なデータベース操作など、.NET 環境で慣れ親しんだ便利な機能が多数含まれています。Perl には、ネイティブでこのようなことを行う方法があまりありません。そのため、Python やその他の一般的な CGI 言語の場合と同様に、フレームワークや Web プログラミング ライブラリを Perl で操作する方がほとんどの場合簡単です。ルビー。そのため、Web プログラミングを始めようとしている場合、PHP から始めないことを選択した場合は、他の 2 つの言語のいずれかから始めるよりも、Perl を完全にやめたほうがよいでしょう。

于 2009-06-15T16:59:23.797 に答える
7

Web 開発の場合、PHP はデータベースとの統合性が高く、Web 用に設計されているため、はっきりと言えます。ほとんどすべてのウェブホストが PHP をサポートしていることを忘れないでください。他の言語については同じではありません。

ただし、オプションがある場合、現在利用可能なすべてのフレームワークを考えると Python の方が適している可能性がありますが、ホスティングの観点からは、独自のサーバーからホスティングしていない限り、PHP を簡単に見つけることができます。

于 2009-06-15T16:52:41.020 に答える
7

@アサ・エアーズ

Perl はマジック変数を使用しませんが、プログラマーは使用します。Perl はそれらを提供するだけです。

foreach (@x) {
    print $_, "\n";
}

また

foreach my $x (@x) {
    print $x, "\n";
}

難しくありません。$_ と @_ は、Perl では非常に基本的なものであり、オプションです。RTM または Larry Wall の本。

PHP はひどい混乱です。Perl は優秀な人々によって設計され、サポートされています。PHP は、Perl のようなよく考えられた言語の開発を、半分の時間を AMEX の FAQ への回答に費やし、半分の時間をプログラミングに費やしている人々に外注した場合に得られるものです。

于 2009-06-15T18:16:45.423 に答える
7

興味のあるオープンソース プロジェクトを見て、それに基づいて決定してみてはいかがでしょうか。その逆が特に賢明だとは思いません。

于 2009-06-15T16:53:07.930 に答える
5

これは Perl プログラマーを混乱させるかもしれませんが、私は PHP を学びます。経験上、その API はユーザーや初心者にとってより使いやすく、目に見える結果がより速く得られます。

PHP を使い始めて数か月経ったら、Perl を試すことができます。API とモジュールを除いて、そのセマンティクスのほとんどは慣れ親しんでいます。Perl には "$_" など、理解に時間がかかるショートカットがたくさんあります。

PHP API は、C プログラマーになじみのある多くの関数を使用しており、PHP 5 のいくつかのコア OO 機能とともに、参照渡しに慣れることができます (ただし、Perl での OO プログラミングも学習しますが、構文は実際には複雑です。あまり変わらない)。

もう 1 つおまけとして、PHP のドキュメンタリーは非常に優れています。ほぼすべての機能についてコメントとメモがあり、.NET が普及する前に MSDN を恥じさせました。Javadoc (標準ライブラリ用) は依然として恥ずべきことです。

私の免責事項-私はそれを逆に学びました-Perl、次にPHP。Perl はバージョン 5.x で、PHP は 3.x から 4.x でした。どちらの言語も 5 年ほど使用していませんが、使用したときにこの 多くの言語を書きました。また、Perl 6 は当時、未来の救世主として予告されていました (まだリリースされていないようです!)。

于 2009-06-15T17:04:20.177 に答える
3

*nix または *BSD (現在の Mac OS を含む) には、デフォルトで Perl がインストールされています。これは、PHP については言えません。もちろん、どのホスティング サーバーにも PHP はありますが、それをインストールします (たとえば、dist インストール タイプを選択した場合)。

Perl の利点:

  1. 非常に良いコミュニティ
  2. 安定性、バージョン、OS の互換性
  3. CPAN + cパンテスター
  4. オリエンテーションのテスト
  5. 優れた Unicode サポート。
  6. 強力で高速な正規表現
  7. Apache との緊密かつ迅速な統合 (mod_perl)
  8. 不適切に記述されたコードは、他の言語よりも明らかです
  9. 言語自体と CPAN を使用して言語を拡張する可能性。古い Python スタイルの OO システムは時代遅れと見なされます - Moose が代わりになりました。Devel::Declare を使用すると、新しいキーワードを追加できます。CPAN には型安全のためのモジュールもあります。ソース フィルターを使用すると、新しい言語を追加できます。Inline::* ファミリーを使用すると、他の言語のコードを統合できます。
  10. 読みやすさが良い (を参照)http://www.slideshare.net/osfameron/readable-perl-presentation/ )

PHPとの比較:

  • 厳密に使用する;警告を使用する;
  • Perl::批評家、perltidy
  • ユニコードは言語に統合されています
  • ==/===/strval/intval の代わりに 'eq' と '=='

CGI::Application フレームワークから始めることをお勧めします。Perl、PHP、Python の 3 つの言語に対応しています。

于 2009-06-15T22:03:50.247 に答える
2

両方の言語で実行できると思われる小さなプロジェクトを選び、それを両方の言語で実装してみて、それぞれについてどのように感じているかを比較する必要があります。

それが私が自分の選択をした方法であり、後悔していません。

于 2009-06-15T19:14:33.187 に答える
2

なぜPerlかPHPか?Python や Ruby ではないでしょうか。どちらも優れた Web フレームワークが利用可能であり、Perl よりもはるかに習得が容易ですが、PHP よりもはるかに優れた設計になっています。

于 2009-06-15T17:27:10.373 に答える
1

それは個人的な決定であり、あなたがPHPについて述べたプラスは、私をPerlよりもPHPに向かわせるでしょう。しかし、それは私だけです。PHP が本当に好きな人もいますが、たいていはあなたの言う通りだと思います。しかし、それは優れた PHP サイトが存在しないという意味ではありません。

于 2009-06-15T16:54:03.283 に答える
0

求めているのがオープン ソースである場合は、必要なものを選択してください。
オープンソースの自由の 1 つは、好きなようにできることです。

ああ、私は Ruby (On Rails) に行きます

于 2009-06-15T17:00:08.010 に答える
0

PHP の方が広く普及しているため、より多くのヘルプが見つかり、より多くのドキュメントがあるためです。ホスティング会社の 99.99% が PHP サポートを提供しているため、導入はより簡単です。

繰り返しになりますが、Itay Moav が言ったように、私は Ruby on Rails をお勧めします...本当のオルタナティブ/オープンソース体験が得られます ^^

于 2009-06-15T17:18:39.643 に答える
-1

オープン ソースに参入したい場合は、Microsoft スタックを継続しないのはなぜですか?

ここで試してください:

http://www.codeplex.com

Frakkleのコメントで指摘されているように、Microsoft スタックを継続しながら、他の「オープン ソース」言語を試すこともできます。


パール:

アクティブパール


パイソン:

アイアンパイソン


編集:

質問を変更したので、LAMC# スタックも使用できることを追加します。

モノ・プロジェクト

于 2009-06-15T16:53:04.483 に答える