第2回プログラミングの格言から学ぼう

メルマガバックナンバー 第20回

お久しぶりです、プログラミング書籍の館の江畑です。

いきなりですが一つ言わせて下さい。
リモート授業○UCK!!

…失礼いたしました。
この騒ぎで、講師をしてる学校でもリモート授業をやったのですが、正直しんどいです。

まずパワーポイントの資料を作るのが 1F○CK
カメラの性能の関係で黒板が使えず、これまで黒板に書いていた内容をパワポに起こすわけです。
まずこれがキツい。

そして誰もいない教室で、パソコンに向かって90分話し続けるのが 2FU○K
頭おかしくなります。
ひょっとしたら画面の向こうに学生なんていなくて、誰も聞いてないのでは?
という不安が頭をよぎります。

そんなリモート授業も終わり、やっと通常授業に戻りました。
まずは一安心ですが、夏休み明けたらどうなるんだろうか…今から少し心配ですね。

さて、いきなり私情を炸裂させて申し訳ありません。
今回のテーマは
第2回 プログラミングの格言から学ぼうです。

前にやった企画の続編ですね。

達人プログラマやハッカーが残した言葉には、時代を超えた深い学びがあります。
ぜひそれを感じ取って下さい。

特に忙しい時は基本を忘れがちなので、私を含め気を付けたい所ですね。

それでは行ってみましょう。

第2回 プログラミングの格言から学ぼう 

1人目 エドガー・ダイクストラ

あなただけができる事をやりなさい

エドガー・ダイクストラ

エドガー・ダイクストラは構造化プログラミングの提唱者として有名です。
簡単に言うと「GoTo文を使わない」今日のプログラムの元を作った人です。

人生で何をするか…という指針になる言葉ですね。

実は私はこの言葉に触発されてサイトを作ったので、今聞くと大変感慨深いです。

世の中、上を見たらキリがありません。自分より優れた人達はごまんといます。
(よくTwitterで)そんな人達を見ると劣等感に包まれます。

そんな時、上ではなく横を見ましょう。何か手つかずで不便なままになってる分野・問題があるはずです。
そこで困っている人を助ける方法を考えれば良い、私はそのように解釈しています。

別に高度でなくても良い。それで誰かが喜んでくれるなら、人生はおのずと充実してくるはずです。

2人目 ビル・ゲイツ

最良の勉強方法は、プログラムを書くこと。それと、人の書いた優れたプログラムを研究すること

ビル・ゲイツ

今ではすっかり経営者のビル・ゲイツですが、元々は卓越したプログラマでもあります。
彼が説くのはプログラミングの王道です。

特に人のプログラムを研究する事は本当に勉強になります。

私も書籍のサンプルを解析し、それを拡張してオリジナルソフトを作る…
という事を数え切れないくらいやって来たので、この言葉には大変共感できます。

3人目 ダン・ブルックリン

私にとって、プログラムで一番重要な部分は、データ構造のレイアウトなんです

ダン・ブルックリン

ダン・ブルックリンは世界初の表計算ソフト「VisiCalc」の開発者として知られています。
そんなレジェンドが、データ構造の大切さを教えてくれます。

プログラム==アルゴリズムというのは定番ですが、優れたアルゴリズムの裏には必ず優れたデータ構造があります。
この両者は切っても切り離せない関係にあります。

プログラムを書く時「まずデータ構造から考える」というアプローチは場合によっては極めて強力です。
何から手を付けて良いかわからない、そんな時に役立つ言葉です。

4人目 スティーブ・マグワイア

平均的なプログラマレベルのコードを作成せよ

スティーブ・マグワイア

スティーブ・マグワイアは元マイクロソフトの開発者です。
これは彼が著書ライティングソリッドコードで唱えたフレーズです。

つまりトリッキーなコードよりも読みやすいコードを書けって事ですね。

新しい文法や設計を覚えたての頃、やたらそれを使っちゃった経験ありませんか?
私はあります。。。デザインパターン使いまくって逆にカオスになりました。

特にチーム開発では「みんなが読めるコード」を作れるかは大切な能力になります。
他のメンバーを混乱させないコードを書きましょう。

5人目 管理人

ウヒョー俺って天才じゃね?

はい、これは私の黒歴史です。
むかし手強いバグが取れた時、思わず叫んだ言葉です。静かなオフィスで。

同僚達の視線が凄く冷たかったのを覚えてます。そしてしばらくネタにされました…

ただこういう風に自分を盛り上げるルーチンって重要だと思うんですよ。
気持ちがノっている時の方が、絶対プログラミングは捗りますよね?

だから少しの進歩でも、セルフアクションを繰り出すのは有効だと私は言いたいっ(力説)

