読者です 読者をやめる 読者になる 読者になる

うめすこんぶ

日々のプログラミングで残しておきたいメモ.何かの役に立てれば幸いです.

「好奇心を“天職"に変える空想教室」を読んだ

読書

好奇心を“天職

好奇心を“天職"に変える空想教室

TEDにて発表もされた、町工場の社長でありながら、ロケットを作っている植松努さんの著作。

今後の日本は、かつてない人口減少社会に突入します。ということは、いままでの常識が通用しないということ。また、日本の単位時間あたりのGDPは、フランスの半分しかありません。こんな日本で将来大丈夫なのでしょうか。

ですが、植松さんは、GDPが半分しかないなら、逆に改善の余地がたくさんある、と言っています。改善するためには、みんなの能力向上が必要で、能力向上は、失敗を避けずチャレンジすることで培われます。できるかどうかわからないけど、実現したいこととは、言い換えれば「夢を実現する」ということ。今後の世界では、結局なにが正しいか読めないからこそ、夢をもってチャレンジしていくことが大事です。

また、ロボットに雇用が奪われる未来だからこそ、ロボットに負けないように考える力が人間に必要です。考える力はどうしたらつくのかというと、やったことないことをやってみること、また、諦めず工夫する経験です。言い換えれば、これも夢へチャレンジですね。

夢をもった人が少ないと言われる昨今ですが、そんなことはありません。だれでも子供の頃は、やったことないことをどんどんやったし、諦めず工夫していました。でも、まわりの大人がだめとか、どうせ無理とか、心を殺すことばを使って今って、子供の心がだんだんなくなってくるとのこと。

大人として、我々は子供の夢を失わせないことも大事ですが、他人の否定に揺らがず、本当に自分のやりたいことを追求していく心を保つことが大事だと、改めて知らされました。

植松さんは、子供の頃から夢をもって活動されてきた方。今は、ロケットを飛ばすことと、住宅コストや食のコスト、教育コストを減らした社会システムを作ったりと、さまざまなチャレンジを実施しています。また、植松さんの町工場では、なんと、世界に3つしかない、無重力空間発生装置まであります。やりたいことを、失敗にめげずチャレンジして勝ち得てきた植松さんの半生に、大きな勇気をもらいました。

「JavaScript: The Good Parts」でjavascriptの悪さを追う

javascript 読書

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス

読んだ感想

むしろ、以下にjavascriptの設計が悪いか教えてくれる本だった。

  • あらゆる変数がグローバル(ただし、最新のES6ではローカルにするリテラルが導入された。)
  • クラスの書き方が存在しない(ES6では以下略)
  • NumericやStringやArrayの汎用メソッドが足りない
  • 整数型がない
  • おかしなfalse判定
  • 扱い演算子の数々(new, ==, voidなど)
  • 使用しない大量の演算子

有用だったこと

関数とメソッドの違いなど、普段なんとなく使っている用語の定義があったこと。

メソッド → オブジェクトのプロパティである関数 モジュール → インターフェースを提供するがその内部の状態や実装については隠蔽されている関数やオブジェクト クロージャ → 関数の一種で、作成された際のコンテキストへのアクセスを伴う関数。(書籍には概ねこのように書かれていたが、この定義だと正直たりないと思う)

また、javascriptのバグを生じやすい書き方を学べたこと。 例えば、new演算子。新しいオブジェクトを作ろうとしてnew Hoge()みたいな書き方は良くする。 この時、newを書き忘れた場合に予期しない値が代入されて、バグの原因になる。 よって、newを使わず、別のコンストラクタ関数を用意すべき、という意見があった。

==と===やら&&を&と間違うなど、タイポ関連のバグに対する注意が多く書かれていたと思う。 そもそもjavascriptは例外処理や警告が甘く、大体のミスは見過ごしてしまうので、どこでミスしたか原因切り分けが非常にやりづらい。単なるタイポ一つとっても警告してはくれないので、プログラマ側にミスを減らす努力を強いている。

どんな人におすすめ?

内容は、javascriptの基本文法を伝えつつ、関数やコンストラクタの仕様を教えてくれるものなので、初学者向け。 ただし、いかんせんわかりづらい記述が多いと思う。

「初学者」のレベルとしては、他言語でプログラミングを学んでアプリを作れる程度になった方を想定している。

他の言語から入った場合、javascriptは設計はかなり甘く、同じ感覚でコードを書くと痛い目を見る。 よって、この本でjavascriptの悪い部分をしっかり把握しておくのが、エラーやバグ対処に大いに役に立つだろう。

javascriptをある程度業務ですでに使っているなら、見る必要はない。