2011年05月26日

或る無能なPythonistaのJava事始(2) 「やさし Java」の読み方

 1ヵ月程前に学習を始め、ようやく「やさしいJava 第4版 高橋麻奈著」も一通り読み終わった。まだ、ある無能なPythonista君は、行末のセミコロンを付け忘れ、javacに怒られている常態であるは内緒にしおくが、当初の想定通り、Javaの基本構造を理解しただけでは、実際のプログラミングで必要なライブラリを知らないので役立つものは何も書けていない。しかし、手間を省かず、「やさしいJava 第4版 高橋麻奈著」の例題を実際に手打ちし体で覚えたことから、短い単純計算のツール程度であれば作れる程度になったことは成果ではあった。

 最近、2度目に目を通して試ると、このことはまえがきに「プログラミング上達への近道は、実際にプログラムを入力し、実行してみることです。...」とちゃんと書いてあることで普遍的な王道だったという事であろう。mireは、PCがまだマイコンとも呼ばれていた頃の古い人間なのでコンピュータ学習は全て独学しかあり得ない時代からのお付合いなので、逆に、このやり方しか知らない訳なので、自然とそうしたが、なかなかマスター出来ない人の1つの特徴として、この最初のボタンの掛け違いで、労をいとい、ネットから手軽にソースをコピペで持って来て実行し、満足するパターンがある。当方もこのことをしない訳ではないが、あくまで、自分の手打ち分で上手く行かない場合のことだったり、直接課題と関係ない機能をお手軽に移植したい場合にするくらいである。どんな言語でもこれは言えること。
 Javaは学習コースが捨てる程に全国で開催されているから問題になるが、我らがPythonに至ってはないので絶対にこれしかない。なぜ無いかというと日本ではポピュラーでないからだが、他言語に理解のある人なら1週間で独り立ち出来る程度にユーザフレンドリーなので要らないことも事実である。どうでもよいことだろうが、pythonの様なLL系言語では「Hello World!!」は「print "Hello World!!"」の一行を書いて「python ソースコードファイル」で済むが、Javaでは、先ずは@クラスを定義、Aその中にmain()実行メソッドを書いて、Bその中に、「System.out.print("Hello World!!");」と書いて、C実行前には「javac ソースコードファイル」でコンパイルしJVMが解する中間言語形態の「〜.class」ファイルに変換し、Dやっと「java クラス名」で実行出来る訳なので、兎に角、これを空で間違いなく打てなきゃ話にならない。最初は意味何ぞ全く判らなくて良いのだ。意味は空で打てる迄になってから考えれば充分だし、ある程度周囲が見渡せる様になってからしか見えないものもあるので、先ずは、「空で打って実行出来る」ことを第一中継ポイントと考え何度でも手打ちして欲しい。JavaはPythonよりたいへんだが目的があれば愚痴っても仕方がない(笑)。

 尚、コーディングスタイルについては、人それぞれの面もあるが、学習中は次の様な書き方をmireは推奨する。Javaは、開発当時主流だったC言語のコーディング構造をそのまま踏襲した為、行コメントを除き「改行」が文法上無視される代わりに文末に「;(セミコロン)」を置くことに加え、ブロックを明示的に中括弧で囲むことを、コンパイラ側の必要性から生まれた制約をユーザーに強いる言語なので、慣れない間は、視覚的に不具合を見付け易い様にして置く方が断然効率的であるからである。
          HelloWorld.java 


/**
* 初めてのjavaプログラム「ようこそ世界へ!!」
/*
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Hello World!!"); // Java.lang.System参照
}
}

  1.  ブロックは階層別にタブ文字で段付けし、その中括弧は独立行に同一シフト量で記載することで、括弧の開閉対応が明確になり、エディタ等開発環境のツールに頼らなくとも自分の目で簡単に対応出来る。あまりいないと思うが、機能のないWindowsのメモ帳で学習する人は必須のことだろう。
  2.  Javaプログラミングには、必ず1つ以上のJavaライブラリを利用している。この「Hello World!!」では「System.out.println()」メソッドがそれである。最初から全てについて調べる必要はないが、「JavaTM 2 Platform Standard Edition 5.0 API 仕様」を眺め、その定義を追って試る努力はして行こう。これで似たものや興味深いものを見つけたら、GoogleやYahooで検索すれば使い方の雰囲気が簡単に判るはずだし、何よりも新たな知識の位置付けが明確になり、覚え易い。無論、深追いし過ぎて、手打ち量が減っては良くないので、判らない間は癖付け程度で大丈夫だ。
  3.  そして調べた気付きは、その行末に行コメントとして「//」の後に記入して保存しておこう。

 何れは、「Eclipse」等の開発環境を活用することで、コーディング中にデバッグやライブラリ検索してコーディングを進めることになるだろうが、java言語を覚えマスターする上では、初めに手打ちして体で覚えた方が、後で楽が出来ると言うもの「Eclipse」活用は基礎学習が修了してからが良い。
 でも「やさしいJava 第4版 高橋麻奈著」の半分程度迄の手打ち学習が終わり空打ちが可能になって来たら、エディタの設定くらいは弄って、効率は上げて試よう。
  1. タブ幅は4文字幅に
  2. 自動インデントを有効に
  3. 行番号の表示を有効に
  4. 記号文字(全/半角空白文字, タブ、改行等)の視覚表示を有効に
  5. 視力に合ったフォントの大きさに
  6. Javaキーワードの強調カラー表示を有効に
当り位は設定して試よう。タイプミスで陥る問題解決を視覚的に補助してくれるし、自らのミスの傾向に気付く機会を増え、一段と学習効率が上がる筈だ。後は細かくは書かないが、Mireの場合「Python用にMKEditorを設定」で同様の内容を書いているので、お気に入りのエディタの名前とJavaないし設定とかをキーワードとしてネット検索して各人の環境を独力で構築して欲しい。プログラムの能力はコーディング能力だけではない。自分でその環境構築が出来なければ、独力で出来るとは言えないのだから。


 以上、このことは、Python習得でも同様だし、独学、セミナー学習でも変わらない王道だ。Mireはそう断言して置く。無論、人により能力は異なるので神の様な人が実践した結果「無意味だったので無駄にした時間を返せ」と言われでも責任は持たない(笑)。多分、この例外は言語仕様を決定出来る言語作成者以外にいないとは思うけどね。
タグ:java
posted by Mire at 01:51 | Comment(0) | TrackBack(0) | Pythonプログラミング | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
月額見放題1,000円開始キャンペーンバナー(画像ありver)
紺碧の艦隊 ルパン三世 GREAT CHASE クリックプロモーション
<< 2013年01月 >>
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
カテゴリ
タグクラウド
ファン
利用中のオープンソース
最近のコメント
最近の記事
過去ログ
QRコード
レガシーなアプリはいかが?
Dell 法人のお客様ページ
  • 【法人様向け】デル、お得なキャンペーン情報
  • 法人のお客様向け ストレージソリューション
  • 法人のお客様向け ネットワークソリューション
  • 【SOHO法人様向け】デル・オンライン広告限定ページ
  • デル-個人のお客様ページ
  • 【個人のお客様向け】デル・オンライン広告限定ページ
  • オンライン広告限定キャンペーンページ
  • ソフトウェア&周辺機器 パソコン工房
    ツートップインターネットショップ(twotop.co.jp) マウスコンピューター/G-Tune
  • ×

    この広告は1年以上新しい記事の投稿がないブログに表示されております。