39 歳からのプログラミング学習

2020年2月28日

どもども、ぶうすけです。

突然ですが、あなたは「 Hello, World 」という言葉を知っていますか?
僕は 39 歳で職業訓練校に入校するまで、この言葉を全く知りませんでした。

39 歳で初めての「 Hello, World 」

それでも僕には恥ずかしいという気持ちはありませんでした。
それよりもプログラムというものに、よくも今までこんなにも出会う必要性がなかったことの方が気になりました。

僕が今までやってきた仕事って本当に御用聞きの営業だけだったんだなって人生を振り返りました。

「Hello, World 」という言葉

Hello world(ハロー・ワールド)は、画面に「Hello, World!」に類する文字列を表示するプログラムの通称である。多くのプログラミング言語において非常に単純なプログラムであり、プログラミング言語の入門書で、プログラムを動かすためのプログラミング言語の基本文法の解説例として提示される。

出典元:ウィキペディア(Wikipedia)

初めてプログラミング言語を習って、プログラムを打ち込みました。

プログラムが動いて、画面に「Hello, World 」が表示されます。

「こんにちは、世界」

なんともいえない感慨深い感動がじーんと胸に湧きおこりました。

本記事はそんな初体験を味わった時の記事です。

退職を決意して職業訓練校へ入学した時の記事は「39歳。退職と職業訓練」に書いてあります。
あわせてご覧ください。

システム開発コースを選択した理由

というわけで 40 歳目前で職業訓練校に入校した僕ですが、なぜシステム開発というコースを選んだのか。

それは、「プロフィール」にも少し書いてあるんですが、iPhone 4 が原因です。

iPhone 4 を使っていた時、操作方法がわからなくて Softbank へ相談に行きました。
受付のお兄さんは僕に「アカウントを削除してください」と言いました。
僕は『「アカウント」って何ですか?』と聞き返しました。
僕は当時そんな人でした。

そしてその頃、インターネット上には、色々なサイトが登場していました。
僕も仕事で、あるサイトのシステムを使うようになりました。
そして何年も使っているうちに、自分で同じようなものを作ってみることはできないのかなと思うようになりました。

iPhone も使えない僕なのに、みんなに使ってもらうシステムを作ってみたいと思ってしまったわけです。

「 P – SENSOR 」という会員制サイトを運営する会社が同業他社を相手に大成功していました。
僕はこのサイトの仕組みをいろいろな分野に無料で提供してみたいと考えました。

今考えれば会員制のお買い物サイトなんて世の中にはいっぱいあったと思いますが、当時の僕は全く知らなかったからです。

お金を払えば「 P – SENSOR 」と同じ仕組のサイトを作ってくれる会社はありました。
しかし僕は、これをいい機会だと考えて(?)自分で作ることに挑戦するのもいいなと考えてしまいました。
ここがさらなる遠回りをはじめたきっかけでしょうか。

本当に僕は人生の遠回りが大好きです。

そして挑戦するために始めたことが、職業訓練校のシステム開発コースに入って 0 から勉強してみようということでした。

訓練校入校後、まずは数学に苦しむ

訓練校へ入ってすぐはもう????の世界でした。

数学というか算数の基本が理解できていないお粗末さのため、基本のやり直しが大変でした。

高校を中退している僕は「数学Ⅰ」までしか授業を受けたことがありません。

「数学Ⅱ」、「数学Ⅲ」で出てくる内容は人生で初めてです。
微分積分て何ですかね、方程式すら危ういのに。

「数学」の授業では、それこそつるかめ算からやり直さないとダメでした。

多分、ほとんどの小学生がこたえられるであろう問題も出題されましたが、僕にはわかりませんでした。

いい機会ですので、問題を出題します。
あなたは解答できますか?

問 1 算数

「 5 %の濃度の食塩水 100 g と 10 %の濃度の食塩水 150 g を合わせると何%の濃度の食塩水になりますか?」

問 2 算数

「シンジは徒歩で 2 km 離れた駅に向かって家を出ました。アスカが自転車で 10 分後に家を出ました。シンジは分速 80 m 、アスカは分速 240 m の速さです。2 人は何分後に、何メートル先で会えますか?」

解答ページへのリンクは本記事の一番最後にあります。

正直、僕には懐かしい感じはありました。
けど、わかりません。

言いわけですけど、「興味がないんですね」きっと。

とうとうプログラミング言語の授業が開始

そんなこんなの入校後の数か月を何とか乗り切り、授業でとうとうプログラミングらしきものが始まりました。
それと並行して 2 進数だの 16 進数だのといったことも教わりました。
プログラミングの授業ではエクセルのマクロの学習から始まりました。
そしてプログラムの書式の基本がわかった所で、C 言語に進みました。

C 言語も問題を出題します。
あなたにも興味があれば解答してみてください。

問 3 C 言語

変数 i の一の位の数値と、変数 j の百の位の数値が同じかどうかを調べるプログラムです。
□に入る正しい答えを解答群の中から選んでください。

int  i  ,  j
if   ( i % 10 == □) {
printf  ( " 一致します " ) ;
}

解答群
ア j / 10
イ  j / 100
ウ ( j / 100 ) % 100
エ ( j / 100 ) % 10

問 4 C 言語

文字列を 10 回出力するプログラムです。
□に入る正しい答えを解答群の中から選んでください。

int  i  = 0 ;
while  ( □ )  {
printf  ( " 元気です\n " ) ;
}
解答群
ア i  < 10
イ  i  < = 10
ウ i ++ <  10
エ i ++ < =  10

解答ページへのリンクは本記事の一番最後にあります。

出典元:当時お世話になった参考書「基本情報技術者試験の C 言語問題がちゃんと解ける本」
著者「坂下夕里」発行所「翔泳社」
※初版第 1 刷。誤字脱字はかなりありましたが、そこがかえっていいトレーニングになりました。(笑)

この辺から授業が楽しくなりました。そして、アセンブリ言語も並行して習いました。
その次には Java 言語へと進みました。

僕の入ったシステム開発は基本的には若い生徒しかいません。
その若い生徒はだいたいが学校在籍中に基本情報技術者試験に合格することを目指しているため、僕が一番習いたい Web 系の言語の授業は少ししかありませんでした。

けれども言語は基本的に一つを習うと別の言語でも少しは読める構造をしていました。
C 言語にある程度慣れると、他の言語もだいたい意味がわかるようになりました。

僕が行った訓練校校ではサーティファイのビジネスライセンス試験を基本情報技術者試験へのステップアップとしてすすめていました。
僕は C 言語はC 言語 3 級と 2 級の問題集で受験の準備をしました。
Java も同様に Java 3 級と 2 級の問題集で学習してから受験しました。

一年間はプログラミングの学習が主でした。
また、それと並行して電気数学の授業もありました。
虚数・複素数なんて言葉も人生で初めて知りました。

やっぱり、高校中退って痛いですね。

「40歳。基本情報技術者試験を受けてみた」に続きます。

解答ページへのリンク

解答ページは「こたえあわせ」のページです。
パスワードは「 86world 」です。

ではでは。