そろそろちゃんとしたJavaゲーム制作のハウツー 本が欲しかったので、書店に行って買って来ました。
まあ行く前から何を買うのかは決めていたのですが…これです。
15歳からってオイ・・・
もう21になろうとしているのに…と思われるかも知れませんが、この本そんなに簡単じゃないです(宣伝になってないか(笑))
15歳ねぇ…まあ頭がいい人なら12歳でも十分理解できると思いますが、頭が固いので20でも悪戦苦闘です。
Cはちょっとかじったことあるんですが、どうも「オブジェクト指向プログラミング」というのが苦手です・・・。
Javaの他にはC#やObjective-C、それにC++もオブジェクト指向ですね。
(CとC#、Objective-C、C++は全て別物の言語。全部にCついてるけど。)
Objective-CはMac専用の言語なので考慮に入れてません。(そもそもMac持ってないですし)iPhoneアプリの開発で一躍有名になりましたね。
C#はかなり触りたい言語です!完成度も高いし、GUIも一杯用意されていますし、なにより制作環境の導入がしやすい!今始めるならC/Java/C#のどれかと言われています。WindowsアプリやXboxのソフト開発を担当しています。
近頃ではMonoDroidでAndroid向けアプリ、MonoTouchあるいはUnity/3DでiPhoneアプリも作れるようになりました。ただこれらの開発環境の導入には三万円以上の設備投資が必要なので、一般人が導入に踏みきれるかどうかは微妙な所です。
ただ現状、「Androidアプリ」「iPhoneアプリ」を同時に作ることが出来る唯一の言語であることはまちがいなしです。
C++はC#の台頭で影が薄くなった言語ですね。立ち位置もビミョウですし、なにより文法が難解。(Object-Cが言えた義理じゃないですが)
C言語は言わずと知れた「プログラミングの基本言語」まあ言ってしまえば世の中の英語みたいなもんです。英語が分かればヨーロッパの言語は大体わかる的な。文法は簡単で処理がスピーディ。ただプログラムコードが複雑化しやすく、加筆や修正の際に手間取るという弱点があります。
この中では唯一の非オブジェクト指向言語でもあります。
Javaは言うなら「オブジェクト指向言語の雄」でしょうか。世界一この言語を使える人間が多いです。なんといつのまにやらC言語は陥落していたんですねえ。
Javaのイイ点は、動作がデバイスに依存しないという点。一個プログラムを作れば、どのパソコンでも使うことができます。理論上はですが…ただし何年か前にiPhoneのプログラム言語からは外されてしまいました。その理由は下にあるとおりです。
Javaはバージョンアップが幾度もなされる言語です。それはこの世には日々デバイスが溢れかえるほど生まれていてその一つ一つに対応するように頑張っているからですが、このバージョンアップが非常にメンドクサイ!という点が弱点の一つ。
もう一つは計算速度です。C系列言語に比べると明らかに計算処理が遅いです。工夫次第でなんとかなる!というエンジニアが大半を占めるようですが。
で、私としてはJavaは落ち目じゃないかな?と思ってる人の一人です。
これからはC# VS Object-Cの構図になるのでは?と思っています。C++もこれからの開発次第では加わる可能性が高いです。
Javaの構想自体は素晴らしいのですが…ちょっとバージョンアップに関しては非常にメンドクサイ。という弱点がやはりあります…。
ではなぜJavaを勉強するのか?ということですが理由としては以下
①オブジェクト指向言語の中では比較的文法が簡単であること。
②どんな開発環境でも作れる(Mac,Windows,Linux)
③Androidアプリの公式開発環境である。
ですが、これらは言ってしまえばいいわけというかなんというかです。重要なのは以下です。
④今一番メジャーな言語なので、書籍が充実している&ハウツーが充実している。
これは思いの外大きいです。
例えば、今私はCをちょっとかじったことあるくらいの、言ってみれば素人ですが、もしObjectiveCをはじめたとしましょう。
書籍を買いますね
で一番初めにある言葉がこれです。
>皆さんはCやJavaはやったことがある人がほとんどだと思いますが
ハァッ?
なわけです。大体こういったマニアック言語の解説本はC/Javaが分かった上で読んでるだろうと思い込んでいるものがほとんどです。
で、1から始める~系では内容を奥深くまで説明しないのでモチベーションが上がりません。
では1から始める~系で奥深くまで説明する本でモチベーションが上がるような本は?というとそんなに本自体があまりないので選り好みできません。
ようするに今からiPhoneアプリを作りたい!ってヒトもJavaから始めるのは大いにアリだと思います。
Cでもいいと思いますが、非オブジェクト指向とオブジェクト指向の差は思いの外大きなものです。
C→Java→ObjectiveC
Java→ObjectiveC
がいいと思います。
一般的に推奨されているのは前者ですね。なぜかというと、CをObjectiveCのプログラムに組み込んで使うことが可能だからです。
ところが例外があります。C#です。こいつはWindowsアプリの開発環境なのですが、非常に洗練されており、新進気鋭の言語にしては素晴らしい出来を誇っています。
こいつから始めるなら他の言語を習わなくても、イケるんじゃないかと思ってしまうほどです。
ただ、やはり書籍本はC/Javaには敵いませんが。
で、解説が長くなりましたが、この本を選んだ理由は「ゲームを作るという目標があって、モチベーションが下がりにくいため」です。
バイオリンの時にもイイましたが、一番恐れることはモチベーションの低下です。
これから頑張って勉強しようと思います。ではノシ
0 件のコメント:
コメントを投稿