Archive for 12月, 2011

  1. Hello, COBOL World!

    Posted on 12月 11th, 2011 by cx20

    COBOL

    COBOL は事務処理用に開発されたプログラミング言語である。
    名前は「汎用の商用目的言語(Common Business Oriented Language)」に由来する。

    ソースコード

           IDENTIFICATION DIVISION.
           PROGRAM-ID. hello.
           PROCEDURE DIVISION.
           DISPLAY "Hello, COBOL World!".
           STOP RUN.

    紙テープ(穿孔テープ)には以下のように出力される。(出力例は「ミスター・パンチ」より)

    ●●●●●●● ●  ●  ●      ●●●● ●●●●   ●   ● ●●●●●●● ●● ●●   
           ●●●●●●●  ●●●●●  ●●●●● ●●●●●            ●●●● ●●● 
    ●●●●●●●       ●● ●●●●●●     ● ●●●●●●●  ●●●●●●●    ●   ●
             ●●  ●               ● ●              ●● ● ●●  
            ●  ● ●  ● ●●●●  ● ●●  ● ●   ●●●         ●    ●●
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
           ●   ●     ●●●●●  ● ●● ●● ●●  ●●         ●●   ●●●
             ●     ●    ●  ●●●●  ●●●   ●● ●       ● ●  ● ●●
            ●●  ●●   ●  ●  ●● ●  ●●   ●  ●        ● ●   ●  

    コンパイル方法(OpenCOBOL)

    $ cobc -x hello.cob

    実行結果

    Hello, COBOL World!
  2. Hello, Go World!

    Posted on 12月 10th, 2011 by cx20

    Go言語

    Go言語は Google によって開発された並列コンピューティングに対応したプログラミング言語である。
    プログラムは Go言語 のオフィシャルサイト(http://golang.org/)にて試すことができる。また、このサーバー自体が Go言語 で記述されている。

    ソースコード

    package main
     
    import "fmt"
     
    func main() {
        fmt.Printf( "Hello, Go World!n" );
    }

    コンパイル&リンク方法(Go言語x64版)

    $ 6g hello.go
    $ 6l -o hello hello.6
    

    コンパイル&リンク方法(Go言語x86版)

    $ 8g hello.go
    $ 8l -o hello hello.8
    

    2012年3月に version 1 がリリースされ、コンパイル方法も以下のように変更された。

    コンパイル方法

    $ go build -o hello hello.go
    

    実行結果

    Hello, Go World!
    
  3. Hello, Pascal World!

    Posted on 12月 9th, 2011 by cx20

    Pascal

    Pascal は教育用言語として開発された構造化プログラミングに適した言語である。名前は世界最初の機械式計算機を開発した「ブレーズ・パスカル」に由来する。
    ちなみに Borland 社の Turbo Pascal や、その後継の Delphi ではコンパイルの早さに定評があった。
    なお、Borland Delphi は、いくつかの会社(Borland → Inprise → CodeGear → Embarcadero)を経て、現在は、Embarcadero Delphi となっている。
    また、Delphi は当初、Oracle Database のフロントエンドの採用を目論んで名付けられたとされている。

    ソースコード

    program hello;
    begin
        writeln( 'Hello, Pascal World!' );
    end.

    コンパイル方法(Free Pascal)

    $ fpc hello.pas

    コンパイル方法(GNU Pascal)

    $ gpc -o hello hello.pas

    コンパイル方法(Delphi XE2)

    C:¥> dcc32 hello.pas

    実行結果

    Hello, Pascal World!
  4. Hello, Fortran World!

    Posted on 12月 8th, 2011 by cx20

    Fortran

    FORTRAN は科学技術計算用のプログラミング言語で世界初の高級言語とされている。FORTRAN の名前は「数式翻訳(FORmula TRANslation)」に由来する。大文字の FORTRAN の表記の場合 FORTRAN77以前を、小文字の Fortran の場合、Fortran90 以降を表す。
    プログラムはパンチカードに書くことを前提とされていた為、文字位置の桁に意味を持っている(1桁目にCを書くとコメント行、本文は7桁目から、など。)

    ソースコード

          PRINT *, "Hello, Fortran World!"
          END

    紙テープ(穿孔テープ)へ出力した場合は以下のように出力される。(出力例は「ミスター・パンチ」より)

    ●●●●●● ●● ●●●●●      ●●●    ●●●●   ●  ● ●●●●●●●  
          ●●●●●     ●●●●●  ●●●●●●● ●●●●●          ●●●
    ●●●●●●     ●●●●● ●●●●●● ●●●●●●● ●●●●●●  ●●●●●●   
          ●●  ●              ●●●   ● ●               
            ●●  ●●  ● ●●●●  ●    ●  ● ●   ●●       ● 
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
             ●●  ●   ●●●●● ●● ●  ● ●● ●●  ●       ●●●
           ● ●  ●  ●    ●  ●●● ● ● ●●●   ● ●       ● 
            ●        ●  ●   ●   ●  ●●   ● ●          

    なお、現在、無償で利用できる Fotran コンパイラとしては以下のようなものがある。
    f2c はコンパイラではないが、Fotran のソースを C言語のソースに変換することで、C コンパイラの利用が可能となっている。

    コンパイラ コマンド FORTAN 77 Fortran 90 Fortran 95 Fotran 2003
    GNU Fortran gfortran
    G95 g95
    A Fortran-to-C Converter f2c

    コンパイル方法(GNU Fortran)

    $ gfortran -o hello hello.f

    コンパイル方法(g95)

    $ g95 -o hello hello.f

    コンパイル&リンク方法(f2c + GNU C)

    $ f2c hello.f
    $ gcc hello hello.c -lf2c -lm

    コンパイル&リンク方法(f2c + Visual C++)

    C:¥> f2c hello.f
    C:¥> cl hello.c /link libf2c.lib

    実行結果

    Hello, Fortran World!
  5. Hello, VB.NET World!

    Posted on 12月 7th, 2011 by cx20

    VB.NET

    VB.NET はマイクロソフトが Visual Basic をベースに .NET Framework 環境向けに開発したプログラミング言語である。
    C# 同様に、UNIX 環境向けの .NET Framework 互換プロジェクト「Mono」により他の OS でも動作できるようになってきている。

    ソースコード

    Imports System
     
    Class Hello
        Shared Sub Main()
            Console.WriteLine ("Hello VB.NET World!")
        End Sub
    End Class

    コンパイル&実行方法(Mono)

    $ vbnc Hello.vb
    $ mono Hello.exe
    

    コンパイル&実行方法(.NET Framework)

    C:¥> vbc Hello.vb
    C:¥> Hello
    

    実行結果

    Hello, VB.NET World!
    
  6. Hello, Smalltalk World!

    Posted on 12月 6th, 2011 by cx20

    Smalltalk

    Smalltalk はアラン・ケイ氏らにより開発されたオブジェクト指向プログラム言語である。理想のパーソナルコンピュータ「Dynabook」を実現する為に開発された。ちなみに「オブジェクト指向」という言葉を作ったのもアラン・ケイ氏とのこと。
    Smalltalk の名前の由来は「small talk(世間話)」でオブジェクトが相互に通信することを表している。

    ソースコード

    'Hello, Smalltalk World!' printNl

    実行方法(GNU Smalltalk)

    $ gst hello.st

    実行結果

    Hello, Smalltalk World!
  7. Hello, Objective-C World!

    Posted on 12月 5th, 2011 by cx20

    Objective-C

    Objective-C は C言語に Smalltalk の概念を組み合わせたような言語である。
    C言語の上位互換ではあるが、独自のコンパイラディレクティブや [] によるメッセージ式など、C++ プログラマからすると特殊に見える為、取っ付きにくい言語と言われている。
    主に、Apple の Mac OS X や iOS のアプリ開発に利用されている。

    ソースコード

    #import <Foundation/Foundation.h>
     
    @interface HelloWorld : NSObject
    {
    }
    - (void) sayHello;
    @end
     
    @implementation HelloWorld
    - (void) sayHello
    {
        NSLog( @"Hello, Objective-C World!" );
    }
     
    @end
     
    int main( int argc, char* argv[] )
    {
        id hw = [HelloWorld alloc];
        [hw sayHello];
        return 0;
    }

    コンパイル方法(Objective-C)

    $ gcc -o hello hello.m -lobjc -framework Foundation

    実行結果

    2011-12-05 01:20:43.624 hello[24302:707] Hello, Objective-C World!
  8. Hello, Java World!

    Posted on 12月 4th, 2011 by cx20

    Java

    Java はサン・マイクロシステムズにより開発されたオブジェクト指向プログラミング言語である。名前の由来は開発メンバーがコーヒー好きだったかららしい。ちなみにクラスファイル(バイトコード)の最初の4バイトは 0xCAFEBABE となっている。

    ソースコード

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

    コンパイル&実行方法

    $ javac Hello.java
    $ java Hello

    実行結果

    Hello, Java World!
  9. Hello, C# World!

    Posted on 12月 3rd, 2011 by cx20

    C#

    C# はマイクロソフトが .NET Framework 環境向けに作成したオブジェクト指向プログラミング言語である。当初は COOL となるはずだったが、他の製品で使われている為に変更された。「#」は「++++」を表すとの説がある。
    基本的には Windows 向けの言語だが、UNIX 環境向けの .NET Framework 互換プロジェクト「Mono」により他の OS でも動作できるようになってきている。

    ソースコード

    using System;
     
    class Hello 
    {
        static void Main( string[] args ) 
        {
            Console.WriteLine( "Hello, C# World!" );
        }
    }

    コンパイル&実行方法(Mono)

    $ mcs Hello.cs
    $ mono Hello.exe

    コンパイル&実行方法(.NET Framework)

    C:¥> csc Hello.cs
    C:¥> Hello

    実行結果

    Hello, C# World!
  10. Hello, C++ World!

    Posted on 12月 2nd, 2011 by cx20

    C++

    C++ は C言語にオブジェクト指向的な拡張した言語。開発当初は「C with Classes」(クラス付きのC言語)と呼ばれていた。「++」は C言語のインクリメント演算子に由来する。

    ソースコード

    #include <iostream>
     
    using namespace std;
     
    int main( int argc, char* argv[] )
    {
        cout << "Hello, C++ World!" << endl;
        return 0;
    }

    コンパイル方法(UNIX C++ コンパイラ)

    $ CC -o hello hello.cpp

    コンパイル方法(GNU C++ コンパイラ)

    $ g++ -o hello hello.cpp

    コンパイル方法(LLVM Clang++ コンパイラ)

    $ clang++ -o hello hello.cpp

    コンパイル方法(Visual C++)

    C:¥> cl hello.cpp

    実行結果

    Hello, C++ World!