> >構造化の由来、みたいなことを考えていたのだと
> 是非、是非、是非!!!
ここ、まじめに書こうとすると、私の生まれる前まで遡ることになるわけです。
それでいて、きちんとした参考文献はあまり持ってない。
記憶で書くと、ソフトウェアの生産性が全然上がっていないね、というのが出発点。
そして、ソフトウェア工学なる学問が出来上がってきた。
これの中身もいろいろあって、例えば、コンパイラの最適化をどうするか、なんて
いうのも論点の一つ。そして、いかにバグの少ないソースコードを書くか、という
ことも論じられるようになった。
この当時、プログラムは「順次」「反復」「分岐」 *だけ* で書ける、という説が
出てきたのだけど、当初、その主張があまりにも強すぎて、当時の感覚では過激派
と思われるくらいだったらしい。
そして実際、その3つで大抵のロジックは書けるわけだけど、やっぱりエラー処理
とかまでその3つだけで書こうとするとえらく冗長になるわけで、まぁそんなに
理屈どおりにはいかないわけですよ。ただ、それらの反論は例外的な事象にばかり
焦点を当てたものがほとんど。普通のプログラムであれば、その3つだけで書ける
よね、というところに収束し、今ではソフトウェア初級レベル。今ではもしかすると
普通科高校でやってる「情報」のカリキュラムにも入っているかもしれない。
あとは、トップダウンアプローチとか段階的詳細化とか、用語はいろいろあるけど、
難しいことは解きほぐして解決しましょう、というのは現実世界も同じ。
あ、そうだ、もうひとつ。
ソフトウェア工学って、どうやればバグの少ないプログラムを書けるか、という
ことも扱っています。これって、航空機工学で、どうやればパイロットが操縦の
ミスを少なくできるか、というのと同じようなもの。例えば、あるメーターとか
スイッチとか、操縦士と副操縦士の両方に1つずつ設けるのか、それとも真ん中に
1個だけにするのか、というのを考えるのは立派な考察対象。
ソフトウェア工学にも似たようなことがあります。
たとえば、ループの範囲は直感的にわかったほうがいい、という出発点に立った
とします。まずその前提の当否が議論されて、うんそうだね、と概ねのコンセンサス
が取れた。すると次に、ではどうやってループ範囲を強調するか、という話になる。
プログラムリストをぱっと見てわかるためには、そうだ、字下げを使おう、となる。
ここでまた、部外者からみるとつまらないとしか思えない議論が始まる。すなわち、
字下げは何文字がいいのか、という話。字下げが1文字だけだとループ範囲はよく
わからない、10文字も下げたら多重ループの場合にどうなる、みたいな話を昔の
人は大真面目にやっていたらしい。ただ、これってきっと、心理学とか認知科学の
領域の話ですよね。
余談。航空機工学の話。
昔、80年ぐらい前の話かなぁ、米軍機で事故が多かった。これはコックピットが
狭すぎる、もしくは広すぎて手が届かないせいでパイロットが素早い動作ができない
ためではないかと考えた人がいた。そこで何をやったかというと、数千人だかの
パイロットの身体測定を行い、平均値の身体寸法の人に適したコックピットのサイズ
にしよう、という話になった。ところが、実際に測定を行い平均値を求めた結果、
数千人の中にその平均値ぴたりの人が一人もいなかったとか。あらまぁ。
> 日立はなぜPC市場を早期撤退したのだろう? もっと大きいのが儲かった?
ん〜、単に儲からなかったから、なんでしょうね。
ベーシックマスターはそれなりに売れていたけど、後継のS1は、売れたという話
を聞いたことがない。
とはいえ、プリウスって言ったっけ、ノートパソコンは出していましたよね。
- No.10416 一括表示へ -
コメント元:10408 一括表示へ -
[ 返信 ] [引用無し] soft
- 関連一覧ツリー
(先頭の番号をクリックするとツリー全体を一括表示します)
▼ 10387.BASM - 文太
22/11/11-12:35
┣10389.TSR!!! - 文太
22/11/11-13:19
┣10390.アセンブラ&コンパイラ、きっと NOT (neg?) - 文太
22/11/11-16:12
┣10391.追記 - 文太
22/11/11-16:29
┗10392.Re: アセンブラ&コンパイラ、きっと NOT (neg?) - としき
22/11/11-22:58
┗10393.Re^2: アセンブラ&コンパイラ、きっと NOT (neg?) - 文太
22/11/12-00:46
┣10394.PrintStrプロシージャ(asm) - 文太
22/11/12-01:12
┗10395.Re^3: アセンブラ&コンパイラ、きっと NOT (neg?) - としき
22/11/12-16:13
┣10396.Re^4: アセンブラ&コンパイラ、きっと NOT (neg?) - 文太
22/11/12-21:53
┗10398.Re^5: アセンブラ&コンパイラ、きっと NOT (neg?) - としき
22/11/12-23:09
┣10401.Re^6: アセンブラ&コンパイラ、きっと NOT (neg?) - 文太
22/11/13-00:17
┗10405.Re^7: アセンブラ&コンパイラ、きっと NOT (neg?) - としき
22/11/13-01:30
┗10408.ゲーム&ビジネス - 文太
22/11/13-14:06
┣10416.Re: ゲーム&ビジネス - としき
22/11/14-01:36
┣10422.Programming Style - 文太
22/11/14-21:21
┗10442.Re: Programming Style - としき
22/12/25-00:13
┗10402.Re^6: アセンブラ&コンパイラ、きっと NOT (neg?) - 文太
22/11/13-00:31
┗10404.Re^7: アセンブラ&コンパイラ、きっと NOT (neg?) - としき
22/11/13-01:01
┗10407.構造化 - 文太
22/11/13-13:49
┣10410.Re: 構造化 - 文太
22/11/13-23:36
┗10417.Re: 構造化 - としき
22/11/14-01:36
┣10420.Index of _Software Tools_ (1976) by Kernighan &am.. - 文太
22/11/14-20:56
┗10421.18650 - 文太
22/11/14-21:05
┗10397.JVM - 文太
22/11/12-21:54
┗10399.Re: JVM - としき
22/11/12-23:23
┗10400.Re^2: JVM - 文太
22/11/13-00:16
┗10403.Re^3: JVM - としき
22/11/13-00:53
┣10406.大門未知子 - 文太
22/11/13-13:03
┗10411.古典 - 文太
22/11/13-23:38
┗10424._ST in Pascal_ (1981) - 文太
22/11/18-13:07
┗10425.Re: _ST in Pascal_ (1981) - としき
22/11/18-16:31
┗10427.Re^2: _ST in Pascal_ (1981) - 文太
22/11/18-20:28
┣10428.Re^3: _ST in Pascal_ (1981) - としき
22/11/18-22:11
┗10436.Re^3: _ST in Pascal_ (1981) - 文太
22/11/28-21:22
┗10439.Re^4: _ST in Pascal_ (1981) - としき
22/11/30-01:49
┗10441.Re^5: _ST in Pascal_ (1981) - 文太
22/12/01-16:15
- 返信フォーム
(この記事に返信する場合は下記フォームから投稿して下さい) [引用無し]
[ページトップへ] [管理用]