[過去ログ] 構造化プログラミングはまだ必要ではないのか? (402レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1
(6): 2018/08/15(水)00:28 ID:mWz8Up0Y(1/3) AAS
構造化プログラミングで言うところの「抽象化データ構造とその操作の抽象文の共同詳細化」はオブジェクト指向のクラスで実現された。
しかし、オブジェクト指向だけでは、階層化と段階的詳細化と段階的抽象化が実現できない。

まだ構造化プログラミングは必要なのではないのか?
しかし、今は風化しているように思えて仕方がないし、ダイクストラの考えを知っていれば、もっとマシなコードが書けそうだが。

(Wikipedia の構造化プログラミング)
https://ja.wikipedia.org/wiki/%E6%A7%8B%E9%80%A0%E5%8C%96%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0
2
(1): 2018/08/15(水)11:01 ID:i49BHTWw(1) AAS
コード書くときに「これはオブジェクト指向、あっちは構造化プログラム」っていちいち意識するかバカ者
3: 2018/08/15(水)11:43 ID:XWCO6767(1/2) AAS
>>2
とはいえオブジェクト指向だけで説明できないことも多い。
クラスにすれば全て解決ではない。
構造化プログラミングを意識しないと無駄なクラスをたくさん作ることになる。
4
(1): 2018/08/15(水)14:01 ID:/D7pa/qT(1) AAS
>>1
構造化プログラミングについて少し歴史的なことをメモしておこう

構造化定理は逐次的プログラム(つまり並行して動作し得る複数のプロセス・スレッド・タスクが存在せず単一のプログラムカウンタで済むプログラム)について
3基本構造(順接、分岐、反復)の表現能力に関する数学的事実を述べた定理に過ぎず、書かれるプログラムの信頼性とか読み易さ・理解し易さとは無関係

それをさも関係があるように錯覚させたのが実務畑のHarlan D. Millsの狡猾なところであり、またある意味では有能なところでもある
つまり、多くのプログラマはバカだから単純なクライテリアでなければ理解できないから、バカ向けの単純なクライテリアを与えてやった、これが確信犯Millsの功績であり罪過でもある
言い換えればDijkstraの高尚な“structured programming”の精神などはバカな大衆プログラマには理解不能で豚の耳に念仏だとMillsは悟っていたから
Dijkstraの提唱した“structured programming”という標語だけ借りて中身はバカ向けに完全に換骨奪胎したのがMills流の“structured programming=goto-less programming”という一種の運動
そして、この運動を権威づけるために使ったのが単なる表現定理に過ぎない構造化定理だったわけだ
つまり「この運動が正しいことはちゃんと数学で保証されてるんだよ!」って権威づけをしたわけね
省5
5: 2018/08/15(水)17:57 ID:XWCO6767(2/2) AAS
>>1
Wikipediaより

>1987年の第9回ソフトウェア工学国際会議(ICSE)において、Millsは会場にチューリング賞受賞者がいないことを確かめると
>「ダイクストラやホーア達はどこへ行ってしまったのか。我々はもう彼らから学ぶものがないのか。」とその現状を批判した
>(しかし木村泉の見解が当たっていたとするならば、「ソフトウェア工学」をそういったものにしていった張本人こそが、その発言をしたMillsであるということになる)。

酷いよなあ
ダイクストラの研究を粉砕した張本人がよくこんなことを言えるわ
6: 2018/08/15(水)20:19 ID:9o1ne3nM(1) AAS
(きちんとクラスが整理された上での)OOPこそ構造化プログラミングの結実したものと思っていたんだが違うのか
7: 2018/08/15(水)20:52 ID:0gxCPQjR(1) AAS
構造化とオブジェクトは別物だと思っていたが
8
(1): 2018/08/15(水)21:28 ID:mWz8Up0Y(2/3) AAS
今はオブジェクト指向さえできれば十分という風潮がある。
しかし、オブジェクト指向は主にクラスを使うというだけであって、
綺麗で分かりやすいプログラムを書けるかどうかとは別問題。

構造化プログラミングは綺麗で分かりやすいプログラムを書く手法としては今でも大事かと。
9: 2018/08/15(水)21:34 ID:PyNbth/v(1) AAS
>>8
>オブジェクト指向は主にクラスを使うというだけであって

そりゃいくら何でも偏見
10: 2018/08/15(水)21:41 ID:X+03HcfZ(1) AAS
COBOL、VB、Java…と時代が流れても馬鹿は馬鹿なコードを書く。
11
(1): 2018/08/15(水)22:39 ID:9+ksv3W6(1) AAS
>>1
選択するようなもんじゃないじゃん・・・
何で片っぽだけで存在出来ると思ってんの?
12
(1): 2018/08/15(水)22:43 ID:mWz8Up0Y(3/3) AAS
>>11
自分は片方だけとは書いていないが?
13
(1): 2018/08/16(木)00:11 ID:qKowi4/2(1) AAS
>>1 がクソコードしか書けないのは分かったからいちいちスレ立てんな。
14
(1): 2018/08/16(木)00:21 ID:zxs39t0T(1) AAS
>>13
いや、スレ建ての言い分は稚拙かもしれないが、
型クラスベース+継承でソフトウエアを表現すると
依存の茂みを作ってスパゲティーの山になる欠点に薄々気がついて
王様の耳はロバの耳と、あえて言っているのかもしれない…
15
(1): 2018/08/16(木)00:46 ID:uRZjuhnI(1) AAS
>>14
オブジェクト指向で却ってややこしくなった面もあるかもね
16: 2018/08/16(木)01:20 ID:G6TcbKDp(1) AAS
オブジェクト指向技術はエディタの機能で代替できるような気がする。
エディタにはコードの検索や置換機能があるし、
VimやSublime,サクラエディタで高速に既存コードを再利用できる。
だからエディタの機能やVimを極めれば継承とかほぼ要らないし、
再利用性重視でなくてもいい。
変更の影響範囲とかもエディタを使って洗い出せば、管理できる。
だからオブジェクト指向の高度な機能を使わなくてもエディタや
ツールで代替えできる。
コードの差分はGitやWinMergeで洗い出せる。
オブジェクト指向のガチガチの設計を書くととにかく
省8
17: 2018/08/16(木)09:06 ID:xlcF1CtQ(1/2) AAS
>>12
>>1
>まだ構造化プログラミングは必要なのではないのか?

条件が整えば不要になると自分で書いてるじゃん。
18
(1): 2018/08/16(木)09:09 ID:xlcF1CtQ(2/2) AAS
>>15
2010年のインタビューでは、オブジェクト指向の御大は「実現方法に欠点があった」と考えてるようだ。

オブジェクト指向プログラミングは間違いだったか?
https://www.infoq.com/jp/news/2010/07/objects-smalltalk-erlang
>このインタビューを受けたのは、Erlangの最初の開発者であるJoe Armstrong博士とSmalltalk、OOP、パターンに長い間関係している
>Ralph Johnson博士だ。私たちは「間違った道」を当てもなくさまよって
>きたが、これはオブジェクトの考え方の実現方法に欠点があったため
>であり、この考え方自体の欠点ではないと2人は述べた。
19: 2018/08/16(木)09:45 ID:c55d0qec(1) AAS
>>18
これってクラスが良くないってこと?
Erlangの仮想マシンのプロセスみたいなものが良いってこと?
20: 2018/08/17(金)09:05 ID:tlmPPTdZ(1) AAS
元祖オブジェクト志向は俺らのモノだってだけの主張
1-
あと 382 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.011s