2009-04-07 11 views
3

私は定期的に* n個の*のX環境でC(ANSI C89/ISO C90)でのプログラミングの質問どのWeb開発言語がCプログラマに最適ですか?

。私は今、Web開発言語を学ぶことが有益な立場にいます。特に、私は言語を学びたいと思っています。

  1. ...私の背景をCプログラマーとして活用しています。
  2. ...は、stackoverflow.comのようなウェブサイトのインタラクティブ性のレベルを作り出すことができます。

PHPについて多くの良いことが聞きました。あなたには他の提案がありますか?私は精通しています

ノート

  1. その他の言語:Java、Perlやtcshの、およびスキーム。
  2. 私は、クライアント側で何かをすることができるWeb開発言語を学ぶことに興味があることを忘れていました。これが不明な場合はごめんなさい。
  3. 私は言語の知識を使って、stackoverflow.comと文体的に似ているWebサイトを開発する予定です(もちろん、まったく別の概念です)。
+0

あなたはJavaとPerlを知っています。どちらもウェブ開発に優れています。あなた自身のために新しい言語を手に入れようとしているのでなければ、あなたはすでに必要なすべてのツールを手に入れています。 –

答えて

21

C、Perl、Javaを既に知っていれば、あなたはすでにPHPを知っていることを誠実に知っていますが、まだ分かりません。理にかなっている?おそらくそうではありません。しかし、いったんそれで遊ぶことができます。

あなたはなぜWeb開発言語を学んでいるのか、それが何のためのものなのかは言いません。これは、このような推奨事項を提供する上で重要な情報です。このような情報がない場合、私はいくつかの理由でPHPを提案します:

  • Web中心です。
  • 非常に人気があります。問題への回答を見つけることは非常に簡単です。
  • それはCal Hendersonは、「PHPがある(DjangoCon劣らず2008年)彼の基調講演"Why I Hate Django"に入れたよう
  • (すでにCやPerl、およびJava、しかし、あなたはしなかった場合でも、その簡単を知っている)学ぶことは非常に簡単です深刻な言葉です "。インターネット上の上位20サイトのうち4つに権限を与えます(Wikipedia、Flickr、Facebookと他の1つは忘れています)。
  • Perlには多少異なるタイプのシステムがありますが、正規表現は一流ですPerl。プラスPHPには$ _演算子がありませんが、多くの類似点がありますが
  • 動的なスクリプト言語として、強く型付けされた型から脱出するのに役立ちます。変更および有益な経験のビット、PHPサポート・オブジェクト(PHP is not object-orientedことを私はビューにサブスクライブ)のにもかかわらず
  • 、ほとんどのPHPはCプログラマにそれがより身近作り、手続き的な方法で書かれている。
  • それは信じられないほど豊富な図書館を持っています。
  • Apacheのみを必要とするため、非常に軽量で、その結果、ホスティングはJavaやASP.NETのホスティングと比べて格段に安いです。
  • テキストファイルを保存し、ブラウザでリロードをクリックするだけで、コンパイル、ビルド、デプロイの各ステップを別々にするのではなく、何が起こるかを確認することができます。
+0

デザインパターンとOOPのベストプラクティスから離れて、ボブおじさんのアジャイルブックをレビューしないようにしましょう。 Rob Coneryは、基本に戻ることは良いことだが、アジャイル(および他のもの)の原則を習得した後にのみ同意するだろう。それが機能し、それを維持することが最も重要なことです。 –

+0

PHPはオブジェクト指向言語ですが、Javaや.Netと同じくらいファンキーではありません – Eskinder

-1

これまでC#をお勧めします。 OOPはすばらしく、デザインパターンを使って簡単に作業できます。それは地面からOOPで建設されています。それはまた{}言語です。

+0

私は "{}言語"が好きです。 –

+0

C#/。NET/Windowsは、C/Unixの人にとって大きなパラダイムシフトになると思われます。 –

+0

C#はどのn * xでも利用できますか?面白いようです... –

5

PHPの構文はCと非常によく似ていますが、違いはありますが、ポインタとメモリは管理できません(少なくとも私が知っているわけではありません)。それはまた非常に簡単です。

PHPはサーバ側の言語なので、ブラウザは何の関係もありません。彼らはすべて同じHTML/CSS情報を得て、どこが違うのでしょうか。

