《魔法の世界でプログラム》真辺が殘した

石川達は、真辺の家を事務所にして作業をしている。27名もれる広さではないが。ほとんどの人間が、ドクター松本の施設で作業しているので、困る事がない。真辺の家は、郊外にある一軒家で、周りと見比べても大きい。石川達も驚いたが、すでにローンも完済しているという事だ。そんな條件もあって、事務所に使う事になった。家の所有者は、最初は篠原にするという話しになったが、篠原が、真辺の意思を継ぐのは、石川だから、石川名義にしようとなった。石川はそれを拒否しようとしたが、周りからの強い脅迫・・・いえ、説得で石川名義になった。これらの事をやったのは、全部株式會社マナベの顧問弁護士になった森下和だ。普段彼は田舎に居るが、月に數回會社を尋ねてくれる。

今事務所には、常に3名が常駐している。石川と山本貴子と篠原の妻だ。篠原の妻は、経理一般を擔當している。それを、山本貴子がサポートしている。そして、石川と山本は、事務所に住所を移して、上の住居スペースに住んでいる。真辺の家は、3階建だった。一階は広めのLDKがあって、二階と三階に別々の玄関かられる住居スペースになっている。二世帯住宅になっていた。真辺がなんでこんな家を購したのかは不明だが、そうなっている。一階部分を改裝して事務所スペースにした。機を5つれた。一つは真辺が會社で使っていたパソコンを置いてある。一番近い場所に石川と篠原、篠原の隣に山本貴子殘りの機は、山本・井上・小林の端末がそれぞれ置いてある。そして、皆びっくりして呆れたのが、地下室があり、地下室がサーバルームになっていたのだ。そして、実際にそのままかし続けて見てさらに呆れたのが、月の電気代が4萬を越えていた。山本が1ヶ月かけて、サーバの中を攫って統合したので、多は良くなるだろうという事だ。家に居ないのに契約しているネットワーク回線もすごかったし、SIMも複數契約していた。そして、サーバルームとは別にCATVも契約してプライベートで使う回線は別にしていたようだ。契約チャンネルもそんなに見ないだろうって位契約していた。そして、二世帯住宅の為に、が二人住む事になった。通勤時間0分の夢の職場が出來上がった。お風呂を始め水回りも別々になっている。弁護士に相談したら、家主を、石川にして、山本貴子は同居人にすれば、節稅できると言われた。また世帯數としては1世帯となるので、諸々の契約を名義変更だけで済ます事ができそうだった。かなり暴な手法も確かに使われた。弁護士は、石川を、真辺の縁の妻と認定して契約変更を推し進めた。それが一番ラクな方法だと解っていても・・・だ。

Advertisement

こうして、諸々の真辺が殘したが整理されていった。

石川と山本貴子の普段の作業は、真辺が殘した資料をまとめる事と真辺が作したアプリケーションの整理だ。石川に取っては、この作業がとてつもなく楽しい。故人となった真辺との會話を楽しめるからだ。アプリケーションからは、ソースレベルで真辺が語りかけてくれているようにじる。資料からは、真辺が何をしようとしていたのかがよく分かる。

◆◇◆◇ 真辺の資料。小學校/中學校の技の時間で、パソコンに関しての授業が行われる事になっている。教える側に立って考える時に、『何を教えたら良いのか?』そんな事を考えてしまう。プログラムを教えると言う事も幅が広い、セキュリティ関連の事を教えるにしても基礎ができていなければ、海外で通じない英語と同じような事になってしまう。これは、社會に出てからプログラムを教える時にはもっと顕著になってしまう。

プログラムを作るだけなら、本に乗っているやWebサイトにかかれているをコピーしてり付ければ、かす事が出來るだろう。しかし、それではプログラムを教えるという事にはならない

Advertisement

それでは、プログラムを教えるとはどういう事をいうのだろう。私は、プログラムは言語を覚える事でもなければ、Webサイトを表示させる事でもないと思っている。

プログラムを作ると一言で言っても、ネットワークの基礎/ハードウェアの基礎を考察する事で、作るプログラムに幅を持たす事が出來ます。また、作環境の違いからくる得手不得手・言語による作の違いや得手不得手を代表的なからまとめる事で、何か『作りたい』と思った時の選択肢が広がる事につながっていく。

