Javascriptは、本来の目的で設計されたものを超えて開発されましたか?


10

私は、Javascriptの目的、いつ、どのように使用するべきかなどについて友人と話していました。彼は次のように述べています:

JavaScriptは、HTMLページにインタラクティブ機能を追加するように設計されました

[...]

JavaScriptはHTMLデザイナーにプログラミングツールを提供します

  • HTMLの作成者は通常プログラマーではありませんが、JavaScriptは非常に単純な構文を持つスクリプト言語です!ほとんど誰でも、HTMLページにコードの小さな「スニペット」を挿入できますJavaScriptはイベントに反応できます
  • JavaScriptは、ページの読み込みが完了したときや、ユーザーがHTML要素をクリックしたときなど、何かが発生したときに実行するように設定できます。JavaScriptはHTML要素を読み書きできます。
  • JavaScriptはHTML要素のコンテンツを読み取って変更できますJavaScriptを使用してデータを検証できます
  • JavaScriptを使用して、フォームデータをサーバーに送信する前に検証できます。これにより、余分な処理からサーバーを節約できます
  • JavaScriptを使用してビジターのブラウザーを検出できます-JavaScriptを使用してビジターのブラウザーを検出でき、ブラウザーによっては、そのブラウザー用に特別に設計された別のページをロードできます。
  • JavaScriptを使用してCookieを作成できます-JavaScriptを使用して、訪問者のコンピューター上の情報を保存および取得できます。

ただし、Javascriptは最近よりも多くのことに慣れているようです。私の友人もJavaScriptのOOP機能の使用に反対し、「データを処理するのではなく、検証するだけでよい」と主張しています。Javascriptは、データの検証とWebページで派手なグラフィックの作成に本当に制限されていますか?

彼はさらに「JavaScriptを介してデータベースにアクセスすることを試みてはならない」と主張し、「一般的にJavaScriptでの重い作業をしたくない」とも述べています。私は彼の意見に同意することはできませんが、これについてもう少し入力をお願いします。

だから、私の質問:Javascriptは上記の定義からより強力なものに進化しましたか、それを使用する方法は変更されましたか、それとも私はただ間違っていますか?これは主観的な質問だと思いますが、それ以上の情報は見つからないので、他に何もないとしても、いくつかのリンクが良いでしょう。私は議論を求めているのではなく、答えを求めています。


「だれが」それをするためにそれを推進しているのかと私は思っていましたが、なぜですか?
NoChance

1
私は1998年程度であなたの友人のJavaScriptについて理解するために来ている何のための原料を置くだろう
エリックReppen

回答:


21

JavaScriptはプログラミング言語ではないと考える人は、JavaScriptについて尊敬すべきではないという意見を持っている人です。

JavaScriptは、SchemeのセマンティクスとJavaの構文に触発されて有機的に成長した言語です。本来の目的は一般的ではありませんでしたが、現在はそのようになっています。

言語としてのJavaScriptは、それに適していれば、ほぼすべてのタスクを実行するのに適しています。JavaScriptがIO機能で構成されるホスト環境にアクセスできる一般的なサーバー側プログラミングに使用できるようにするnode.jsのような例を見てください。

私の友人もJavaScriptのOOP機能の使用に反対し、「データを処理するのではなく、検証するだけでよい」と主張しています。Javascriptは、データの検証とWebページで派手なグラフィックの作成に本当に制限されていますか?

いいえ、JavaScriptはプログラミング言語です。データ構造、アルゴリズム、ロジックを表現したい場合は、その言語が提供するツールを使用してください。特に、ファーストクラスの関数とプロトタイプは強力なツールです。

彼はさらに「JavaScriptを介してデータベースにアクセスすることを試みてはならない」と主張し、「一般的にJavaScriptでの重い作業をしたくない」とも述べています。私は彼の意見に同意することはできませんが、これについてもう少し入力をお願いします。

間違っています。ブラウザには、JavaScriptでアクセスするindexedDBというデータベースがあります。これはブラウザに直接組み込まれたデータベースであり、使用したい場合(そして使用する必要がある場合)はJavaScriptを使用します。

また、mongodbとcouchdbのどちらでも、javascriptを使用してデータベースでアドホッククエリを直接実行できます。

重労働については、彼は部分的に正しいです。重い作業を行う場合は、Cまたはerlangで行う必要があります。「重いリフティング」という用語は曖昧であることに注意してください。たとえば、JavaScriptでビデオをエンコードまたはデコードすることはありませんが、JavaScriptで画像処理を行うことはありません(Cを使用)。私はJavaScript(fortranを使用)で数値を計算することはないでしょう。

JavaScriptは上記の定義からより強力なものに進化しましたか、それを使用する方法が変更されましたか、それとも私はただ間違っていますか?

JavaScriptは、マイナースクリプト機能をHTMLに組み込むためだけに2週間で書かれました。それ以来、それはひどく成長しました。ES3(1999)以降、強力な汎用プログラミング言語となっています。


私もそう思いました。今、私はそれを友達に伝える方法を理解する必要があります。
Elliot Bonneville 2012年

@ElliotBonneville私は大きな泡の手掛かりを提案できますか?

ははは、そうかもしれません :)それは陽気です。
Elliot Bonneville 2012年

「強力な汎用プログラミング言語」。下位互換性のために永遠にそこにとどまるはずだ。これは、codeproject.com / Articles
Den

@Denええ、それはいくつかの落とし穴がありますが、C、C ++、PHP、Javaもそうです。
レイノス

9

あなたの友人のビジョンは事実上非常に時代遅れであり、GoogleがGMailをリリースして以来起こったことすべてを見逃しています。

さて、これは、Javascriptが本来の目的で設計されたものを超えて開発されたことを意味しますか?ちょっと。しかし、その間にデザインが変更されたこと、そして開発者からの新しいニーズに応じて将来的に変更されることを忘れないでください。これは他の一般的な言語でも有効です。たとえば、C#の最初のバージョンがリリースされたとき、デザインで動的コードを許可することを誰も期待していませんでした。現在、DLRは数年間利用できます。


2

言語は常に私たちが最初に考えたことをはるかに超えています。C(またはC ++)の冒頭で誰とでも話してください。誰かが言語を今ではほとんどどこにでも見つけることができると思っていますか。私はそうは思いません。

それぞれの言語は、より多くのことを学ぶために勝利し、さらに前進します。

私は、Javascriptがあまり評価されていない言語であることに同意します。あなたの友達だけではありません。問題は、言語XまたはYが悪い/役に立たないということではありません。問題は、この考えを永遠に保つことです。コンピュータサイエンス/ ITでは、すべてが急速に変化しますが、今後も大きく変化します。

そのため、既成概念にとらわれずに学び、考えることが重要です...


JavaScriptはまだ十分に評価されていない言語であると合理的には言えないでしょう。実際、私はそれが世界で最も人気のある言語だと思います。
ジムG.
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.