あなたがこのウェブサイトのようなインタラクティブのレベルを持っているしたい場合、あなたはJavascriptを見てみる必要があります(それはフレームワーク(すなわちです:jQueryの)この言語は、Web開発におけるクライアント側の責任である

+0

PHPは、特にC開発者にとっては習得が簡単です。ほとんどの言語の構文は同じです。優れたPHP開発者であることは難しく、コードの混乱を避けるためにソフトウェアとWebサイトの技術について学ぶことはたくさんあります。同じことは他のweb-dev環境でも当てはまります。 –

+0

しかし、大規模なCプログラムを書くことができる人は、おそらくスパゲッティを作成せずに大規模なPHPプログラムを書くという規律があります。 – Nosredna

0

PHPで解決するなら、あなたの正気を尊重し、まともなフレームワークを使用してください。私はCakePHPを強くお勧めしますが、聖戦を始めたいとは思わないでしょう。

Javaでの経験は言います。 Cプログラマとして、C#と.NETはどうですか?

世界はあなたの軟体動物です、友人

+0

私はフレームワークを使用せず、完璧にうまくいっています...なぜそれを使うのですか? –

+0

PHP *はフレームワークです。まあ、テンプレートシステム。 –

+0

@tlholaday。 PHP *はフレームワークですHTMLページに埋め込むことができれば、それをフレームワークにすることはできません。 PHP *は、もしあなたが望むなら、あなたがフレームワークを構築できるプログラミング言語です。 – Luke

2

言語とプラットフォームの両方を考慮する必要があります。 C#のASP.NET MVCは私の推薦です。構文は非常によく知られています。 MVCはjQueryをサポートした良いパターンです.JavaScriptのクロスブラウザサポートが優れています。 MVCでは、生成されたHTMLをより詳細に制御することもできます。それは、実際にSOが基づいているプラ​​ットフォームです。

0

PerlとCのバックグラウンドでは、PHPが簡単になると思います。フレームワークとそのようなことについて学びます。

5

私は以前に言及したすべてのオプションが好きです。 PERLをすでに知っている場合は、それを追加して、それを使って考えることができるすべてのWebサイトを作成することができます。

+0

ここでは、Perlを知っており、Webサイトでやりたいことをすべて実行することができます。他のサーバー側の言語を習得する必要はありません。 – Danny

4

多くの人が、PHP、.NET、javaなどについて何かを言っています。

しかし、私は新しい引数にするつもりです:Web用

は、サーバ側では、高速、あなたの基準(SO.COMの対話を)検討する場合は特に、無関係になってきています。あなたは4つのコアテクノロジーを学びたいと思っています。そして、あなたがそれらを知っていると思っていたり、勉強なしにそれらを理解できたら、おそらく間違っています。標準はあまりにも長く進化してきました。そして、単にロテで学ぶことを試みるならば、「どのようにするべきか」という濁った絵を得るのは簡単です。

1)最新の標準(x)HTML。何が入っているのか、HTML/xHTMLにないのかを知る4.あなたはそれを知っていると思いますか?ブロックレベル要素とインライン要素の違いを知っていますか?どの要素が他の要素で許されているか知っていますか?

2)CSS 2.1以上。私はO'Reillyの「CSS:The Definitive Guide」をお勧めします。 CSSセレクタの内部と外部を知る。あなたは技術#4のためにそれらを必要とします。あなたはCSSで達成できるものに唖然としています。あなたは、HTMLの中のたくさんのタグでしかできないと思っていました。

3)Javascript。いいえ、私は冗談ではありません。これはもはや機能しないジョーク言語ではありません。できます。これは、最も反応性が高く、インタラクティブで興味深いサイト(Googleマップ、SO.COM)を実行しているものです。

4)JQuery。とても栄光に満ちているので、私は自分自身もそれについて話すことができません。コメント投稿者は栄光のオーラで克服されず、その名前を呼吸することができます。

IMOはクライアント側にありますので、サーバ側の言語はあまり意味がありません。私は.NETのLINQ構文が大好きです。私はそれを最初に疑っていましたが、私は最近、クール援助をガロンで飲んでいます。しかし、PHPやRoR、Javaなどを選択した場合は問題ありません。しかしそれは二次的な決定でなければならない。上記の4つのテクノロジーを最初に学びます。サーバー上で何をしているにせよ、それらのテクノロジーが必要です。

+0