よく聞かれる話だが、”プログラマやシステムエンジニアは、理系の方がいいの?”

私は、理系/文系など関係ないと思っています。

文系・理系と分けるのがナンセンスだって話は置いておくとして、何かアプリケーションを作るという段階においては、専門が重要視されるだけで、それが文系だろうが理系だろうが関係ない事です。

専門は、八百屋でもいいし、アプリケーションを必要だから作っていくが必要な事です。八百屋さんでも、帳簿を付けます。それは帳簿のソフトで付けているかもしれません。でも、八百屋特有の仕れや管理には適していないかもしれない。その時に、今あるで我慢するか、手書きに戻るかではなく、手書きでやる事をアプリケーションにしてみるという考えが、プログラムの最初なのです。全部は無理かもしれない。それなら、一部だけでもいい。そうして、作ってみれば他にはない専門を持ったアプリケーションをプログラミングする事になります。

Advertisement

簡単に言っていますが、そのアプリケーションが難しいといわれるのかもしれないが、それは當然です。それを生業としている人が居るのですから・・・。そう言ってしまえば話は終わってしまいますが、その生業としている人と同じ事ができると考えるのではなく、自分が必要としているだけを作る事に集中すればそれほど難しくないでしょう。

プログラムを大きく考えれば、運會の順番もプログラムという。あれと同じで、まずは自分がやりたい事の手順を紙に書き出す所から始めればいい。書き出せれば、プログラムの前段は終わった様なです。

そこから、今度は、その一つの手順をまた細かくしていけばいい。その時に、出てくるのが、”判斷”と”繰り返し”だ。八百屋なら、みかんの在庫が10個を下回ったら仕れるとかなると思う。これが判斷になる。店頭に、3個ずつにした玉ねぎを臺の上に並べる場合は、何回並べるのか解らないがこれが、繰り返しになる。こうして、手順を書き出してみて、これ以上細かくならないと思った手順の中で、アプリケーションでやる部分を考えて、一つ一つパソコンやスマホといったプログラムを実行するに解る言語で書いてあげるのです。

人間がやる事は、人間がやればいい。アプリケーションにやらせる部分は、ここまでできていれば、実際に言語を使って記述するわけだが、ここからは言語の世界の話しになってくる。

プログラミングは、『條件が同じなら何度考えても同じになる事』を『利用する言語で記述する』事にある。みかんの在庫が10個を下回ったら仕れを行う。この時の條件は”10個”という條件だけで判斷している。しかし、夏場と冬場では売れる數に違いがあるかもしれない。その夏場/冬場を判斷するのが、気溫なのか、カレンダーの月なのか、それともみかんの卸値なのか、人間はそれを”経験”という記憶を下にした條件で判斷を行っている。アプリケーションには、経験がない。その為に、條件をしっかり考えていく必要がある。気溫なら、予報でいいのか?実際の気溫にするのか?それは朝なのか?晝なのか?夜なのか?天気や度は必要なのか?條件を追加する事で新しい條件が産まれる。この條件で、利用者が力した方がいいと自で取得可能なに分けられる。気溫や天気の予報なら、インターネットの天気予報を使えば取得可能である。このように、條件を掘り下げていけば、より人間に近い判斷が出來るようになってくる。しかし、人間にできて、アプリケーションが苦手としているのが、”イレギュラー”な狀態への対応だ。條件を考えていても対応出來るではない。それなら、ばっさり諦めるという選択も取れる。アプリケーションは、あくまで人間が行う作業の補助なのだ。全部を行おうと考えるのが間違っている。補助だと割り切る事で、より使いやすいになっていくのだ。

ここまで考える事が出來れば、プログラムを書く準備が整う。

でも、プログラムはできるようになっているのは間違いない。言語知識が足りないだけという事になる。ここまで來てやっと言語の選択になるというわけだ。

プログラムの學習=言語の習得だと思われている人が多いようですが、プログラムの學習と言語の習得は別です。

個人的には、プログラムは考え方であって、言語はその考えた事を、パソコンやスマホに解るように記述する命令だと思っている。したがって、どう勉強したらいいかと聞かれたら、まずは、プログラムを覚えようという事になる。

