Archive for 1月, 2012

  1. Hello, PostScript World!

    Posted on 1月 31st, 2012 by cx20

    PostScript

    PostScript は Adobe Systems が開発したページ記述言(PDL)である。
    名前の由来は「追伸(post script)」から。逆ポーランド記法の後置記法にかけている。
    1985年当時、コンピュータ・プリンタ間の通信速度が低速だったことから、プリンタ自身にイメージ生成を行わせることを目的として開発された。
    他のページ記述言語としては、Canon の LIPS、EPSON の ESC/Page などがある。

    ソースコード

    %!
    ("Hello, PostScript World!¥n") print
    quit

    実行方法(GhostScript)

    $ gs -q -dNODISPLAY hello.ps

    実行結果

    Hello, PostScript World!
  2. Hello, AppleScript World!

    Posted on 1月 30th, 2012 by cx20

    AppleScript

    AppleScript は Mac OS の OSA(Open Scripting Architecture)に準拠したオブジェクト指向スクリプト言語である。

    ソースコード

    #!/usr/bin/osascript
    tell application "Finder"
        "Hello, AppleScript World!"
    end tell

    実行方法(スクリプトファイルを指定して実行)

    $ osascript ./hello.applescript

    実行方法(実行権限を付与して実行)

    $ chmod +x ./hello.applescript
    $ ./hello.applescript

    コンパイル&実行方法

    $ osacompile -o hello.scpt hello.applescript
    $ osascript ./hello.scpt

    実行結果

    Hello, AppleScript World!
  3. Hello, Erlang World!

    Posted on 1月 29th, 2012 by cx20

    Erlang

    Erlang は並行処理指向のプログラミング言語である。名前の由来は数学者のアグナー・アーラン (Agner Krarup Erlang) より。

    ソースコード

    -module(hello).
    -export([main/0]).
     main()->
         io:format("Hello, Erlang World!n").

    コンパイル&実行方法

    $ erlc hello.erl
    $ erl -noshell -s hello main -s init stop

    実行結果

    Hello, Erlang World!
  4. Hello, Nemerle World!

    Posted on 1月 28th, 2012 by cx20

    Nemerle

    Nemerle はオブジェクト指向言語と関数型言語の特徴をあわせ持ったハイブリッド言語である。構文は C# に似ており .NET Framework で動作する。名前の由来はゲド戦記の大賢人ネマール(Nemmerle)から。
    C# 同様に、UNIX 環境向けの .NET Framework 互換プロジェクト「Mono」により他の OS でも動作させることができる。

    ソースコード

    using System;
     
    class Hello
    {
        static Main() : void
        {
            Console.WriteLine("Hello, Nemerle World!");
        }
    }

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

    $ mono ncc.exe -o hello hello.n
    $ mono ./hello.exe

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

    C:¥> ncc -o hello hello.n
    C:¥> hello

    実行結果

    Hello, Nemerle World!
  5. Hello, Fantom World!

    Posted on 1月 27th, 2012 by cx20

    Fantom

    Fantom は Java VM もしくは .NET 共通言語ランタイム上で動作するオブジェクト指向言語である。構文は Java や C# に似ている。
    言語の名前は当初、作者が住んでいる住所にちなんで「Fan」と付けられたが、検索しやすいように「Fantom」に変更された。

    ソースコード

    #!/usr/bin/env fan
    class Hello
    {
        static Void main()
        {
            echo("Hello, Fantom World!")
        }
    }

    実行方法(スクリプトファイルを指定して実行)

    $ fan hello.fan

    実行方法(実行権限を付与して実行)

    $ chmod +x hello.fan
    $ ./hello.fan

    実行方法(Java VM で実行)

    $ fan -version --Druntime=java
    Fantom Launcher
    Copyright (c) 2006-2011, Brian Frank and Andy Frank
    Licensed under the Academic Free License version 3.0
     
    Java Runtime:
      java.version:    1.6.0_29
      java.vm.name:    Java HotSpot(TM) 64-Bit Server VM
      java.vm.vendor:  Apple Inc.
      java.vm.version: 20.4-b02-402
      java.home:       /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
      fan.platform:    macosx-x86_64
      fan.version:     1.0.61
      fan.env:         sys::BootEnv
      fan.home:        /usr/local/Cellar/fantom/1.0.61/libexec
     
    $ fan --Druntime=java hello.fan

    実行方法(.NET Framework で実行)

    C:¥> fan -version --Druntime=dotnet
    Fantom Launcher
    Copyright (c) 2006-2011, Brian Frank and Andy Frank
    Licensed under the Academic Free License version 3.0
     
    .NET Runtime:
      clr.version:  2.0.50727.5448
      sys.platform: win32-x86
      sys.version:  1.0.61
     
    C:¥> fan --Druntime=dotnet hello.fan

    実行結果

    Hello, Fantom World!
  6. Hello, Boo World!

    Posted on 1月 26th, 2012 by cx20

    Boo

    Booは .NET Framework 向けのオブジェクト指向言語である。構文は Python に近い。名前の由来は不明だがロゴ(パックマンの敵キャラに似ている)からお化けのことと思われる。
    C# 同様に、UNIX 環境向けの .NET Framework 互換プロジェクト「Mono」により他の OS でも動作させることができる。

    ソースコード

    #!/usr/bin/env booi
    print "Hello, Boo World!"

    ソースコード(.NET ライブラリを使用した場合)

    #!/usr/bin/env booi
    import System
    Console.WriteLine("Hello, Boo World!")

    実行方法(スクリプトファイルを指定して実行)

    $ booi hello.boo

    実行方法(実行権限を付与して実行)

    $ chmod +x hello.boo
    $ ./hello.boo

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

    $ booc hello.boo
    $ mono ./hello.exe

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

    C:¥> booc hello.boo
    C:¥> hello

    実行結果

    Hello, Boo World!
  7. Hello, Cobra World!

    Posted on 1月 25th, 2012 by cx20

    Cobra

    Cobra は .NET Framework 向けのオブジェクト指向言語である。名前の由来は Python(ニシキヘビ)に対するものと思われる。構文は Python の特徴を引き継いでいる。
    C# 同様に、UNIX 環境向けの .NET Framework 互換プロジェクト「Mono」により他の OS でも動作させることができる。

    ソースコード

    #!/usr/bin/env cobra
    class Program
        def main is shared
            print 'Hello, Cobra World!'

    ソースコード(.NET ライブラリを使用した場合)

    #!/usr/bin/env cobra
    use System
    class Program
        def main is shared
            Console.writeLine('Hello, Cobra World!')

    実行方法(スクリプトファイルを指定して実行)

    実際には、コンパイルされた後に実行される。

    $ cobra hello.cobra

    実行方法(実行権限を付与して実行)

    $ chmod +x ./hello.cobra
    $ ./hello.cobra

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

    $ cobra -c hello.cobra
    $ mono ./hello.exe

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

    C:¥> cobra -c hello.cobra
    C:¥> hello

    実行結果

    Hello, Cobra World!
  8. Hello, Oxygene World!

    Posted on 1月 24th, 2012 by cx20

    Oxygene

    Oxygene は RemObjects Software 社による .NET または Java 環境向けのプログラミング言語である。
    Embarcadero 社の Delphi Prism のプログラミング言語として採用されている。
    コンパイラ単体は「Command Line Compiler」として無償提供されている。
    C# 同様に、UNIX 環境向けの .NET Framework 互換プロジェクト「Mono」により他の OS でも動作させることができる。

    ソースコード(.NET ライブラリを使用した場合)

    namespace hello;
     
    interface
     
    type
        Hello = class
    public
        class method Main(args: array of String): Integer;
    end;
     
    implementation
     
    class method Hello.Main(args: array of String): Integer;
    begin
        System.Console.WriteLine('Hello, Oxygene World!');
    end;
     
    end.

    ソースコード(Java ライブラリを使用した場合)

    namespace hello;
     
    interface
     
    type
        Hello = class
    public
        class method Main(args: array of String): Integer;
    end;
     
    implementation
     
    class method Hello.Main(args: array of String): Integer;
    begin
        System.out.println('Hello, Oxygene World!');
    end;
     
    end.

    コンパイル&実行方法(.NET プログラムとしてコンパイル&実行)

    C:¥> oxygene HelloDotNet.pas -type:exe -mode:Net
    C:¥> HelloDotNet

    コンパイル&実行方法(Java プログラムとしてコンパイル&実行)

    C:¥> oxygene HelloJava.pas -mode:Java
    C:¥> java -jar hellojava.jar

    実行結果

    Hello, Oxygene World!
  9. Hello, Phalanger World!

    Posted on 1月 24th, 2012 by cx20

    Phalanger

    Phalanger は .NET 環境向けの PHP コンパイラである。名前は「PHP language compiler」の略。
    PHP の構文が使える他、.NET Framework のライブラリが使用できる。
    C# 同様に、UNIX 環境向けの .NET Framework 互換プロジェクト「Mono」により他の OS でも動作できるようになってきている。

    ソースコード

    <?php
    echo "Hello, Phalanger World!\n";
    ?>

    ソースコード(.NET ライブラリを使用した場合)

    <?php
    SystemConsole::WriteLine("Hello, Phalanger World!");
    ?>

    コンパイル方法

    C:¥> phpc hello.php

    コンパイル方法(.NET Framework を使用する場合)

    C:¥> phpc /lang:clr /r:mscorlib hello.php

    実行結果

    Hello, Phalanger World!
  10. Hello, ClojureCLR World!

    Posted on 1月 23rd, 2012 by cx20

    ClojureCLR

    ClojureCLR は Lisp の方言の一つ Clojure の .NET 実装である。
    Clojure の構文が使える他、.NET のライブラリが利用できる。

    ソースコード

    (println "Hello, ClojureCLR World!")

    ソースコード(.NET ライブラリを使用した場合)

    (System.Console/WriteLine "Hello, Clojure World!")

    実行方法(.NET Framework)

    C:¥> Clojure.Main hello.clj

    実行結果

    Hello, ClojureCLR World!