言語

アバター
izmknt
記事: 0
登録日時: 14年前

言語

投稿記事 by izmknt » 14年前

たくさんの言語がありますが、いったいどのようなプログラム言語があるのでしょうか…

Ruby
オブジェクト指向スクリプト言語であり、従来Perlなどのスクリプト言語が用いられてきた領域でのオブジェクト指向プログラミングを実現する。
Ruby処理系は、主にインタプリタとして実装されている。

JavaScript
オブジェクト指向スクリプト言語である。主にウェブブラウザなどのクライアントサイドで実装され、動的なウェブサイトの構築や、RIAなどの高度なユーザインタフェースの開発に用いられる。

Python
オープンソースのプログラミング言語。オブジェクト指向スクリプト言語の一種であり、Perlとともに欧米で広く普及している。
汎用の高水準言語である。プログラマの生産性とコードの信頼性を重視して設計されており、核となるシンタックスおよびセマンティクスは必要最小限に抑えられている反面、利便性の高い大規模な標準ライブラリを備えている。

Lisp
括弧を多用する独特の構文を持つ。
LISPは比較的容易に実装できるため、非常に多くの方言が存在する。
関数型言語に分類されるが、ほとんどのLISP方言は、変数への束縛だけでなく、代入やデータ構造の破壊的操作も可能という、手続き型言語の性格ももっている。

Objective-C
Cを拡張してオブジェクト指向を可能にしたというよりは、Cで書かれたオブジェクト指向システムを制御しやすいようにマクロ的な拡張を施した言語である。したがって、better Cに進んだC++とは異なり、C & Object Systemという考え方であり、ある意味二つの言語が混在した状態にある。プログラマは問題領域に合わせて双方を使い分けることができるため、お互いの利点を活かしやすいのが特徴であるが、双方の文法や様式の違いゆえにスパゲッティプログラム化しやすい問題をもはらんでいる。

C#
共通言語基盤(共通言語ランタイムなど)が解釈する共通中間言語にコンパイルされて実行される。基本的な書式がC言語風になっているため、初見の構文はサン・マイクロシステムズ社によるJavaに近いと言われるが、実際の構文はDelphiに準じており、C言語風ということもありC++ Builderの独自拡張構文に極めて近い内容となっている。またプロパティやデリゲートなどDelphiの構文そのまま、もしくは名称変更しただけの機能となっているものが多い。

Delphi
使われるコンポーネントの枠組は「Visual Component Library」(VCL) と呼ばれる。このフレームワークを用いてC++言語でのWindows向けソフトウェア開発を実現したものが「C++ Builder」である。また、Delphi自体はWindows専用の開発環境であるが、Delphi言語でのLinuxソフトウェア開発を可能とした製品として「Kylix」がある。

COBOL
主にメインフレームで使用される言語。事務処理向きのコンパイル言語。

FORTRAN 
主にメインフレームで使用される言語。科学技術計算向きのコンパイル言語。

アセンブラ言語
コンピュータを動作させるための機械語を人間にわかりやすい形で記述する、代表的な低級言語である。

C言語
UNIXの移植性を高めるために開発された経緯から、オペレーティングシステムカーネル向けの低レベルな記述ができることを特徴としている。

BASIC
FORTRANの文法が基になっており、初心者向けのコンピュータ言語として、1970年代以降のコンピュータ(特にパソコン)で広く使われた。パソコンがCUI環境からGUI環境となった現在でも、Windowsアプリケーションの主力開発言語であるVisual Basicの文法に影を残している。

Java
* Javaではプラットフォームに依存しないアプリケーションソフトウェアの開発と配備を行うことができる。
* Javaで開発されたソフトウェアは堅牢な実行環境(仮想マシン)であるJava仮想マシンのもとで動作する。
* オブジェクト指向プログラミングの考え方に基づいて設計された言語であり、ソフトウェアの開発と保守の複雑さを低減し、開発効率と保守性を高める。
* Smalltalk や Objective-C と同様な簡潔なオブジェクトモデルを採用している。
* 構文は C および C++ から多くを引き継いでいる。