しかし、ここで問題になるのが、考え方をつらつらやっていても、なかなか覚えられない。実際にかしたほうが覚えやすい。そう考えて、言語をからるのも悪くはない。悪くはないが、正解でもないという事になってしまう。

最初に勉強する言語はなんでも良いと思うが、できれば、コンパイル言語であり、スタンドアローンでが良いと思っている。

Javaでもいいと思うし、VB.NETやC#と言ったでもいい。最近の開発ツールは優秀だから、ヒントも大量に出るので、最初の取っ掛かりさえ間違えなければ、十分プログラムを書けるようになると思う。

言語的なブラックボックスがないのは、C++などだろうとは覆うが、すこし敷居が高いように思える。

初めてるのなら、Java か C# が良いと思っている。PHPやRubyと言った言語もいいとは思うが、すこしブラックボックスが多いように思える。それに、言語理解の時に、ネットワークの理解やら作原理の理解がってくる。無くてもプログラムは作れるが、PHPしかかけない人間が出來上がってしまう。會社などで即戦力とか言っているがそれは間違っている。使い潰されるだけだ。古い・・・古い話で、COBOL だけで育った人をVB.NETが使えるようにしてしいといわれた事がある。

プログラムとしては書けるが、汎用機的な考え方が抜けないので、なかなかイベントやプロパティやメソッドという考え方に馴染めないでいた。しかし、部のコードに関しては完璧に書くことができる。多の戸いはあるが、コードを書くという事では、COBOLだろうと、VB.NETだろうと、PHPだろうと変わりはない。言語特有の考え方ができるようになるかどうかに関わってくる。

だからこそ言いたい。プログラムの學習は、言語に依存しない部分だけを教えて、そこから、各言語特有の考え方を、ハードウェアやネットワークえて教えていく。それがいいと思っている。

◆◇◆◇

「石川さん。この資料ってプログラム學習の為の資料ですよね?」「そうだね。なんで?」「私もプログラムを覚えようと、いろんな本を読んだのですけど、Javaがどうのとか、Cがどうのとかそういう記述が多くて、いきなりソースを書く準備をしてみようって奴が多くて・・・。諦めたのですけど、真辺さんの資料って、一切そういうのが出てこないのですよね。これで、プログラムが書けるようになるのですか?」「う~ん。難しい質問だよ。ナベさんなら明確な答えがあったと思うけど・・・。でも、言語を覚えるのは、後回しでいいと思うよ。まずは、業務理解とやりたい事と出來る事の整理かな。」

「この資料。石川さんが編集し続けるのですよね。」「うん。そのつもり。」

「あ・・・後。資料ってよりも、小説なのかな?あれはどうするのですか?」「え?あぁナベさんが書いていた、異世界に転生して、異世界の魔法をプログラミングする話?」「そ。真辺さんにあんな趣味があったとは知りませんでした。」「私もだよ。」「でも、この小説・・・主人公、真辺さんですよね?」「あぁ貴子ちゃんもそう思う?」「はい。」「そうだよね。多分、ナベさん。異世界に転生してもプログラムを作ったり、火消しをしたり、しているのだろうね。」「あぁ私もそう思います。私、一度だけ、それも短い間だけでしたけど、真辺さん。なんか楽しそうにしていましたよね。」「うん。多分、あの人は、システムエンジニアでもなく、プロマネでもなく、管理者でもなく。っからの”プログラマ”なんだろうね。」

「でも、この主人公。結局どうなるのでしょうね。気になっちゃいますよ。」

「そうだね。また、読み返してみればいいよ。気になったら、貴子ちゃん続き書いて、発表してみれば?」「えぇ辭めておきます。こんなプログラムの事ばかり書いてあるラノベなんて、絶対に人気出來ないですよ。」「だよね。」

二人は笑いあった。

パソコンのディスプレイには、書きかけの文章の一つがあった

『魔法の世界でプログラム』それは、こんな書き出しで始まっている小説だった・・・。

    人が読んでいる<魔法の世界でプログラム>
      クローズメッセージ
      あなたも好きかも
      以下のインストール済みアプリから「楽しむ小説」にアクセスできます
      サインアップのための5800コイン、毎日580コイン。
      最もホットな小説を時間内に更新してください! プッシュして読むために購読してください! 大規模な図書館からの正確な推薦!
      2 次にタップします【ホーム画面に追加】
      1クリックしてください