プログラミング言語

C

UNIXというOSをCで書いたことにより注目を浴びた言語。機械語に近いものも直接書くことができる。今でもC++とともに市販ソフトの多くがこれで書かれている。

#include <stdio.h>
 
int main(void)
{
  printf("Hello, World!\n");
  return 0;
}

mainという関数からプログラムが開始され、すべてはここから呼ばれる関数として組み立てられる。

C++

C言語にオブジェクト指向を加えたもの。C++の多くの実装はCとしても使えるので少しずつ取り入れていくことができるようだ。

#include <iostream>
using namespace std;

int main(int argc, char *argv[])
{
        cout << "Hello World!" << endl;
        return 0;
}

java

はじめからオブジェクト指向言語としてデビューして有名になった言語。新しい言語のためグラフィックやウェブ関係など現代のプログラミング言語に要求される機能がほぼそろっている。

Cの例と同様な端末に表示するプログラム

// Hello.java
public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello, world!"); 
    }  
}

java(2)

新たにウインドウを生成してそこに表示するプログラム

import javax.swing.*;
 
public class Hello extends JFrame {
    Hello() {
        setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
        add(new JLabel("Hello, world!"));
        pack();
    }
 
    public static void main(String[] args) {
        new Hello().setVisible(true);
    }
}

JavaScript

名前は似ているがjavaとの直接の関係はない。ウェブブラウザに実装されて有名になった。かつてはブラウザごとに書き方が異なっていたが、今では使用も変わってきて共通部分だけを使うことで大方のことは書けるようになった。

alert("Hello, JavaScript.");
var userName;
userName = prompt("名前を入力して下さい","");  
if(userName != "") {
  document.write(userName, "さん、こんにちは!");
} else {
  document.write("こんにちは! このつぎは名前をおしえてください。");
}

このプログラムをテストします。

Lisp

以下の関数は引数の階乗に評価される。

(defun factorial (n)
  (if (<= n 1)
      1
    (* n (factorial (- n 1)))))

以下は別のやり方であり、末尾再帰になっているので末尾再帰の最適化を行う処理系であれば上記のバージョンよりも高速である。

(defun factorial (n &optional (acc 1))
  (if (<= n 1)
      acc
    (factorial (- n 1) (* acc n))))

prolog

人間(ソクラテス).
死ぬ(X) :- 人間(X).

としておいて、以下のように入力すると、trueが返される。

?- 死ぬ(ソクラテス).

次のように入力すると

?- 死ぬ(X).
X=ソクラテス
聖愛中学高等学校
http://www.seiai.ed.jp/
May. 2009
Oct. 2011