このサイトは、Javaの初学者〜中級者向けにJava言語やJavaの学習に関する情報を公開しています。
したがって、前線でガンガンJavaを書いている職業プログラマのような人から見ると、どこか物足りなかったり、おかしいと思うところもあるかもしれません。
その辺りはご容赦ください。
私自身、久しくプログラミングからは離れていて、久しぶりにアプリ開発をしながら気づいたことを記事として書いているので、最新のトレンドに合っているかはわかりません。
ただ、10年前から基本的なことはやっぱり変わってないんだなと思うところがほとんどなので、それほどズレてはいないと思っています。
また、ずっとWindowsやLinuxでEclipseという統合開発環境で開発してきたのですが、今や我が家はMacしかないので、Macで開発しています。
そこで、Macだとこうなんだ、と思ったことについても記事にしています。
逆に言うと、WindowsやLinuxで開発する方にとっては、ここに書かれている情報は細部が違っている可能性があります。
その辺りはご了承ください。
サイト管理者について
元大手電機メーカのシステムエンジニア。
Javaとの出会いは2,000年ごろ、大学2年生の時期だったと思います。
なんかこれからJavaって流行るんじゃないか、とか、これから学ぶならCよりJavaでしょう、といった機運が当時あった感じがします。
それからJavaにどっぷり浸かりならがも、それ以前から使っていたPerlでプログラミングしたり、PHPやC、C#などに触れながら・・・結局Javaばっかり書いてます。
最近はObjective-Cもやってみましたが、まだそちらは思ったようには書けないですね。
初めてのプログラミングは保育園のとき、MSX BASICにて
こんな風にコンピュータプログラムに興味は尽きないのですが、実は初めてプログラムを書いたのは、なんと保育園のとき!!
実家にMSXというマシンがあり、MSX BASICという言語で、英語も全くわからない保育園児が、本を読みながらソースコードを書いたのです。
そのコードは、シューティングゲームを作るものでした。
コードの意味は全くわかなかったですが、そのゲームが動いたときは本当にワクワクしました。
こんなことができるんだ、と。
幼いながらも、プログラムを書くことってすごく楽しいものだと思いました。
小学生時代は学校のパソコンでプログラミング
それから小学校に上がり、高学年になると、学校のパソコンでプログラムを書いたり、ゲームをしたり、先生からプログラムのテキストをもらったりしながらずっとパソコンに触れていました。
たしかその頃、自分でゲームが作りたくて (ファミコンのRPGが好きだったので)、ゲームを作るならまずはキャラクタデータを作るプログラムを書いたらいいなじゃないかと思ったようで、32×32のアイコンエディタなんかを作った覚えがあります。
中学生になってようやくマイパソコンが!
中学になって親にパソコンを買ってもらったときはめちゃくちゃ嬉しかったですね (NEC PC-9821XP)。
そのときのOSはWindows 3.1とMS-DOS 5.0でした。
一緒にVisual Basic 2.0というプログラムの開発環境を買ってもらい、ゴリゴリとプログラムを書いていました。
これは高校時代も続きます。
大学では情報工学科へ
そうして大学生になると、学校にはパソコンの環境がしっかりそろっていて、さらにパソコンにのめり込んでいきました。
コンピュータの勉強がしたいと思って情報工学科というコンピュータの専門コースに入りました。
プログラミングの授業があり、CやJavaといったプログラミング言語を学ぶことで単位が取れるなんて楽しくて仕方がなかったですね。
ソフトウェア工学を専攻する研究室へ
4年生になるとソフトウェア工学を専攻している研究室に入り、これまでプログラミングといえばコードを書くのみ、実践のみだった私は、ソフトウェアを開発するための方法論というものに出会いました。
私にとって、これまでのプログラミングの経験を体系づけるきっかけになりました。
それからというもの、この開発方法論というのにもハマって、オブジェクト指向がどうとか、エージェント指向がどうとかいいながら、開発手法やその考え方を学んでいきます。
卒業論文ではJavaのアプリケーションを開発
卒業論文ではもちろん、Javaでコードを書きました。
確か5,000〜6,000行くらいのコードだったと思います。
そこまで書いたのは初めて、というくらいの規模でした。
今思うと、当時の卒論で私が説いた方式が、今では当たり前になりましたね。
実は今で言う、iPhoneアプリやAndroidアプリのようなものを提唱していたのです。
当時スマートフォンというのは存在せず、ezアプリとかiモードアプリとかがようやく動き始めたころで、端末にインタフェースとなるアプリを作り、動作の実体はサーバ側で行うという形式を提唱していたんですよね。
当時は「それの何がすごいんだ?」みたいな目で見られてましたが・・・懐かしいですね。
Eclipseとの出会い
統合開発環境Eclipseはそのころから使っています。
当時Eclipseが2から3にバージョンアップするので革命的だ!?とか一部で騒がれていたような気がします。
そうしてEclipseでのプログラミングにどっぷりハマっていきました。
大学院生時代には、なぜか大学4年〜大学院生向けのプログラミングの講座を一部担当しました。
同期の前でソフトウェア開発とはこうやってやるんだとか、EclipseでJavaでオブジェクト指向でプログラミングとはこういうものなんだ、みたいな実演をしながら講義をしたのを覚えています。
今思うと、あれが私の講師デビューだったような気がします。
修士論文ではEclipseプラグインを開発
修士論文では、Eclipseのプラグインを作成しました。
Eclipse上でUMLという言語を使って、マウスでコードの原型をお絵かきすると、実際にソースコードが自動生成されるというものです。
そのソースコードは、これまた私が作ったミドルウェアの上で動作します。
プログラマは、そのEclipseのエディタでお絵かきして、コードのひな形を作り、その中に具体的なロジックを埋めていくだけでシステム開発ができるというものでした。
当時私が学び、研究し、こうしたらソフトウェア開発って効率的で楽になるんじゃないか、と考えたソフトウェアの開発方法論を実現化したものです。
確かこれらのコードは40,000〜50,000行くらいの規模だったと思います。
それが2ヶ月足らずで書けたのは、それまでの蓄積と、Eclipseという開発環境のおかげですね。
修士論文自体が100ページ以上ありましたが、ソースコードの方はそれ以上に膨大でした。
大手製造メーカのシステムエンジニアに
そうしてシステムエンジニアとしての基礎を築き、大学院卒業後、大手電機メーカに就職しました。
同期入社の社員の中では異質なくらいソフトウェア開発に詳しく、Javaが書けたので、新人研修のときはあまりソースコードを書かない役割に割り当てられました。
これが私にとっての、初めてのチームによるソフトウェア開発で、初めてのプロジェクトリーダでした。
それ以来、自分でソースコードを書くことは減っていきましたが、国内各所の工場を飛び回り、現場改善プロジェクトに参画し、ソフトウェア開発の現場に深く関わっていきました。
社内システムエンジニアの教育研修担当に
システムエンジニアもいいのだけれど、もっと教育や研修という分野をやりたいと志願し、社内のシステムエンジニアを育成するコースを担当するようになりました。
会社には新入社員から40代のそろそろ課長級になろうかという人まで、入社年次に合わせた研修コースがあり、その企画から実行まで携わる仕事です。
新人研修は私が入社したころよりパワーアップしておりましたが、Javaの研修自体は大きく変わっているところはなかったです。
Javaの研修に関しては、全体の総指揮をしました。
基礎的なところは外注でしたが、応用的なところは私が担当しました。
ここでプログラミングを学びながら、チームビルディングやコミュニケーション、開発方法論、アーキテクチャ、開発支援ツールといったものを総合的に教える醍醐味を覚えます。
実際、Javaどころかプログラミングがまるでわからないという新人たちが、3週間もしたら一つのWebアプリケーションを開発してしまうのです。
講師としても、彼ら/彼女らが作ったプログラムが動いた瞬間はとても嬉しかった。
そしてフリーランスへ
そんな風に、システムエンジニアとして働き、システムエンジニアへの教育を担当し・・・もっといろいろやってみたいことをやるために、会社を退職しました。
それからフリーランスとして1年ほど色々とやってきたのですが、やっぱりプログラムを書いている時、作ったプログラムが動いたときって楽しいよね!というのを思い出して、今はプログラムを書いています。
それが今のメインの仕事というわけではないですが、改めてプログラミングに触れながら、最盛期だった大学時代との違いや、当時と変わってないことを振り返りつつ、ちょっとずつアプリケーション開発をしてみています。
まあ、どうやらプログラムを書くことは、私にとってライフワークのようです。
このサイトができた訳
私はフリーランスとなる前からブログを書いていました (そのブログはこちら→「For My Own Life」)。
久しぶりにプログラミングをしてみたところ、せっかくだからJavaのことについてもうちょっと具体的なことも発信してみようと思い、このサイトを立ち上げました。
それぞれのクラスの動きといったリファレンス的なものや、言語の深い原理などは先人たちのサイトがたくさんあるので、そういうのとはちょっと違ったサイトにしていくことを考えています。
興味あるキーワード
このサイトの方向性としては、これらの興味あるキーワードにもとづいての情報発信になっていくと思っています。
- 開発方法論
- 開発環境
- Eclipse
- Android
このサイトの中に、何かひとつでも、あなたのお役に立てる情報があれば幸いです。
サイト管理者の開発環境について
私は次の環境にて開発をしています。
したがって、この環境をベースに記事を書いています。
- Java: Java SE 7u45
- Eclipse Version: Kepler Service Release 1
- Mac: MacBook Pro (13-inch, Early 2011)
メモリ増設 (4GB→8GB)、HDD→SSD化 - Mac: MacBook Air (11-inch, mid 2012)
サイトの名前について
私は2013/11現在、長野県は北佐久郡御代田町というところに住んでいます。
軽井沢町のとなり町、といえば東京あたりの人であればなんとなくあの辺か?という感じがあるかもしれません。
佐久市や小諸市に隣接しており、住所に「北佐久郡」とあるように、この辺り一体を「佐久地域」と呼ぶようです。
(どうも、軽井沢町は「佐久地域」に含まないような感じがします。独自性が強いので)
そんなわけで、「サクッと」のあたりに「佐久」というイメージを入れています。
「Java」は言うまでもなく、このサイトの中心テーマ。
そして、これまで私は「研究者」で「開発者」で「研修者」だったわけですが、この中では「研修者」という立場が今は一番好きなので、「研修室」としました。
私が住んでいる地域について
私がこちらに移住してきたのは、2012/12。まさに年末でした。
初めての土地でどこに初詣に行ったらいいのかもわからないまま正月を迎えました。
スキーが好きな人であれば、軽井沢プリンスホテルスキー場、佐久スキーガーデン「パラダ」、アサマ2000パーク、湯の丸スキー場あたりなら我が家から1時間以内にたどり着くあたりです (最寄りの「パラダ」は10分くらい)。
菅平高原だと90分くらい。
昨シーズンはもよりの「パラダ」の年間パスを買って、夫婦でかなりスキーを滑りまくってました。
スキーのインストラクターもしており、どうやら「教える」ことについては縁がありますね。
実際「教える」ことは好きですからね。
こちらは夫婦ともども、全くもって縁もゆかりもない土地ですが、流れ着くようにこちらに移住してきて、もうじき1年近く経ちます。
周りは別荘地帯なので、近所を散歩すると色々な形の家があり、散策するのがちょっとした楽しみです。
東京から自然豊かな地域に移住してきて、本当によかったと日々感じています。
最近はだいぶ寒いですが、それも楽しいものです。
お問い合わせ
このサイトについてのお問い合わせはこちらからお願いします。
企業様向けのプログラミング講座や、個人の方向けのプログラミング塾といった研修プログラムも用意しておりますので、お気軽にご相談ください。
略歴
- 2013/11/21 サイト公開
- 2017/07/13 サイトテーマ変更 (Wellington)
- 2022/01/12 サイトテーマ変更 (Cocoon)