2010-12-02 9 views
9

あなたはこの質問が愚かなものだと思うかもしれませんが、新しいIT学生として、私は1つの言語(例えばjava)を学ぶと、前に学んだ言語(ex c)を忘れる傾向があります。構文を混ぜ合わせて....だから、すべてを1つに統合しないでください。なぜなら、学生は多くの言語を学ぶ必要がないからです...そして無駄なプログラミング言語を殺す...なぜsqlのような標準を作りませんか?なぜ多くのプログラミング言語がありますか?

+1

この質問はここにあるはずですか? – mih

+0

まず、すべての言語のすべての機能を1つの言語で利用できるようにしたら、誰もがハスケルの矢印http://www.haskell.org/ghc/docs/latest/html/のようなものを学ばなくてはなりません。 users_guide/arrow-notation.html。あなたはそれがあなたが望むものだと確信していますか? –

+1

この質問は、ここのみんなが考えるほど卑劣ではありません。 – anonymous

答えて

6

異なる言語は、アドレスまたは受け入れる:

  • 異なるニーズ(特定の領域での性能、信頼性、ニッチプログラム等を発現しやすさ)
  • 異なるプラットフォーム
  • 差分モデル(機能、OOなど)
  • 異なる履歴

"特定の状況に特有のものですが、「汎用」プログラミング言語であっても、他の言語と置き換える準備ができている言語は目立っていません。

あなたのSQLの例でも、ほとんどのDBベンダーは独自のSQL拡張機能を持っていますが、これは「ここではクエリです。

+1

なぜ構文を同じにしないのですか???なぜ標準を作りませんか? – newbie

+0

@joy:多くの言語は*類似の構文(C、C++、Java、C#など)を共有していますが、異なる言語が異なる構文モデルを探索できるようにすることは、さまざまなプロジェクトにはさまざまな要件とニッチがあります。私たちは「すべての人に合う」という世界に住んでいません。 –

+0

ok .. tnx ..それから私はすべてを勉強する必要があると思います... – newbie

2

プログラミング言語は、コンピュータがより強力になり、多くのアプリケーション分野に進出しています。

初めは、リソースが非常に限られていて、アセンブラ、コボルなどのような機械に非常に近いプログラミング言語が必要でした。

今日、JavaやC#のような非常に洗練されたプログラミング言語を使用することができるほどの処理能力があるため、プログラミングは非常に快適ですが、CPUサイクルに関してはあまり効率的ではありません。

各プログラミング言語には、それ自身のターゲットがあります。組み込み開発では、主にアセンブラ、CおよびC++が使用されます。この目的のために他にも多くの言語があります。ウェブ開発のために、多くの言語が利用可能であり、それぞれが作業を容易にする別の側面に焦点を当てています。 VB.NETのように、Javaや言語のようなあらゆるプラットフォーム上で動作する言語があり、Windowsプログラミングは非常に簡単です。

プログラミング言語を学ぶとき、目標は構文を学ぶのではなく、プログラミングの原則を理解することです。あなたがこれを持っていれば、同じパラダイム(オブジェクト指向、手続き、機能、など)に従う限り、他の言語をすばやく学ぶことができます。

2

「すべてを支配する1つの言語」の考えは面白いですが理論的な考え方では、すべての状況にすべてのものをしようとする言語は、最終的には自分自身の体重の下で転倒するだろう。

例えば、C#の面白い変更をより機能的またはよりダイナミックにするために、すべてのものにしようとすると、あまりにも多くのものをコア構文に入れようとする言語は、結局のところ、構文で予期せぬ動作が発生する可能性があります。

言語は、ユーザーがその意図を達成するためにコンパイラなどと戦うことを強要するのに役立つはずです。たとえば、F#よりもC#では、immuteabilityが難しいです。 Rubyでは静的な型などの言語に対して、より簡単で表現力豊かなものがあります。 - これは、私たちが意図を表現するうえで役立つように独自の言語(DSL)を構築する極端なケースにも対応できます。

私は、Cobol、Fortran、C、Pascal、VB、C#、VB.Net、Javascript、Ruby(XAML、SQL、HTML、CSSなどのことは言及していません)

言語は構文だけではなく、簡単な部分です。むしろ、その言語の特定のイディオムを学び、それを活用してあなたの問題を解決する独特の強みを持っています。また、さまざまな言語を理解することで、表現力、保守性、そしてエレガントな方法で問題を最もよく解決できる言語を選択することができます。

+0

+1。私はあなたが書いたものに同意する傾向がありますが、見過ごされるような別の生産性要因については注意が必要です。オンデマンドで、ある言語から別の言語への切り替え(あなたはすでにそれらの言語を知っていると仮定しています。学習曲線はまだ...) –

関連する問題