3

私はまともなプログラマーを手に入れようとしていますが、学ぶべきことは無数にあるようです。どちらが良いかを尋ねるとき、特定の答えは決してないことを私は知っていますが、より確実な答えを期待して、私の質問をより具体的にするように努めます。

私はPHPを1年間使用/使用しています。最も単純な例から始めて、今はフロントエンドにCodeIgniterとさまざまなライブラリ/フレームワークを使用しており、一歩先を行く必要があると感じています。私の場合は、別のPHPフレームワークであるSymfony2を学習しています。 「ソフトウェアテクノロジー」の修士号を取得するときは、Javaを集中的に使用しています。Symfony2とSpringの両方を学び始めたいと思っています。XMLの使用法など、時間を無駄にすることなくそれを達成する方法についての多くの質問の中で、YMLは、自分の仕事で優位に立つためのオプションを見つけるものです。

Javaは非常にXMLであり、私が知る限り、JavaではXMLから逃れることはできません。しかし、Symfony2では選択肢があり、そこでXMLを使用するのは非常に魅力的であるため、他のすべての中でもう1つ学ぶ必要はありませんが、Symfony2で見られる例のほとんどはYMLを使用しており、ymlをスキップするかどうかはよくわかりません。 XMLに厳密に固執しようとしても、私は元に戻りません。

私はSpringでもSymfonyでも経験がないので、一度に両方を学んでいたとしたら、どのようにアプローチしますか?両方にXMLを使用しますか、それともSymfony2にYMLを使用しますか?

4

1 に答える 1

7

私はSymfony開発者としてお金を稼いでおり、Spring MVCで個人的なプロジェクトを開発しているので、両方の世界を見てきましたので、このトピックについて共有することがあると思います。

私はPHPで約7年間開発しており、Javaを言語として約5年間知っていますが、最初の「実際の」Javaプロジェクトを開発しているのはわずか1〜2か月です。最終的には、PHPを完全に廃止し、JavaやScalaなどの他のJVM言語に切り替えたいと考えています。

これの理由は何ですか?誤解しないでください。Symfony2は素晴らしいフレームワークであり、私はそれが大好きです。私はそれがそこにある最高のPHPフレームワークだと信じています。しかし...それはまだPHPです。PHPフレームワークがどれほど優れていても、私はPHPを言語として長く耐えることができません。PHPの何がそんなに悪いのか、あなたは尋ねますか?私が長い間それについて感じていたことを正確に説明する素晴らしい記事があります(少なくともアナロジーのセクションを読んでください)。

そして、私は静的バインディングと強い型付けを好むので、この理由からもJavaに慣れています。最高のPHPIDEが行うことと比較して、JavaIDEが行うことは非常に優れています。私はこれらの言語に最適なIDE(IDEA(PHPプラグイン付き)またはPhpStorm)を使用していると思います。Javaサポートは非​​常に優れているため、踊りたくなります。

Javaがすべての中で最も優れた言語であると言っているわけではありませんが、PHPよりも大幅に改善されています。Scalaは非常に有望だと思いますが、そのインフラストラクチャ/エコシステムは私にとって十分に成熟していないため、言語自体をハッキングしてフレームワークを開発する人と比較して、エンドユーザープロジェクトを実行するのが好きな実用的な人です。私はJavaを使用しています今のところ。

つまり、私にとっては、言語、コミュニティ、エコシステムに要約されます。PHPコミュニティには優れた開発者が何人かいて、IRCやその他の場所で彼らと会話するのは楽しいですが、Javaコミュニティには、はるかに大きなJavaエコシステムのためにはるかに優れたものを開発するはるかに優れた開発者がいます。

これらの3つのこととは別に、Symfonyははるかに習得しやすいと付け加えることができます。その本と料理本は素晴らしく、本当に要点がありますが、Springに関する多くの情報を多数の本、ブログ、およびその膨大なドキュメントで探す必要があります。 。

YMLとXMLについて言えば、SymfonyプロジェクトはXMLでのみ実行でき、SpringプロジェクトはXMLなしで完全にまたはほぼ完全に実行できます(特にバージョン3.1以降)。私はSymfonyプロジェクトでYMLを使用していますが、共有するバンドルにはXMLを使用しています。

また、SymfonyDICとセキュリティはSpringとSpringSecurityに基づいており、DoctrineはJPAに基づいており、これらのフレームワークの1つのイディオムを学習するため、もう1つのフレームワークについて多くを学ぶことができます。私が本当に見逃しているのは、Spring MVCの世界でのTwigアナログです— JSPは仕事を成し遂げますが、それはそれほど素晴らしいことではありません。Spring MVCが統合する他のビューテクノロジーがあることは知っていますが、私には、JSPが最も支持されているテクノロジーのようです。

于 2012-05-22T10:07:29.117 に答える