ただ冒頭のようなセリフを叫ぶのは恥ずかしいので、ガッツポーズ程度にしておきましょう。

プログラミング、リファクタリング、そしてすべてにおける究極の疑問

おもしろい読みものを見付けました。

これはオープンソースのソフトウェアで見付かったミスから、プログラミングの注意点を語る記事です、
MySQL・LibreOffice・Apache Server・VirtualBox等に紛れ込んだバグを色々紹介しています。

挙げられてる多くは、うっかりミスや勘違いなので、ツッコんだり「あるある」と思える内容になっています。

「あの有名ソフトにも、こんな単純なミスがあったのかっ!」
と驚きながら読めました。

おすすめマンガ

先日サイトの読者の方が、面白い漫画を紹介してくれました。
その名も王様達のヴァイキングです。

プログラミングや情報技術がテーマの熱い作品です。

プログラミングは凄腕だけどそれ以外は残念な主人公が、ある男と出会い人生を変えて行く話です。

作中のパソコン一つを取ってもIT関係の描写がやたら細かく、相当な取材をしているであろう作品です。

このメルマガの読者の方ならかなり楽しめると思います。
是非どうぞ!

Twitterハイライト

最初期の家庭用ゲーム機たち

FFで有名な天才プログラマー、ナーシャ・ジベリ

JAVAなのかPythonなのかはっきりしろと

 

前回クイズの答え

さて前回のクイズの答えです。
こんな問題でした。

【問題】
次の○に入る文字はなんでしょうか?

8→0→E→P→A→7→0→1→○

【ヒント】
我々に大変馴染み深いものに関係します(毎日使ってるかも)。
プログラミングを知らなくても解けます。

正解は「0」でした。
これはWindows歴代バージョンの末尾の文字になってます。
98→2000→ME→XP→VISTA→7→8.0→8.1→10
という具合です。

今回は難しいだろうと思っていたら、なんと正解者が1名いらっしゃいました!パチパチ
Amazonギフト券を1500円分お送りしましたので、盛大に使って下さいませ。

今回のクイズ

今回のクイズです。

次のルールが成り立つ時Amazonはいくつになるでしょうか?(理由も一緒にお答え下さい)
MicroSoft = 2
Apple = 4
Facebook = 5

分かった方は本メールに返信してご応募下さい。
正解した方の中から抽選で3名様に、Amazonギフト券コード500円を送信致します。
※募集は終了しました

締切は、次回の配信までです。ご応募お待ちしてます!

今回はここまでです。読んでいただきありがとうございました。

プログラミング書籍の館 江畑


もっと知りたい?
C言語_初級 | C言語_中上級 | C++_初級 | C++_中上級 | C#_初級 | C#_中上級 | Java_初級 | Java_中上級 | コンピュータ_サイエンス | アルゴリズム_ | ゲーム_プログラミング | DirectX_ | Unity_ | ゲーム_デザイン | ゲームのしくみ_ | 数学_ | プログラミング_テクニック | 歴史_偉人 | ソフトウェア工学_ | 読み物_エッセー | 人生_生き方 | 創造_発想 | 雑誌_ | 漫画_小説_映画 | メルマガのバックナンバー_

無料メルマガ たのしくやってます

読むだけで使える!プログラマーの裏技と考え方

読むだけでプログラミング力が上がる
上辺の技術ではないプログラミングの本質が分かる
ビギナーからプロのゲームプログラマーまで幅広い方が購読しています

つまり、登録して一緒にプログラミングを楽しもうぜ!
ってことだよ。言わせんな恥ずかしい。

登録はコチラから!

Kuniaki Ebata 登録者

大学中退(文系)の専門卒 日本で唯一のプログラミング書籍評論家
プログラマーで現役のスキー国体選手です
頭と体を動かすのが大好きなフレンズなんだね 専門学校で先生もやってます
プログラミングは21歳から
貴族じゃない独身

持病:重度うつ病(薬とサポートのおかげで何とか生きてます)

教え子をゲーム業界へどんどん送り込み、世界を面白くする野望を実現中

プログラミングが上達するメルマガやってます

ここを見たゲーム業界の卒業生へ
新作が出たら、連絡するか現物を送ってくれると嬉しいです
ただし18禁・CERO-Dの場合は、厳重に梱包の上、品名をパソコン部品にて送る事(だいじ)

このページが参考になった方へ
ぜひSNSやブログでシェアして欲しいです お願いします(少し上にボタンあります)
最近Google先生が中身の無い「いかがでしたか?」サイトを優遇するので困っています助けて下さい(>_<)

シェアしてくださった方には
小冊子 プログラミング書籍が10倍わかる読み方(pdf)
を差し上げます
こちらからご報告頂くか、こっそりDMを送って下さい