Visual Basic
マイクロソフト社が開発した、ビジュアル開発環境。Windows系OSで実行可能なアプリケーションを開発するのに適した開発環境。Basicといいながらもコンパイル可能。

Perl
記述の美しさよりも実用性と多様性をモットーにしており、Cやsed、awk、シェルスクリプトなど他のプログラミング言語やスクリプト言語の優れた機能を取り入れている。CGIスクリプトやシステム管理、テキスト処理などのプログラムを書くのに広く用いられている。代表的なアプリケーションはMovable Typeなど。

PHP
動的にHTMLデータを生成することによって、動的なウェブページを実現することを主な目的としたプログラミング言語、およびその言語処理系である。

※コンパイラ(compiler)とは、特定のプログラミング言語で記述されたソースコードを読み込み、ターゲットとなるコンピュータ、あるいは、バーチャルマシンが直接実行できる命令語に変換するソフトウェアのことである。また、コンパイラによる変換工程をコンパイルと呼ぶ。Java仮想マシンのような仮想的な論理計算機をターゲットにしてコンパイルを行うようなコンパイラは、中間言語コンパイラと呼ばれる。

※インタプリタ(interpreter)とは、プログラミング言語で書かれたソースコード、ないし中間表現を逐次解釈しながら実行するプログラムのこと。Javaのように、中間表現に変換するコンパイラと、中間表現を実行するインタプリタに分ける、という構成をとるものもある。ほぼ全てのプログラミング言語が、インタプリタ方式でもコンパイラ方式でもどちらでも実装可能である。しかしながら、変数に型を持たないスクリプト言語では、高速に動作することがあまり期待されていなく、JavaScriptやLuaなどをのぞいて、多くの物が実装の容易なインタプリタ方式で実装されている。

※オブジェクト指向(オブジェクトしこう)とは、オブジェクト同士の相互作用としてシステムの振る舞いをとらえる考え方である。

※スクリプト言語(スクリプトげんご、英語: scripting language)とは、アプリケーションソフトウェアの動作内容を、台本(script)のように記述し制御するための、簡易的なプログラミング言語である。

参考(プログラム言語の歴史)
http://www.shos.info/develop/oo/prglng.html
最後に編集したユーザー izmknt on 2010年11月11日(木) 16:29 [ 編集 1 回目 ]

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前

Re: 言語

投稿記事 by softya(ソフト屋) » 14年前

メジャーどころだとC#や、Ruby,Python、Objective-C、Delphi、JavaScript、Lispが抜けてますね。あと、なんか情報が古い気が。すでにPHPはPerlを抜いて普及していますよ。

ちなみに、JavaやVisual Basicもコンパイラですが機械語を出すわけではありません。もう少しwikipediaなどで知らべて見ることをお勧めします。

アバター
izmknt
記事: 0
登録日時: 14年前

Re: 言語

投稿記事 by izmknt » 14年前

コメントありがとうございます。
上文の内容を取り入れた上で内容を編集しておきます。

アバター
ookami
記事: 214
登録日時: 15年前

Re: 言語

投稿記事 by ookami » 14年前

初めまして。ookamiです。

こんなのを見つけましたw
http://www.shos.info/develop/oo/prglng.html
プログラミング言語の年表と、系統図です。
マイナーなのも含まれているようですが、ご参考になれば幸いです。

アバター
izmknt
記事: 0
登録日時: 14年前

Re: 言語

投稿記事 by izmknt » 14年前

コメントありがとうござます。
さすがにこれはかけないので参考として本文に加えさせていただきます。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前

Re: 言語

投稿記事 by softya(ソフト屋) » 14年前

少し突っ込むと、
コンパイラの記述がまだ機械語のままですね。
インタプリタ言語はスクリプト言語を内包していると思いますので、その記述も欲しいですね。

アバター
izmknt
記事: 0
登録日時: 14年前

Re: 言語

投稿記事 by izmknt » 14年前

わざわざありがとうございます。
とりあえず追記しておきました。
追記しておきましたので確認お願いします。