プログラミング言語とスクリプト言語の違いは何ですか?


ベストアンサー

Pythonはスクリプト言語ですが、本格的なオブジェクト指向でもあります。プログラミング言語。スクリプト言語と「プログラム」の違いは、コードがインタプリタによって実行されるかどうかです。これはおそらく最も簡単な考え方です。

したがって、Pythonスクリプトを作成すると、.pyファイルが作成されます。そのファイルを実行したい場合は、実際にpythonを実行し、.pyファイルを引数として渡します。次のようなもの:

/usr/bin/python /Path/To/MyScript.py

Pythonはスクリプトを実行します。他の人が述べているように、スクリプトにシバン行を入れることができますが、それはスクリプトの実行に使用するインタープリターの場所をマシンに指示するだけです。インタプリタアプローチには長所と短所があります。主な利点は使いやすさです。以下の行を.pyファイルに入れて、Pythonで実行できます。

print("Hello world!")

Swiftなどの言語を使用するたとえば、C ++、C#、またはJavaの場合、実際にはプログラムをマシンコードにコンパイルし、そのコンパイルの結果として得られるファイルは、プログラムまたはプログラムの一部になります。そのまま配布する準備ができており、実行に必要な他のプログラムは必要ありません。インタープリター言語は、さまざまな理由でそれほど速くない傾向があります。おそらく言及する価値があります。

Pythonは実際にはBashに匹敵するものではありません。 Bashで多くのことを達成できますが、言語自体はそれほど強力ではなく、プログラムやソリューションを完全に記述できるようには設計されていません。 Pythonはフル機能のオブジェクト指向プログラミング言語であり、Pythonを使用してほぼすべてを記述できます。したがって、どちらもスクリプト言語であることは事実ですが、同じリーグではありません。一つには、Bashはオブジェクト指向ではありません。また、Bashを使用すると、主に、異​​なる言語で記述されたコンソールアプリを呼び出すだけです。次に、結果をBashで解析するか、パイプを介して次のコンソールユーティリティに送信します。

解釈されるスクリプト言語の例を次に示します。

Python、Ruby、 Node JS、Powershell、vbScript、Javascript、Appescript、Bash、Perlなど。

コンパイルされた、厳密に型指定された言語は次のとおりです。

Swift、Objective C、C、C ++、C# 、Java

それが問題を解決するのに役立つことを願っています。

回答

Python、Ruby、JavaScript、PHPなどのスクリプト言語もプログラミング言語です。これらは、解釈されて動的型付けが行われるという点で、従来のコンパイル言語とは異なります。オブジェクトのデータ型はいつでも変更できます。つまり、オブジェクトのデータ型や関数の戻り値を事前に定義する必要はなく、その場で切り替えることができます。

従来、スクリプト言語は単純なものとクイックタスク。しかし、これはもはや真実ではありません。現在、Python、Ruby、JavaScript、PHPには大規模なプログラムとコードベースがあります。これらの言語の一部は、コンパイルされた言語と比較してパフォーマンスが遅くなります。しかし、それでももはや真実ではありません。 JITテクノロジーにより、JavaScriptとPyPyはパフォーマンスが大幅に向上し、PHP7も同様に向上しました。

結局のところ、言い換える必要があるのは単なる用語です。

Webテクノロジー最も単純なのは、WebサーバーからWebブラウザーに提供される静的ドキュメントのセットであり、ブラウザーはHTMLとCSSに従ってそれをレンダリングします。 HTMLはマークアップ言語であり、CSSはスタイルを追加するため、一貫性のあるカスタムWebページを簡単に作成できます。ただし、コンテンツは静的であり、コンテンツを変更するには、既存のHTMLコンテンツを変更するか、新しいHTMLコンテンツを作成する必要があります。

Webコンテンツを動的にするには、i)CGIまたはii)埋め込みの2つのアプローチのいずれかを使用できます。 HTMLページ内のコード。以前の手法では、Webサーバーが実行可能ファイル(C、Perl、またはスクリプト言語を含むその他の言語で記述されたもの)を呼び出して、Webページ全体(適切なHTMLヘッダーなどを含む)を動的に生成し、によって生成された結果を取得します。実行可能ファイルを作成し、Webブラウザに返します。これには、Webサーバー(HTTP)との対話方法を理解しているライブラリーを使用する必要があります。面倒ですが、動的Webコンテンツの最も初期の形式はこのように書かれています。後者は異なるアプローチを取ります。 Webサーバーは、埋め込みコード(通常、PHP、JSP、Pythonなどのスクリプト言語で記述されたコードが埋め込まれたHTMLを含む)を含むページを認識し、埋め込みコードのみを実行するスクリプトエンジンに送信し、コード実行の結果に置き換えます(残りのHTML、CSS、JavaScriptは変更せずに)、変更されたHTMLページをサーバーに返します。サーバーはそれをWebブラウザーに返します。 Python、Rubyも同様ですが、このアプローチのわずかなバリエーションを使用します。これはサーバー側のスクリプトです

JavaScriptは、クライアント側の動的コーディング/スクリプト言語として始まりました。すべてのブラウザにはJavaScriptインタープリターが組み込まれています。 JavaScriptコードをWebページに埋め込んで、Webブラウザーに送信すると、フォームの検証やDOMの動的な変更などのタスクのために、クライアント側でこのコードが実行されます。しかし、Node.jsの登場により、JavaScriptはサーバー側のスクリプト言語と同じように機能できるようになりました。

次に、クライアント側のJavaScriptコードでサーバー側のスクリプトを実行してサーバーから結果を取得できるテクノロジーであるAJAXが登場しました。 DOMにデータを入力します。このようにして、Webページを更新せずに、ブラウザのドロップダウンボックスに動的にデータを入力できます。 jQueryなどのJavaScriptライブラリにより、クライアント側のスクリプトがモジュール化されて簡単になりました。 BootstrapなどのHTML / CSSフレームワークは、HTML5とCSS3でも同じことを行いました。

Webアプリケーションフレームワークは、Webアプリケーションの作成をモジュール化して簡素化します。すべてのスクリプト言語には、Webアプリフレームワークのコレクションがあります。 RubyにはRubyonRailsがあります。 PythonにはDjango、Flaskがあります。 PHPにはLaravelがあります。 JavaScriptにはAngularJSなどがあります。

Webアプリケーションは、永続的なデータストアとしてデータベースに依存しています。したがって、SQLと、データベース抽象化レイヤーやオブジェクトリレーショナルマッピングなどのデータベーステクノロジを理解することが不可欠です。 NoSQLデータベースの出現により、Web開発者が学ばなければならない新しいことが追加されます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です