2015年04月30日

軍曹の、携帯電話開発の現状を、ソフトウェア開発の非常に重要な失敗の記録として、ソフトウェア工学のリンク集に追加した

ねもすぎ雑記 【軍曹が】携帯電話開発の現状【語る】
http://mssi.blog29.fc2.com/blog-entry-830.html

ネットで学ぶソフトウェア工学
http://coder.lv9.org/softwareEngineering.html#story
に追加した。

こういうソフトウェア開発の失敗の記録って重要だと思うんだよね。
今も、知識ないソフトウェア開発者による品質の低いソフトウェアが開発されていると思う。

こういう記事は別に研究要素はないかもしれないけど、下手な論文より役に立つはずだ。

以下、紹介文です。

前から知っていたが、未読だった。googleキャッシュから復元されたらしい。軍曹による、悲惨なソフトウェア開発の話。最初にスパゲッティコードを捨てておけば、という件は、ぼくも体験した。この記事を読んでいれば、避けれていたかもしれない。仕様書のないソースコードがあったとき、そのコードを捨てれるかどうか、は難しい判断だ。だが、通常の製品開発であれば、殆どの場合捨てたほうがいいだろうと今では思う。仕様書のないソフトなんて、品質が高いわけがない。仕様書を書くひまもなく、作ったソフトだから。通常のソフトであれば、その品質では、バグのもぐらたたきになり、いつまでたっても終わらない。そして、対策の工数も見積もることはできない。しかも、そのコストは膨大だ(僕の体験がずいぶんまじってしまった)。デスマーチをここまで語った文章は稀だ。なぜなら、関わった関係者は蓋をして、なるべく語りたくないからだ。そして、その経験は知られることなく、また品質の悪いソフトが開発される。人が体を壊し、人が辞めていく。臨場感のある文章だ。ところで、この事例は僕の目からみてもひどい事例のように思える。ここまでのことがあるのか。そして、ここまで人間はソフト開発に対して、まだ十分な力がないのか。ぼくの経験では、関わったソフトはまだましだった。変数の名前はややセンスがなかったが、一応ついていた。しかし、それでも足りなかった。ソースコードは既存のコードをコピーしたクローンコードだった。そして、コピー元のコードは理解されておらず、もちろん、コピーが妥当か誰もわかっておらず、まとめ者はレビューをしていなかった。結果、一見できているコードから、ポロリポロリとバグが見つけれる。延々とバグ対策が続く。開発者の体力は削がれ、自分も寿命が短くなった。しかもそのときの上司は、チームのことを気遣っていなかったし、やはりこの例でもあるように保身を第一とし、チームの状況は非常に悪いままだった。この文章の例は悪い例だ。しかし、もっとましでも製品に求められるレベルと、開発技術のギャップがある事例は無数にあるはずだ。
posted by ソフトウェア工学なんて忘れて at 23:30| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2015年04月28日

プログラマは家事をしたほうがいいかもしれないよ

プログラムは言われている。
効率化、効率化、効率化。

家でのプログラムだって、そうだ。土日は短い。
勉強しろ、勉強しろ、勉強しろ。
効率的に、効率的に。
効率化のために、効率化のために。

バグのないプログラムを作るには、頭でよく考えることが必要ならば、
仕事は先を読むこと、他人の気持ちを考えることならば、
ずっと考えなければならない。

こんなブログに価値はあるのか?ブログを価値ありものにするには?

次々、質問が湧いてくる。次々、思考が生まれる。

土曜日、彼女が仕事にいって、家事をする。掃除をする。洗濯物をたたむ。
静寂がよい。

Macで自動読み上げで、記事を聞く。そんなことはしないでよいよ。

思考を止める。静寂。
ただ作業をする。やることは何もないのがよい。

静寂は喜びだ。無は喜びだ。何もないなんて休息だ。
死ぬには早いかもしれない。でも、何もやることが無くなるなんて、休暇のようなものだ。

やるなら無駄なことだ。効率化はつかれた。
効率化なくしては、存在はなく、休みもないのかもしれないのだが。。
posted by ソフトウェア工学なんて忘れて at 07:34| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2015年04月24日

すごいH本、1回目読み終わって、よかったから、2回目の復習に入った。




前にも書いたんだけど、この本さ、やっぱセンスいいんだわ。

で、この本のいいところは、やっぱセンスだよね。イラストや、ちょっとジョークのきいた本文はリラックスして読めるし、もちろん内容はフォーカスをぎゅっとしぼって、大事な点を簡潔に説明し、さらに例の量も過不足ない気がする。これはもう作者のセンスだよね。

すごいHaskellたのしく学ぼう!: Miran Lipovačaをもっと早く読めばよかった: プログラミングは眠るのも忘れて

口語で書かれてて、ジョークとかあって、するする、スラスラ入ってくる。まあReal World Haskell読んだから、読みやすいってのもあるけどね。
砕けた感じだけどさ、わかりやすい。学校の教科書って、固いじゃん。で、大事なことが簡潔に書いてあるイメージだけど、別に、この本砕けた感じだけど、簡潔!わかるかな?この感じ。

モナドへの道。
これがこの本のテーマだよな、きっと。内容をコンパクトにキュットするために、削っているんだよ。
Functor、Applicative、Monadの流れはすごいスムーズな気がする。そこを砕けた口語で乗り切るか。

よく考えられた本なのか、それとも著者のセンスか。それは謎だが。