jQueryは素晴らしいデザインパターン(ビルダー)です。 Model View Controllerはもう一つの素晴らしいデザインパターンです。一緒に、あなたは素晴らしいAjaxのウェブサイトを行うことができます。特にjQueryプラグインを使用する場合は特にそうです。ああ、C#もそれの一部です。 –

1

クライアント側で作業したい場合は、Javascriptを取得する必要があります。すべての主要なブラウザで十分サポートされており、豊富なフレームワークが用意されています(jQuery、dojo、ASP.net)。一部の人々はまだJavaアプレットを使用していますが、全体のアプレットはかなり瀕死です。

2

あなたのやりたいことの複雑さによって異なります。

PHPは、ほぼすべてのポスターで言及されているように、サーバー側のWeb開発には最適です。 シンプルなものは単純ですが、複雑なものは合理的にうまく処理されます。 PHPの構文は のようにCで論理的に一貫しています。優れたドキュメントの構文セクションを参照する必要はほとんどありません。

しかし、PHPはページを表示するだけで、HTML、CSS、おそらくは Javascriptを学ぶ必要があります。

私は個人的に考えて間違いを犯しました.Javascriptは単なる別の基本的なスクリプト言語であり、JavaScriptが数年間持ちこたえる可能性、優雅さ、そして可能性を欠いていました。 gmailやstackoverflowのようなサイトで見られるインタラクティブなものは、ほとんどがJavascriptになっています。

同様に、これらのサイトのほとんどすべての「クールな」ビジュアルプレゼンテーションはCSSになっています。

極端に複雑なバックエンドのもの(特にページ間の状態を維持する必要がある場合)は、Javaや各種フレームワーク(TomcatやJetty、FreemarkerテンプレートのSpring、IBATISは私の個人的な勝利コンボです! )。 ここでの問題は、これに対する急な学習曲線です。本当にJavaのバックエンドの力が必要な場合は、そこに行きたいだけです。

0

私は非常に厳密にはCプログラマです。狭い範囲や他の言語、私の仕事が要求する言葉だけを恐れているわけではありません。私がやっていることの大部分は、仮想化、クラウドコンピューティングなどのバックエンドオートメーションです。

時々、私はすべてを結びつけるためにいくつかの種類のWebフロントエンドを組み込む必要があります。私がそれをするとき、私は本当にPHPを使いたいです。実のところ、Cの背景が強いPHPを使用しているほとんどの人は、非常に生産的で創造的であることがわかります。

これは私がPHPを好きな理由で、なぜCの十分な知識とPHPに来ることは涼しいです:

PHPを拡張するのは非常に簡単です。 PHPには非常に豊富なライブラリが用意されていますが、他のライブラリとネイティブで連携する必要があることがよくあります。これの良い例はlibvirtでしょう。たくさんのシェルフォークを呼び出して掻き集めるのではなく、libvirtで必要な関数をPHP関数に変えることができます。

PHP OOの概念をあなたに押し付けない PHPはオブジェクト指向言語として非常によく似ています。しかし、その構文はあなたにOOのアプローチをプッシュしません。言い換えれば、あなたのコードは手続き的にOO言語を使用する人のようには見えません。 Cとほぼ同じように読むでしょう。

PHPはそれ自体を説明しています php.netの膨大なドキュメントで関数のリファレンスと例が見つからない場合は、PHPのソースを手に入れて探してください。 Zendコアはやや秘密ですが、拡張機能は読みにくいものではありません。

要するに、ガベージコレクタを使用して動的に型指定された言語に慣れるまで、シートベルトなしで運転しているような気分になります。しかし、私はあなたがそれを素早く手に入れて、あなたの生産性に満足していると感じます。

0

あなたが良いCプログラマであれば、C言語でのコード作成を続けてみませんか?異なるプログラミング言語を使用する正当な理由がありますが、あなたがウェブをコーディングするつもりであるという理由だけではそれらの1つではありません。 Web開発のためのCを使用するには、2つの人気の方法があります。

    データは、独自のミニWebサーバ書く環境で、コマンドライン
  • に渡され
  • (F)CGI、そのポート80のいずれかに会談、またはそれ以上のポートを使用してmod_proxyまたはnginxを使用してください。
0

私はCおよび/またはJAVAの後でPHPを学んだいくつかの同僚と協力しました。 彼らは本当にそれに満足しています。 もしあなたが.netの人で、その環境についての知識を持っていれば、C#をよく知っているでしょうが、私にとってはl'art lour art stuffでいっぱいです。

関連する問題