Archive for the ‘.NET’ Category

  1. Hello, IronScheme World!

    Posted on 1月 22nd, 2012 by cx20

    IronScheme

    IronScheme は関数型言語 Scheme の .NET 実装である。開発当初は IronLisp として開発されていた。
    Scheme の構文が使える他、.NET Framework のライブラリが利用できる。

    ソースコード

    (import (rnrs))
    (display "Hello, IronScheme World!" )

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

    (import
      (rnrs)
      (ironscheme clr))
    (clr-static-call System.Console WriteLine "Hello, IronScheme World!" )

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

    $ isc hello.ss

    実行結果

    Hello, IronScheme World!
  2. Hello, IronRuby World!

    Posted on 1月 21st, 2012 by cx20

    IronRuby

    IronRuby はオブジェクト指向スクリプト言語 Ruby の .NET 実装である。
    Ruby の構文が使える他、.NET Framework のライブラリが利用できる。
    C# 同様に、UNIX 環境向けの .NET Framework 互換プロジェクト「Mono」により他の OS でも動作させることができる。

    ソースコード

    #!/usr/bin/env ir
    print "Hello, IronRuby World!"

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

    #!/usr/bin/env ir
    require 'mscorlib'
    require 'System'
    System::Console.WriteLine("Hello, IronRuby World!")

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

    $ ir hello.rb

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

    $ chmod +x hello.rb
    $ ./hello.rb

    実行結果

    Hello, IronRuby World!
  3. Hello, IronPython World!

    Posted on 1月 20th, 2012 by cx20

    IronPython

    IronPython はオブジェクト指向スクリプト言語 Python の .NET 実装である。
    Python の構文が使える他、.NET Framework のライブラリが利用できる。
    名前の由来は「料理の鉄人(The Battle of Iron Chef)」から。CPython vs IronPython をかけたシャレらしい。
    Jython(Python の Java 実装)の作者、Jim Hugunin 氏によって開発された。
    C# 同様に、UNIX 環境向けの .NET Framework 互換プロジェクト「Mono」により他の OS でも動作させることができる。

    ソースコード

    #!/usr/bin/env ipy
    print "Hello, IronPython World!"

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

    #!/usr/bin/env ipy
    from System import *
    Console.WriteLine("Hello, IronPython World!")

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

    $ ipy hello.py

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

    $ chmod +x hello.py
    $ ./hello.py

    実行結果

    Hello, IronPython World!
  4. Hello, C++/CLI World!

    Posted on 1月 19th, 2012 by cx20

    C++/CLI

    C++/CLI は C++ で .NET Framework を使用できるようにした、比較的新しい言語仕様である。Visual C++ 2005 より導入された。
    C++ の構文が使える他、.NET Framework のライブラリが使用できる。

    ソースコード

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

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

    #using <mscorlib.dll>
     
    using namespace System;
     
    int main( array<String ^> ^args )
    {
        Console::WriteLine( "Hello, C++/CLI World!" );
        return 0;
    }

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

    C:¥> cl /clr hello.cpp

    実行結果

    Hello, C++/CLI World!
  5. Hello, MSIL World!

    Posted on 12月 31st, 2011 by cx20

    MSIL

    MSIL は .NET Framework で使用されている中間言語(Intermediate Language)である。

    ソースコード

    .assembly extern mscorlib {}
    .assembly hello {}
     
    .method static void Main() cil managed {
        .entrypoint
        ldstr "Hello, MSIL World!"
        call void [mscorlib]System.Console::WriteLine(string)
        ret
    }

    上記コードは以下の C# のソースに対応する。
    アセンブリファイル(.NET でコンパイルしたモジュール)を ildasm で逆アセンブル(ildasdm hello.exe /out:hello.il)することで MSIL のコードを得られる。

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

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

    $ ilasm hello.il
    $ mono hello.exe
    

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

    C:¥> ilasm hello.il
    C:¥> hello

    実行結果

    Hello, MSIL World!
  6. Hello, PowerShell World!

    Posted on 12月 27th, 2011 by cx20

    PowerShell

    PoweShell は Windows における新しいコマンドラインシェルである。
    POSIX系シェルをベースとし、Perl や Python、PHP、C# の特徴を組み合わせた言語とされている。
    .NET Framework を基盤としており、コマンドの実行結果は .NET のオブジェクトとして処理される。

    ソースコード

    "Hello, PowerShell World!"

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

    [Console]::WriteLine("Hello, PowerShell World!")

    事前準備(実行ポリシーを変更する方法)

    PowerShell はスクリプト実行ポリシーが設定され、既定では Restricted(実行は無効)となっている。設定を確認するには Get-ExecutionPolicy コマンドレット、変更するには Set-ExecutionPolicy コマンドレットを用いる。

    C:¥> PowerShell
    Windows PowerShell
    Copyright (C) 2009 Microsoft Corporation. All rights reserved.
    
    PS C:¥> Get-ExecutionPolicy
    Restricted
    PS C:¥> Set-ExecutionPolicy RemoteSigned
    

    実行方法

    C:¥> PowerShell -File hello.ps1
    

    実行結果

    Hello, PowerShell World!
    
  7. Hello, JScript.NET World!

    Posted on 12月 26th, 2011 by cx20

    JScript.NET

    JScript.NET は JScript の .NET Framework 向け実装である。
    JavaScript の構文が使える他、.NET Framework のライブラリが利用できる。
    スクリプトと名前がついているが、コンパイルが必要。

    ソースコード

    print("Hello, JScript.NET World!");

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

    import System; 
    Console.WriteLine("Hello, JScript.NET World!");

    コンパイル&実行方法

    C:¥> jsc hello.js
    C:¥> hello
    

    実行結果

    Hello, JScript.NET World!
    
  8. Hello, F# World!

    Posted on 12月 15th, 2011 by cx20

    F#

    F# はマイクロソフトが開発した関数型プログラミング言語である。
    OCaml(Objective Caml)の構文が使える他、ライブラリに .NET Framework が使用できる。
    C# 同様に、UNIX 環境向けの .NET Framework 互換プロジェクト「Mono」により他の OS でも動作させることができる。

    ソースコード

    printfn "Hello, F# World!"

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

    open System
    Console.WriteLine("Hello, F# World!")

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

    $ fsc hello.fs
    $ mono hello.exe
    

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

    C:¥> fsc hello.fs
    C:¥> hello
    

    実行結果

    Hello, F# World!
    
  9. 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!
    
  10. 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!