著者の言葉
書籍「紙とえんぴつで学ぶアルゴリズムとフローチャート」について
「昔は……」
僕がIT企業に就職したころ ― 30年近く前のことですが ― 先輩が語ってくれたことがあります。
「昔、うちの会社にはコンピュータ室に大きなコンピュータが1 台あるだけだったんだ。コンピュータを使いたい部署はいくつもあったから申請制になっていて、時間を決めてみんなで順番に使っていたんだ。」
今からすると考えられないような環境ですが、そういう時代もあったのだそうです。 僕が就職したころには一人1 台パソコンを持てるようになっていたので、昔話、苦労話としてよく聞かされました。
コンピュータを使える時間が限られていたから、コンピュータを使ってコーディングやテストをする10 倍ぐらいの時間をかけて、机の上で紙とえんぴつで設計をしたり、設計した仕様書をレビューしたり、テストの計画書を作ったりしていたのだそうです。
そんな先輩たちから指導を受けた僕たちは、先輩たちほどではないにしろ、設計に時間をかけたり、メンバー同士でレビューをしたり、計画書や仕様書を作ったりすることをプログラミングの一部として覚えていきました。当時、僕たちに支給されたパソコンはスペックも低く、一度コンパイルを始めたら30分はパソコンが使えないということもありました。机に向かって考える時間がまだまだあった時代でもありました。
「今は……」
時代は変わって、今や性能のいいパソコンを安く手に入れられるようになりました。 プログラミングの開発環境もとても便利になり、思いついたらいつでもパソコンに向かってプログラムを書くことができます。インターネットで検索したら、いくらでもプログラミングの知識が手に入り、公開されているプログラムをコピーしてきたらすぐに手元で動かすこともできるようになりました。
とても便利になってパソコンに向かう時間が増えた分、紙とえんぴつを手にする時間=考える時間が減っているように思います。 「昔はよかった」と言いたいわけではありません。昔と今を比べたときにどのような違いがあるか、その違いがプログラミングの習得する際に影響を与えているのではないか?ということを言いたいのです。
便利になったことが、逆にプログラミングを習得しにくくしているのかもしれない。 この本の出発点はここにあります。 「こんなプログラムを作りたい!」と思いついたとき、すぐにパソコンに向かうのではなく、一度紙にえんぴつで書き出してみる。作りたいプログラムの概略や仕様を書き出してみることで、全体像を把握でき、整理することができます。こうした作業をすることで、自分がわかっている部分と、まだわかっていない部分も明らかになってきます。そういう段階を踏むかどうかで、プログラマーとしての成長が変わってくるのではないか。僕はそう考えていますし、実際に実感していることでもあります。 かねてから「紙とえんぴつで考えることから始めてみましょう」と提案しているのは、そのためです。
この本では、古いタイプのプログラマーである僕が、自分でプログラミングするときの頭の中―どの段階で、何をどのように考えてプログラミングを進めているのか―を、できるだけ細かく、具体的に書きました。それをプログラムを書くためにやるべきこととして書き出しました。 皆さんができている部分もあるでしょう。その一方でできていない部分や知らなかったところも見つかると思います。ぜひ得意な部分や苦手な部分を確認してください。どのように「紙とえんぴつでプログラムを設計するの か」については、できるだけ具体的な例をもとに説明したつもりです。でも、ただ単に説明を読むだけでなく、足りないところを練習で補っていただけるよう、初級レベルから上級レベルまで実習問題も用意しました。単に読むに止まらず、実際に紙とえんぴつを使って設計のトレーニングをしていただければと思います。 そうすればきっと、今よりもっとプログラミングできるようになるでしょう。そうして身に付いたものは、これからのプログラミングに必ず役に立つスキルになります。本書で一緒にがんばりましょう!
岩松 洋, 2022,『紙とえんぴつで学ぶアルゴリズムとフローチャート』 (2022, 日経BP)
著者情報
岩松 洋
岡山大学工学部修士課程情報工学専攻卒。
大手IT企業でプログラマー、システムエンジニアとして経験を積み
情報処理技術者プロジェクトマネージャーを取得。
開発チームのプロジェクトマネージャーとして官公庁のセキュリティシステム開発を担当後、起業。
数々の開発業務を通じ、要件定義の経験を重ねて身に付けた業務フローづくりのスキルを活かし、生産性向上、業務効率改善専門のコンサルタントとして中小企業を中心に支援。
2019年からはプログラミング教育にかかわる。
初心者がつまずきがちな文法暗記型教育に疑問を抱き、日常の事柄を「紙とえんぴつ」を使用し言語化するトレーニング手法で、プログラミング言語を学んでも書くことが出来ないという課題を解決する指導に力を入れている。