タグ

javaとprogrammingに関するnorthweaverのブックマーク (5)

  • プログラマの思索: RubyよりもJavaが好きな理由

    最近、Ruby関西に行ってRubyの勢いを感じている。 そんな時に、Javaの最近の動きを聞く機会があった。 Java6やSeasarの話を聞くと、JavaがC#やRailsの影響を受けているように聞こえた。 でも、話しているうちに、「やっぱりRubyよりもJavaが好きなんだ」と気づいた。 その理由は、「JUnitのようなテスト駆動ツールが揃っている」点に尽きる。 そこで「テスト駆動の観点から眺めたJavaの利点とプログラミング思想」について考察してみる。 【1】テストを意識するとメソッドの行数が自然に短くなる プログラミング初心者のプログラムを見ると、行数がやたらと長く、長いプログラムを書き上げた後からデバッグし始める。 だから、いつまで経っても動かない。 プログラミング中級者になると、行数は長いままだが、少しずつ書いてはプリント出力してデバッグで動作を確認し始める。 この

  • 【ハウツー】クラス構造がまる見えに! UDocでJavaをダイナミックに分析する (1) Ja...

    UML、なかでもクラス図はクラスの関係を把握するうえで欠かせないダイアグラムだ。できれば既存のAPIはクラス図を見て簡単に全容を把握しておきたい。その際に全自動でクラス図を作成できると大変便利だろう。そこで紹介したいのがUDocだ。こうした用途にぴったりのアプリケーションである。 UDocはJava クラスをUMLライクのダイアグラムによって視覚化するGUIアプリケーションだ。Javadoc、Javaバイナリファイル、Javaソースコードなどから動的に UMLライクのダイアグラムを生成できる。生成されるダイアグラムそのものを動的に編集することも可能なので、グリグリといぢりながらクラス関係を解析できるすぐれものだ。動作にはJDK 5.0かそれ以上のバージョンが必要。稿執筆時点の最新版は12日(米国時間)に公開された1.005であり、GNU GENERAL PUBLIC LICENSE Ve

  • 【特集】Java RubyのJRuby - EJBからSwingまでRubyからJavaを使い倒す (1) JRubyとは? (MYCOMジャーナル)

    JRubyとは、Javaで実装したRubyの処理系だ。オープンソースプロジェクトとして、Charles Nutter氏とThomas E Enebo氏を中心として開発が進んでいる。執筆時点での最新の安定版リリースは0.9.8、5月の"2007 JavaOne Conference"で1.0が正式にリリースされる予定だ。 まずは、JRubyの特徴を紹介しよう。 Rubyの言語仕様に準拠している: Ruby1.8.5を元に、一部未実装や問題がある機能もあるものの、言語仕様を非常に互換性高く実装している。またRubyの標準ライブラリやgems(Rubyのライブラリなどをインストールするためのツール)についてもほとんどが含まれており、Rubyのプログラムの多くがJRuby上で正常に動作する JVM上で動作する: JRuby自体は100%Javaで実装された処理系である。したがって、実行するためには

  • 正規表現の確認

    正規表現を入力すると即座に一致判定を行います。パターンや入力を変えながら あれこれ試行錯誤したい時などに使用してください。正規表現エンジンは JDK 1.6 (Sun Microsystems Inc. Java VM 10.0-b23) を使用しています。PerlJavaScript など他の言語の正規表現とは細かいクセが違う 可能性があるので注意して下さい。Java 正規表現の詳しい仕様は Pattern クラスの API リファレンスに記載されています。

  • 【レポート】Java初学者には最適!? 解説から実行までブラウザでコンプリート - Javala (MYCOMジャーナル)

    Javaのオンライン学習するサイトJavalaが公開されている。JavalaはWebブラウザでJavaを学習したり、コードの実行結果を確認したりするための環境。タンペレ工科大学で開発されたもので、Java言語の学習を目的としている。リードデベロッパはTimo Lehtonen氏。使用に制限はなく、自由に利用できるとされている。用意されている言語は英語とフィンランド語。 図.1 Javala – Javaラーニング環境 基的なトピックとしてはJava言語の基礎(基型、演算子、制御構文、ループ構文、配列)、文字列(編集、比較、結合、トークン化)、オブジェクト(ネーミングとパッケージ、属性、演算、コンストラクタ、リファレンス、生成、削除)、クラス(クラスメソッド、クラス変数、定数、アクセス指定子)、継承(抽象クラス、サブクラス、動的束縛、型変換、比較、インタフェース)、例外(処理、try c

  • 1