SHOEISHA iD

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

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

japan.internet.com翻訳記事

JavaとRuby:主要機能の比較

JavaとRubyにおける記述方法の違い

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

Rubyはインタプリタによって解釈されるスクリプト言語で、Javaはコンパイラによってコンパイルされるプログラミング言語です。Rubyは、オブジェクト指向言語であり厳密な型指定を行うという点ではJavaに似ていますが、その文法や仕様は大きく異なっています。本稿では、RubyとJavaの主要機能を比較します。

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

はじめに

 Rubyはインタプリタによって解釈されるスクリプト言語で、Javaはコンパイラによってコンパイルされるプログラミング言語です。Rubyは、オブジェクト指向言語であり厳密な型指定を行うという点ではJavaに似ています。しかし、Rubyの型指定は動的であるのに対し、Javaの型指定は静的です。Rubyでは型宣言は使用されず、Javaでは型宣言は必須です。JavaとRubyのどちらにも継承があり、"パブリック"、"プライベート"、"プロテクト"のメソッドがあります。RubyはJavaより単純でJavaより高速です。Rubyはさまざまな点でJavaと異なっています。本稿では、RubyとJavaの主要機能を比較します。

インタプリタ方式とコンパイラ方式

 Rubyはインタプリタ方式のスクリプト言語なので、コンパイルしてバイトコードを生成することなく、直接実行できます。たとえば、Rubyファイル「helloruby.rb」は、次のコマンドで実行できます。

>ruby helloruby.rb

 これに対し、Javaアプリケーションは実行前にコンパイルする必要があります。たとえば、Javaクラス「hellojava.java」は、次のコマンドでjavacコンパイラを使ってコンパイルする必要があります。

>javac hellojava.java

 javacコンパイラは、Javaクラスのバイトコードを生成します。その結果、コンパイルしたクラスはjava.exeアプリケーションを使用して実行できるようになります。

>java hellojava

パッケージのインポート

 Rubyでは、requireステートメントを使用してパッケージやモジュールをインポートします。たとえば、extensionsパッケージ/モジュールをインポートするには次のようにします。

require 'extensions'

 外部ファイルをRubyアプリケーションに含めるには、loadまたはrequireを使用します。たとえば、外部ファイル「catalog.rb」を含めるには、次のrequireステートメントを追加します。

require "catalog.rb"

 loadrequireの違いは、loadがメソッド実行のたびに指定のRubyファイルを含めるのに対し、requireはそのRubyファイルを一度だけ含める点です。

 Javaでは、importステートメントを使用してパッケージをロードします。たとえば、Javaパッケージ「java.sql」をロードするには次のようにします。

import java.sql.*;

型付き変数

 RubyでもJavaでも厳密な型指定を行いますが、Rubyの変数の型指定は動的です。これはつまり、変数の型を明示的に関連付けられないということです。たとえば、文字列値を持つ変数は次のように宣言します。

str="Hello Ruby"

 このstr変数には特定の型が関連付けられていないので、整数型その他の型の値を代入できます。

str=1

 Javaの変数の型指定は静的であり、変数に型を関連付けることができます。たとえば、文字列変数は次のように宣言します。

String str="Hello Java";

 このstr変数に整数値を代入することはできません。

null値

 Rubyでは、null値はnilで宣言します。たとえば、変数strnil値を代入するには次のようにします。

str=nil

 Javaでは、null値はnullで宣言します。たとえば、変数strにnull値を代入するには次のようにします。

str=null;

会員登録無料すると、続きをお読みいただけます

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

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

メールバックナンバー

次のページ
オブジェクト指向

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
japan.internet.com翻訳記事連載記事一覧

もっと読む

この記事の著者

japan.internet.com(ジャパンインターネットコム)

japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.comEarthWeb.com からの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。

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

Deepak Vohra(Deepak Vohra)

O'Reillyの技術レビュー担当者として『WebLogic: The Definitive Guide』を担当。NuBeanコンサルタント、Web開発者でもある。Sun認定資格(Java 1.4プログラマおよびWebコンポーネントディベロッパJ2EEバージョン)を取得。メールの宛先はdvohra0...

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング