第四話 勉強会2


「特徴?」


「はい。機械学習。いわゆる、AIなら、Pythonが適していますし、Windows で動かすだけのプログラムなら、C#やVisual BASIC などの.NET Framework が適しています。Webアプリの制作を考えるのなら、Apache + MySQL+PHPが一般的でしょう。Ruby も使われています」


「おっおぉぉ」


「言語に寄っては、出来ないこともあります。例えば、PHPで、Windows プログラムを作ろうとしても”無理”です」


「そうなのか?」


「はい、ユーザインターフェースの実装が出来ないからです」


「へぇ」


「同じように、スクリプト言語は、独立したプログラムには向きませんが、Webプログラムに最適な言語だと言われています。メンテナンス性も高いですし、親和性も優れています」


「それだと、やりたいことで、プログラム言語を変えなければならないのか?」


「理想としてらそうですね。それをやりたくないから、Java をやっておけば大丈夫という風潮が出たのです」


「あぁ俺も、調べた時に、どんな環境でも動くから、Java を覚えておけば大丈夫という記述を見た」


「はい。間違いではありませんが、正しくも有りません。動きますが、使えるかどうかは別です」


「どういうことだ?」


「十倉さん。C++で作った物が、1秒で終わる物が、10秒かかっても我慢出来ますか?」


「あぁ・・・。一回ならいいが、毎回、待たされる可能性があるわけだな」


「そうです。だから、適材適所なのです。ユーザの待ち時間を少なくする方法は、各言語で備わっていますが、それは別の話です」


「そうか、やっと意味がわかった。篠崎が、言語にこだわらないでも大丈夫と言ったのだな」


「はい。なので、まずは各言語で”ほぼ”共通で使える制御命令を覚えます。それから、プログラムの考え方を勉強します」


 皆が嬉しそうな顔する。

 パソコンに座ってもらって、テキストエディタを起動してもらう。個人的には、素性がいいC#を覚えてもらおうと思っている。


 Visual Studioは、セットアップしない。テキストエディタで、コマンドラインでコンパイルをしてもらう。学習には、インテリセンスは邪魔だ。

 まずは、俺が作ったソースコードをプロジェクターに表示する。皆が見える状態になっているのを確認した。


「テキストエディタで、表示されているソースコードを写して、コンパイルを実行して、プログラムを動かして下さい」


 皆が、テキストエディタに入力し始める。

 コメントも書いてあるので、コメントもそのまま入力している。さて、何人が一回でコンパイルが通るか楽しみだな。

 半分も通ればいいほうだろうな。今日中に全員がコンパイルまで通れば御の字かな?


 コンパイルの為のスクリプトは配布してある。

 学校パソコンは、全部同じ設定になっているから、問題は無いだろう。一応、コンパイルが実行されなかったら呼んで欲しいと伝えてある。構成がいじられていたり、必要ないプログラムが入っていたり、入っているべきプログラムが入っていない可能性だってある。


 苦戦はしていないようだ。

 見ながら入力すれば間違いはないと・・・。考えているだろう。そろそろ入力が終わった者がコンパイルを始めている。

 パソコンからエラー音がなる。コンパイルが失敗したのだ。スクリプトには少しだけ意地悪が組み込まれている。エラーメッセージが英語で表示される。慣れてしまえば、英語を怖がる必要はないのだが、自分が書いたソースコードがうまくコンパイルが出来ていないというのは、恐怖を覚えるには十分だ。それも、プロジェクターで表示されているソースコードを写しただけだ。エラーが出るはずがないと思っている。


 ちらほら、コンパイルが通った者たちが出てくる。

 しかし、まだわからない。コンパイルが通れば、必ず動くわけではない。


 残り時間が40分くらいになった。撤収の為に10分くらい使うから、残り30分。


 コンパイルが通っていない人を中心に見て回る。


 罠にハマっている。コンパイルエラーで悩んでいた人たちを見て回って、問題を洗い出す。


「コンパイルエラーになっている人は、皆が同じ問題です。日本語の入力を”オン”にしたままで、ソースコードを入力しています。あと、空白が全角のスペースになっています。空白部分は、タブキーで入力をして下さい」


 最初にハマる問題だ。

 コンパイルエラーになっていた人たちがソースを見始める。数分後には、コンパイルが通った者たちが出始める。


 10分もすれば、全員のコンパイルが無事に終了した。


「篠崎。頼みがある」


「え?なんでしょう?」


 十倉さんが頼みとは珍しい。それに、津川先生も居る。


「今日、この後の予定は?」


「何も無いですよ。あっ!」


「何かあるのか?」


「いえ、マックスバリュで牛乳を買って帰るのを思い出しただけです。146円(税別)の”大地の牛乳”は、すぐに無くなってしまうのですよ」


「おっぉ。おぉ」


「大丈夫ですよ。なかったら、明日の朝に買いに行きますから、それで、どうしました?」


「篠崎が大丈夫なら、今日の授業を延長して欲しいと思って、津川先生にお願いしたら、お前の返事次第だと言われた」


「あぁそうですか、いいですけど、無制限には延長はしないで、1時間だけの延長にしませんか?」


「わかった。今日、作った物が動くまで頼みたい」


「わかりました」


 十倉さんが、ここまでのめり込むとは思っていなかった。

 他のメンバーも前のめりだ。用事がある者は帰ってよいと津川先生は伝えたが、帰る者はいなかった。


 やはり、半分以上がどこかに記述ミスが存在していて、結果が同じにならない。

 今度は、成功した人が、失敗した人とソースコードの検証を行っている。


 今度は、記述ミスを探すので、それほど難しくはない。15分もすると、全員のソースが綺麗に結果を吐き出すようになる。


「さて、まだ時間があるので、一つ提案です。今のソースは、俺が作ったものです。わかりやすいように、作成した。速度は最低のソースです。多分、実際にはこの半分位の時間で結果を出せる。スレッドを使えば1/10程度にもなる」


「・・・」


「信じられないのだろうけど、ソースの書き方でそのくらいの差が産まれる。だから、結果を出すまでの時間を、20%の削減を目指して欲しい。次の課題です」


 皆がお互いの顔を見る。

 そうだろう。難しい課題ではあるけど、実はもうヒントは渡してある。それに気がつくかどうかだけだ。


「篠崎」


 やはり、十倉さんが代表して質問してくるようだ。


「なんでしょう?」


「簡単に言うが、今からじゃ無理じゃないのか?」


「そうですね。次の特別授業の時間を使いましょう。それに、一人でやる必要はないです。それから、コンパイルのスクリプトは持って帰って下さい。パソコンにWindows10が入っていれば動くと思います」


「それは、何人かで集まってもいいのか?」


「はい。効率がいいと判断したら、チームで挑んでも構わない」


「わかった」


 十倉さんが、皆を見る。

 どうやら、皆が最初は単独で頑張るようだ。


 あっ!そうだ。マナベさんから貰って使いみちがなかった物を提供してもいいな


「そうだ!全員が、チームで挑まないのなら、一番、早く出来た人に、1世代前のUMPCだけどプレゼントしよう。景品です」


「え?」


 皆の目つきが変わる。

 そして、なぜか電脳倶楽部の面々まで参加すると言い出した。ちょうど、スペックを考えると使えない。通電さえもしていない端末が4台ある。1台を、電脳倶楽部で一番早かった者への景品にして、残りの3台を勉強会に参加している人たちへの景品にする。スペックの違いがあるので、早く出来た者から選ぶことにした。


 思いつきで始めた速度を競うプログラミングは、思った以上に盛り上がった。

 再来週の特別授業で発表を行うことになった。

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る