関連記事 ⇒ さくらのマネージドサーバに変更することに

4月 102011
 



[note]
COBOL

COBOL(コボル、COmmon Business Oriented Language 汎商業目的言語の略)は、事務処理用に開発されたプログラミング言語である。


[/note]




[note]
参考 COBOLの言語仕様

年齢を表すageという変数の値を、一定の年数を表すyearsという変数の値の分だけ増やす手続きは、例えば普通のプログラミング言語では
age = age + years(C言語などではage += yearsのように略記できる)
と書かれるが、COBOLでは
ADD YEARS TO AGE (英語でそのまま「年数を年齢に加える」)
となる。このように、数学やアルゴリズムの知識がほとんど無くとも構文上の約束事(全て現在形、語尾変化なしなど)さえ憶えて、英語による理路整然とした記述ができれば、COBOLのプログラムを取り扱うことができるようになっている。つまり事務処理の手順を逐一細かく(英語で)記述していけば事務処理が電算自動化できるという、工程的利点が存在する。さらにプログラムのコードそのものがプログラムの機能を説明する仕組みになっているので、コードをそのまま「読む」ことができるという利点もある。
一方でCOBOLは数学や自然科学、工学などの分野における制御・演算には向いていない。例えば二次方程式 A X2 + B X + C= 0の解(の片方)を求める手続きは、基本的な算術の演算子や初等的な関数 (数学)と再帰的に定義された文法を持つC言語などの多くの近代的プログラミング言語では
X = (-B + SQRT(B ** 2 – (4 * A * C))) / (2 * A)
と一文で済む一方、COBOLでは
MULTIPLY B BY B GIVING B-SQUARED. (BにBをかけてB二乗を得る)
MULTIPLY 4 BY A GIVING FOUR-A.   (Aに4を掛けて四Aを得る)
MULTIPLY FOUR-A BY C GIVING FOUR-A-C. (四AにCを掛けて四ACを得る)
SUBTRACT FOUR-A-C FROM B-SQUARED GIVING RESULT-1.
COMPUTE RESULT-2 = RESULT-1 ** .5.
SUBTRACT B FROM RESULT-2 GIVING NUMERATOR.
MULTIPLY 2 BY A GIVING DENOMINATOR.
DIVIDE NUMERATOR BY DENOMINATOR GIVING X.
と演算を一つずつ分けて別々に記述する必要がある。
このため事務処理用の言語として重宝された一方で、他の主要な言語の方法論とは隔たりが大きい。他の多くのプログラム言語では、処理を数式などで簡潔に記載する方向性があるが、COBOLでは逆にすべての処理を1行ごとの単純な処理に分解するという方向性がある。この影響で「COBOL(だけ)を習熟しても、他の言語でのプログラミング能力は高いとは限らない」とも言われる。ただし、前述したように過去にCOBOLで処理された膨大なデータが蓄積されたため、これを維持あるいは更新する必要が存在し、COBOLに対する需要はいまだに根強く存在する。


[/note]


なるほどこれを見てみるとCOBOLってのは
英語の文章を作るように書かれているんですね。

確かにここに書かれているように
ほかの言語とはちょっと言語使用が違うようですし、
むしろCOBOLのほうが一字一句きれいに指定して書かないといけない分
作業量は多くなりますが、
あとで見返した人は理解しやすいのかなという印象でした。

COBOLというのはオラクルで使う
SQL文にどちらかというと近いのかもしれませんね。
繰り返しの処理がどちらかというと原始的というか
クラスとして扱ったりはしてないですので。

ほかの言語の特徴は繰り返しの部分の処理の仕方だと思います。

繰り返しを
・クラスで処理する、便利にする

ってところがCOBOLとJAVAとかほかのc言語とかとの違いだとおもいます。

[note]
参考 JAVA
Java(ジャバ)は、狭義ではオブジェクト指向プログラミング言語Javaであり、広義ではプログラミング言語Javaのプログラムの実行環境および開発環境をいう。このJavaプログラムの実行環境と開発環境(広義のJava)は、Javaプラットフォームとも呼ばれる。

概説

Javaは、従来のさまざまな言語の良い部分を引き継ぎ、欠点を克服するよう設計された。次のような特徴をもつ。
Javaではプラットフォームに依存しないアプリケーションソフトウェアの開発と配備を行うことができる。
Javaで開発されたソフトウェアは堅牢な実行環境(仮想マシン)であるJava仮想マシンのもとで動作する。
オブジェクト指向プログラミングの考え方に基づいて設計された言語であり、ソフトウェアの開発と保守の複雑さを低減し、開発効率と保守性を高める。
Smalltalk や Objective-C と同様な簡潔なオブジェクトモデルを採用している。
構文は C および C++ から多くを引き継いでいる。
現在、Javaの技術は、情報技術のローエンドからハイエンドまで幅広く使われている。 組み込みシステムや携帯機器(携帯電話・PHSやPDA・スマートフォン等)のシステムから、企業の情報システムを担う大規模なサーバやスーパーコンピュータまで、非常に多くの分野で活用されている。


オブジェクト指向プログラミング
Javaはクラスベースのオブジェクト指向プログラミング言語である。Javaのプログラムは複数のクラスから構成され、プログラムの実行は、各クラスが実体化したオブジェクト群が相互にメッセージをやりとりしながら行われる。Javaでは、実装の単一継承を採用し、一つのクラスが複数のインタフェースをもつことができる。クラスとは、オブジェクト指向においてオブジェクトの設計図にあたるものである。オブジェクトについては後述する。継承とは、既存のクラスを基にして、そのクラスの機能を引き継いだ新しいクラスを定義できることをいう。Javaでは実装の多重継承は採用していない。Javaでは一つのクラスが複数のインタフェースをもてるため、一つのクラスに複数の役割をもたせることができる。


[/note]


[note]
参考 JAVAの文法

http://ja.wikipedia.org/wiki/Javaの文法

[/note]
あと

JAVAとJAVAスクリプトは別物なので、もし使うことがあるならば若干注意して区別したほうが良いですね、自分も両者を混同していましたので言語とか用途とか別物なので注意です。


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

[/note]


平たく言えば、htmlの中にJavaScriptで記述しておけば
勝手にインターネットエクスプローラーとか開いたときに
ぼよよーんってメニューが動いたり
簡単な四則演算をできたり、
そういう簡単なアクションをさせるときに
JavaScriptをhtmlに埋め込んでホームページを作ったりします。

自分はそういうのはあんまり好きじゃないのでやらないけど
いまはJQUARYとかいろいろあるようですね。

普通にJAVAを勉強しているときに
JavaScriptはおそらく出てこないでしょうけど
知らないと俺みたいにごっちゃにしてしまうのでレクチャーしてみました。
以上です。
参考 ウィキペディア


Sorry, the comment form is closed at this time.

関連記事はこちら

関連記事はこちら

■関連記事 ⇒ さくらのマネージドサーバに変更することに






じゃらん Web サービス Supported by 楽天ウェブサービス