SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

あなたが学ぶべき10の現代実用プログラミング言語

独断と偏見で選ぶプログラミング言語10選


  • X ポスト
  • このエントリーをはてなブックマークに追加

Java

 Sun Microsystemsが自身の開発する仮想システムJava上で動作するためのアプリケーション開発用言語として生み出されたのが「Java言語」です。Javaアプリケーションは、OSに依存せずに一度書けばどこでも動作することを目標に設計されています。Java言語で開発されたプログラムコードをコンパイルすると、バイトコードと呼ばれる中間言語が生成され、これを各プラットフォームごとに用意された専用の仮想マシンで実行することで、同じバイトコードを異なるシステム上で実行することができます。

 C言語やC++言語とは異なり、基本的にJava言語はコンピュータが直接実行できる実行可能ファイルを生成するのではなく、Java仮想マシンで実行するバイトコードを生成するための専用言語となります。オブジェクト指向型言語でありながら、同じオブジェクト指向型言語であるC++言語に比べると非常にスリムな文法で人気を高めました。

 まったくプログラミング言語の経験がないところから始めるには、構造的な文法を理解するのが難しいかもしれません。簡単なスクリプト言語やC言語などを学習してから次のステップとして選択するとよい言語だと思います。オブジェクト指向やデザインパターンを学習するにも適した言語です。C++言語が複雑でオブジェクト指向につまづいたという方にもちょうど良い難易度だと思います。

学習レベル 中級~
実行方式 中間言語
開発対象 Javaアプリケーション
適用分野 アプリケーション開発、Web開発、アプレット
サンプル03
class Test {
    public static void main(String[] args) {
        System.out.println("Kitty on your lap");
    }
}

 Java言語は、すべてのコードが必ず何らかの「クラス」の中に所属しています。全てのプログラムはクラスという部品単位に分解され、必要な時にクラスが読み込まれて実行されます。サンプル03の場合は「Test」という名前のクラスが作られています。プログラムは、最初に読み込まれるクラスのmainメソッドから開始されます。

 標準出力に文字列を出力するには、標準クラスライブラリで提供されている「System」クラスのoutフィールドを使います。「System」クラスはJavaシステムの基本的な機能を提供するクラスで、outフィールドは標準出力を表すPrintStreamオブジェクトとして提供されています。PrintStreamクラスは、出力ストリームに任意の値を文字列として出力するprintlnメソッドを提供しています。

 Javaの場合も、C言語と同様にプログラミング言語の機能はプログラムの構造と流れの記述のみです。入出力などの処理は全て、標準で提供されているクラスライブラリの機能となります。

関連リンク

C#

 C#言語はJavaの人気を受けて、Microsoftが開発した仮想システム「Microsoft .NET」向けのアプリケーションを開発する専用言語です。Microsoft .NETの基本的な仕組みはJavaと同じです。中間言語を仮想マシンで実行することで、異なる環境下でも同じ結果を得られるアプリケーションを開発することができます。C#言語は、基本的に.NETアプリケーション開発を対象としたプログラミング言語となります。

 また、最近ではWindowsやXbox 360のゲーム開発環境として公開された「XNA Game Studio」でもC#言語が用いられています。XNAはMicrosoftのゲームプラットフォームを抽象化するためのフレームワークで、基本的な仕組みは.NETと同じように中間言語が使われています。これまで、ゲーム開発はCまたはC++言語が専門とされていましたが、XNAの登場によってWindowsやXbox 360プラットフォームを対象としたゲームプログラミングにC#という選択も可能になりました。本稿執筆時点ではXNA開発環境はC#言語しか用意されていないため、XNA向けのゲームを開発する場合は必須となります。

 C#言語は、オブジェクト指向プログラミングで一般的なインスタンス変数へのアクセス方法に用いられるアクセッサメソッドなどを文法に取り入れ、よりスマートで直観的なコードを書けるように工夫されています。すべてを理解するにはある程度の経験が必要ですが、標準ライブラリを利用して簡単なプログラムを作る程度であれば、オブジェクト指向初心者にもやさしい言語です。

 Java言語の経験者であれば抵抗なく受け入れられるプログラミング言語だと思いますが、まったくの初心者が学ぶには敷居が高いかもしれません。やはり、簡単なスクリプト言語やC言語などの基本的な言語の経験があるとよいでしょう。

学習レベル 中級~
実行方式 中間言語
開発対象 .NETアプリケーション、XNAアプリケーション
適用分野 アプリケーション、Web開発、XNA(ゲーム)
サンプル04
class Test {
    static void Main() {
        System.Console.WriteLine("Kitty on your lap");
    }
}

 C#言語の場合も、グローバルな空間に関数を置くことはできません。全てのコードはクラスの内部に記述され、プログラムはクラスという部品に分解されています。サンプル04はTestクラスを作成し、Mainメソッドからプログラムが開始されます。

 標準出力にテキストを表示するにはSystem名前空間のConsoleクラスのWriteLineメソッドを使います。これらは.NET Frameworkとして提供されている標準クラスライブラリで、基本的な思想はJavaと同じです。

関連リンク

Visual Basic

 BASIC言語は、古くは教育からアプリケーション開発にまで実用されていたプログラミング言語で、C言語に比べると簡単であることから特に初心者やホビーストの間で人気の高い言語でした。しかし、その後本格的なアプリケーション開発にはC言語が用いられるようになったことから、純粋なBASIC言語は失われて行きました。

 現在、もっとも実用されているBASIC系の環境はMicrosoftが販売するVisual Basicでしょう。Visual Basicは、BASICに近い文法を使ってWindowsアプリケーションを開発することができます。最新のVisual Basic .NETはC#言語と同じように.NETアプリケーション開発を対象としているため、高度なオブジェクト指向が取り入れられています。しかし、.NETアプリケーションの開発を専門に設計されたC#言語に比べるとVisual Basic .NETは、従来のVisual Basic言語の文法をベースにしているため、Visual Basic系の開発者がオブジェクト指向や.NETアプリケーション開発を学習するのに適した言語でしょう。

 .NETアプリケーション開発は、C#とVisual Basic .NETの2つの言語が主流なので、開発現場によってC#とVisual Basic .NETを使い分けられるように、両言語を習得しておくのもよいでしょう。

学習レベル 初心者~中級
実行方式 中間言語
開発対象 .NETアプリケーション
適用分野 アプリケーション、Web開発
サンプル05
Class Test
    Shared Sub Main()
        System.Console.WriteLine("Kitty on your lap")
    End Sub
End Class

 Visual Basic .NETのコードからコンパイルされるプログラムはC#言語と同じで.NETアプリケーションです。コンパイル結果として得られる中間言語が同じなので、基本的な文法が異なるだけで、プログラムの構造はC#言語と同じです。入出力などのシステムに関連する機能もC#言語と同じように.NET Frameworkの標準クラスライブラリを共有します。

 プログラムはクラス単位で開発されるため、最初にTestクラスを定義しています。次に、プログラムの開始点となるMainメソッドを作成し、この中でSystem名前空間のConsoleクラスのWriteLineメソッドを呼び出しています。

関連リンク

次のページ
JavaScript

修正履歴

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

赤坂 玲音(アカサカ レオン)

平成13年度「全国高校生・専門学校生プログラミングコンテスト 高校生プログラミングの部」にて最優秀賞を受賞。2005 年度~ Microsoft Most Variable Professional Visual Developer - Visual C++。プログラミング入門サイト WisdomSoft の管理人。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/1502 2008/08/26 14:11

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング