次のページ 前のページ 目次へ

2. プログラミング言語

2.1 表の凡例

言語

一般的な言語の名前

初心者

はどれだけその言語がプログラミング経験の少 ない人達にあっているかを示します。``yes'' とマークされている 言語は初心者にとって最初に触れるプログラミング言語として 適しているはずです。

パフォーマンス

どれだけあなたのアプリケーションが速く 動くか。パフォーマンスは実際の言語よりも、適切なアルゴリズムを立てて プログラミングを行う能力に依存します。経験から言って、 C、C++ と Fortran は必要になる時があります。なぜならこれらの言語は他の言語と比べて 優れたパフォーマンスを提供できるからです。しかしながら、 これらの言語も目的によっては扱いづらいことがあります。(簡単なソー ティングアルゴリズムを全ての言語で実行し、その結果を比較するような 、言語を"ベンチマーク"するって言うアイデアもありますよね。誰か私を 手伝ってくれる人いませんか?)

OOP(オブジェクト指向プログラミング) vs. 他のパラダイム

オブジェクト指向プログラミングは人気を得てきている 重要なプログラミングパラダイムです。オブジェクト指向プログラミングでは、 データ構造とアルゴリズムは一つのユニットに統合されています(クラス とも呼ぶ)。OOP はよく手続き型プログラミング(データ構造とアルゴリ ズムが別々に使われる)と比較されます。OOP はあまり言語に依存すると も言えません。OOP ができないとリストに書いてある言語でも(例えば C) OOP ができたり、リストに OOPと書いてある言語でも手続き型プログラミン グができます。特別な特徴やアドオンがある OOP を OOP としてここに挙 げました。関数型言語( 例えば Lisp ) は他に比べて多少異なった種類の言語です。 関数型プログラミングは OOP のスーパーセットです。 論理的プログラミ ング(Prolog)は宣言的プログラミングとも呼ばれ、他のプログラミング手 法とは一線を画します。

素早い開発

は実際の言語よりも使うツールに依存します。 GUIでの Linux 開発ツールのHOWTOがあります(とても古いですが)。 よいグラフィカルツールを使用することによって素早い開発ができるでしょう。 コードを再使用することも素早く開発するのに使えますし、 フリーウェアがよい土台になるかもしれません。

言語が一般的に使われる分野。他にもよい(それと悪い)使い方 がありますが、これらは一般的ではありません。

コメント

言語についてのさらなる情報、例えば能力や派生言語等。

2.2 メジャーな言語

PERL
初心者: Yes - OOP: Yes
例: スクリプティング、システム管理、WWW
コメント: テキストと文字列の扱いに強い。とても人気がある。

Python
初心者: Yes - OOP: Yes 
例: スクリプティング、アプリケーションスクリプティング、WWW
コメント:

TCL
初心者: Yes - OOP: No
例: スクリプティング、システム管理、アプリケーション
コメント:

PHP
初心者: Yes - OOP: Yes
例: WWW
コメント: WEBデータベースで人気があります。

Java
初心者: Yes - OOP: Yes
例: 複数プラットフォームで動くアプリケーション、WWW
コメント:

Lisp
初心者: Yes - OOP: Functional
例: Emacs モード( elisp ), AI
コメント: 種々の Elisp、Clisp と Scheme

Fortran
初心者: No - OOP: No
例: 数学的アプリケーション
コメント: 種々の f77 と f90/95

C
初心者: No  - OOP: No
例: システムプログラミング、アプリケーション
コメント: とても人気がある

C++
初心者: No  - OOP: Yes
例: アプリケーション
コメント:

2.3 シェルプログラミング

シェルもまた重要なプログラミング環境ですが、私はこれの説明を含 めませんでした。なぜなら私はまた完全にはこの分野を理解していな いからです。シェルの知識は、よく Linux を使って仕事をする人や システム管理者には重要です。シェルプログラミングとスクリプティン グにはよく似ている所があり、しばしば同じ目的を達成できるので、 ネイティブシェルとスクリプティングとのどちらかを選ぶこともできます。 最も人気のあるシェルとして、bash、tcsh、csh、ksh、そして zsh が あります。man コマンドを実行することによってこれらのシェル の基本的な情報が分かることでしょう(例えば man bash )。

2.4 その他の言語

他の言語: AWK, SED, Smalltalk, Eiffel, ADA, Prolog, assembler, Objective C, Logo, Pascal( p2c コンバータ )

2.5 リンク


次のページ 前のページ 目次へ