例もいいよね。サンプルコードを選ぶってセンスだなあって思う。ついついReal World Haskellと比べちゃうんだ、ごめんね。
あと、イラストね。楽しい。で、概念を表している(よくわからない絵も多いけどさ、Functorらへんのプレゼントの絵はいいよね、ていうか、プレゼントとか箱とかの喩えのセンスも著者は最高なんだよ、教えるのが上手。先生向き。ていうか、著者、学生だっていうけど、本当カリスマ先生じゃないの!

自分こわくて真似できん。砕けた感じで、実力ないと最悪だからね。おちゃらけはまじで、リスクなの。

足りないものは、モナド変換子あたりかな。ごめん、他にも概念あると思うけど、知らないの、ごめんね。

Real World Haskellはさ、 ツールとか詳しいよね、まじでHaskellで生きろって感じ。
現実に生きる術を学ぶのはRWHだね。クイックチェックとかもあるし。
Real World Haskellがあるから、現実世界で、ぼくはアプリを、書けているのかもしれないね。ありがとうRWH!

きっと、すごいH本って続編があるよね。

ぼくはあくまで、モナドを登る本だと理解した。
だと、最後のZipperの章は、中途半端だ。どうしてだろう。最後のモナド化は面白くて、感動的だが。

いやあ、続編が楽しみだ(まだ決まっていないって!


すごいHaskellたのしく学ぼう!






posted by ソフトウェア工学なんて忘れて at 21:24| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2015年04月17日

スマホで、勉強するのはやめようかと思う

スマホで、ソフトウェアの基礎(beta) − ソフトウェアの基礎 1.0.2 documentationで、公開されているepubなぞ、読んでいたのだが、いまいちだめだと思えてきた。coqの勉強です。

理由は、

1. 難しくて、だんだんわからなくなってきたが、その理由は、処理系でちゃんと動かしていないからではないか。演習問題をやっていないからではないか。Check等でちゃんとやっていないのではないか。

2. epubがいいと思って、しかも日本語訳を読んでいたんだが、誤植がある、とだんだんテンションが下がるし、英語版の本家を読んだほうがいいのではないかと思い始める。epubにしてくれた作者にはほんと感謝。PDFでは、文字サイズの調整ができないから、ここまで読めなかっただろう。効率がとてもいいが、なんだかそういうところ割り切れないぼくは向いていない。理解できないことを他人のせいにしている気がする。

3. 通勤時のしかも5分とかでみているが、そもそもそんなに細切れ時間で理解できるほど簡単ではないのではないか。連続的に読まないと、ぼくのような記憶力と理解力の悪さ☓悪さでは、忘れて、次の日、記憶を戻すのに、コストが掛かり過ぎる。全部忘れていってしまうのではないか。

って、理由な感じで、要は、頭悪いだけかと思うが、スマホとかで、大作や難しいものを理解するのは厳しいのではないか、と思っている。

だから、スマホで勉強じゃなくて、ニュースとかチェックとか、思うが、それはだめで、ほとんどのニュースはスルーしていいニュースだから、ネタとか2chまとめとか見ちゃだめよ、と自分に言い聞かせる。読むべきは、マスターピースだよ、もう30代で、きっと人生は残り少ないからね。細切れの情報は、自分の価値ある力にはならない。

かっこわるくてもいいから、厚い本でも、かばんからとりだして、5分でも、本を読もうと思う。
今は、すごいH本よんでる。Real World Haskellのような厚い本をかばんに入れていた時代も懐かしい。


すごいHaskellたのしく学ぼう!
posted by ソフトウェア工学なんて忘れて at 06:00| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2015年04月16日

すごいHaskellたのしく学ぼう!: Miran Lipovačaをもっと早く読めばよかった

HaskellのApplicativeとかよくわからなくて、Real World Haskellで、liftA2とか出てきても、さっぱりわからず、理解が不十分ゆえに、すっかり忘れてしまって、Real World Haskell読んでも意味がない(モナドとかはなんとなくわかった気になっていた)と思っていた。

すごいHaskellたのしく学ぼう!を読んだら、これいいわ。Applicativeの章読んだところだけど、すでにいい感じ。Applicativeにこんなにページ割いている本はないし。
webの解説もぽつぽつあるけど、この本が一番いいよ。

Applicativeがわかりかけている、って点でいいんだけどさ。他にも何だったかな、$とかも説明があったり、Functorの説明もあったり、と、知っている内容でも、新たな発見がある。

で、この本のいいところは、やっぱセンスだよね。イラストや、ちょっとジョークのきいた本文はリラックスして読めるし、もちろん内容はフォーカスをぎゅっとしぼって、大事な点を簡潔に説明し、さらに例の量も過不足ない気がする。これはもう作者のセンスだよね。

Real World Haskellも丁寧なんだけど、例がやたら長かったり、概念の簡潔な説明が不足していたり、大事な点がどこかわからない点もある。

その点、この本は、守備範囲は狭いかもしれないけど、Functor、Applicative,Monadを登ろうとしていたぼくにはぴったりなんだよね、今のところ。ファンクター、アプリカティブは一度通ったところだ。次章はモノイドのようだ。次にモナドの山が見える。一度Real World Haskellで登った山だ。今度のルートは、親切で見える風景も違うに違いない。

学生の人には進めたい。就職すると、なかなかまとまった時間はとれない。こういう本は早めにマスターすべきだよ、ほんと。


すごいHaskellたのしく学ぼう!


posted by ソフトウェア工学なんて忘れて at 21:17| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする