Seakの日記
日々感じたことを書き留めていこうと思っています。

2003年03月10日(月) 研究室の集まり

2003.03.16 (Sun) 2:31:53
月曜日か。
ゼミで、みんなで集まって練習をしたな。

今回は、教官が決めたものではなくて、
自主練のようなものだ。
一刻も早くJavaを習得するという
崇高(?)な目的ならばよいのだが、
おそらくは、課題を片づけるために集まったのだと思われる。
まあ、それでもいいと思うが。
動機などはどうでもいい。
要は、やればいいわけだし、
最も重要なのは、その結果だ。
やったこと自体が重要だという人もいるが、
それでは、それのなにが重要なのか、明示して欲しいと思う。
ちなみに、それによって成長するというのは誤りだ。
もし成長するのが成果として得られるのであれば
それは結果だ。
やったから成長したのではなく、
成長するようにやったから成長したのだ。
ただ漠然と行動しても仕方がない。
何らかの結果が得られなければ、その行動には意味はないのだ。
もちろん、結果と言ってもいろいろある。
楽しむための行動もあるだろう。
そうであれば、楽しめればそれでよい。
そのような発想を否定するものではない。

結果として、
少なくとも僕は、ある程度慣れることができた。
Forte for Javaという開発環境が
本に付属していたCD-ROMに入っていたので、
それを使うことにした。
この開発環境の最大の利点は、ただであることだ。
これはたとえば、マイクロソフトの開発環境である
Visual Studioが60000円ほどすることを考えると
かなり重要な点だと思われる。
研究室で買うのだからどっちでもいいじゃないかと思うかもしれないが、
好きなだけインストールできたり、
簡単にやめたりすることは、無料でなければ難しい。
もちろん、Sunが満を持して送り出した開発環境ということで
機能もかなり豊富だ。
英語から訳した独特の口調で
紹介のムービーが作成されている。
ただし、誰が訳したのかは知らないが、
そこで言っていることが分かればそれだけで
初級システムアドミニストレータ試験程度は
突破できるのではないかと思うほど言葉遣いが難しい。
最初が確かこうだ。
「Forte for Javaは、マルチプラットフォームに対応した、
Java 2 Enterprise Edition及びそれに付随する
数々のAPIを利用できる、優れた開発環境です。」
とかなんとか…。
ちなみに、なにを言っているのかは、
僕にもいまいち理解できない。
まあ、専門家向けのソフトだから当たり前なのだが…。

ちなみに、それ以前に「開発環境」というのは何か、
ということなのだが、
これは、ソフトウェアを開発するためのソフトウェアだ。
ソフトウェアというのは、プログラムで記述され、
そのプログラム(命令の集まり)に従って動作する。
だから、命令だけずらっと並べてやればいいのだが、
大規模なプログラムになると、
その行数は数千、数万に達する。
これを白い背景に黒い文字で書いていては、
人間の方がパンクしてしまう。
事実上、人間にはこのようなことはできない。
もっとも、昔のコンピュータはプログラムすら受け付けなかった。
人間がコンピュータの内部に入り込んで
回路を直接スイッチで操作するという、
信じがたいことをしていた。
今でも、ディップスイッチという名で、その名残があるが…。
それももう、消えつつある。
ちなみに、内部に入れるくらいだから、
昔のコンピュータは信じられないほど巨大だったようだ。
しかも、トランジスタがなく、すべて真空管だったため、
発熱もすさまじかったようだ。

それで開発環境だが、
簡単に言えば、プログラムを書く支援をしてくれるソフトウェアだ。
たとえば、改行をすると自動的に行開始をそろえてくれるとか、
そういう見やすくするような工夫が多く盛り込まれている。
それに、プログラムの内容を簡単に解析して
色づけしてくれる、くらいまでが、
普通の開発環境の機能だ。

で、優れたものになると、クリック一発で
人間が書いたプログラムを機械語に訳し(コンパイルし)、
それらの訳したもの(オブジェクト)を、1つのソフトウェアへ
組み上げる(ビルドする)のだ。
まあ、ここまでは珍しくない。
フリーウェアでも、これだけのことをしてくれるのだから
良い時代に生まれたものだ。
で、上に挙げたForte for Javaの場合、
ビルドしたあとにサーバエミュレーションソフトウェアを立ち上げ、
ブラウザにそのサーバのURLを引き渡し、
該当するプログラムに応じてブラウザに命令を与えるという
自分で言っていてもなにがなんだか分からないような仕事までしてくれる。
見れば分かるだろうが、これを自分でやるのは大変な労力だ。
しかも、ソフトウェア開発をするとなると、
このような作業を、何十、何百と繰り返さなければならない。
これらを簡略化するために、開発環境は必要となるのだ。
ちなみに、開発環境の機能はこれだけではない。
開発したソフトウェアを公開するための支援、
公開するためのファイル形式の実装、
ソースコード自動生成、などなど、
僕が知っているだけでも数え上げればきりがなく、
僕が知らないものも数え上げると、1冊の本になることは間違いない。

で、本題だが、
みんなで集まったのは、
結果的には、この開発環境に慣れることが目的となった。
ほとんどの部分を自動生成してくれるので、
Javaサーブレットなどと言っても、自分で手を加えなければならないのは
ほんの1行か2行で済むのだ。
もちろん、練習用にたった一言"Hello World!"と
表示するだけのプログラムであれば、だが。
ちなみに、このHello World!という言葉、
なぜか、いろいろなプログラミング言語の解説書に記載されている。
おそらくはC言語の創始者の教科書に載っていたのだろう。
Javaサーブレットは、まずサーバが
サーブレットコンテナというプログラムを起動し、
そのサーブレットコンテナがサーブレットを生成し、
サーブレットが処理を行うことで、サーバアプリケーションとして動作する。
が、そんなややこしいことは知らなくても、
とりあえず使うことが可能なのだ。
要するに便利と言うことだ。

研究室の面々は、
遅刻の癖がある人もいるが、
まあ、いい人たちばかりだ。
全体的にいい加減な人ばかりなので
その辺は何とか考えなければならないだろうが、
雰囲気もいいし、なにより、
僕の嫌いな集団行動の気配を感じられないのがいい。
たとえば、研究室のみんなで酒を飲みに行こうだとか、
そんなことは話題にも上らない。
まあ、それは、
教官二人にそれぞれ娘がいて、
学生と飲んでいる場合ではない、
という要素が大いに関係しているのだが。

この日に、3人の同級生のうちの一人と、
明日も一緒にやろうと約束をした。
少し期待してみたり…。

2003.03.16 (Sun) 3:09:30


 < 過去  目次  未来 >


Seak [MAIL]

My追加