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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
21
(1): 2018/08/17(金)09:31 ID:n+YTyfNv(1) AAS
そもそもオブジェクト指向は、データとアルゴリズムをクラスとして組み合わせただけのこと。
構造化プログラミングみたいに綺麗なコードを書くためのものではない。
22
(2): 2018/08/17(金)21:12 ID:MPzZ3o4u(1) AAS
>>21
なるほど、構造化プログラミングは設計手順でもあるのかー

オブジェクト指向だとドメイン駆動とかユースケース駆動なんかが
それにあたるのかね

Wikipediaの構造化プログラミングには↓こう書いてあって

> プログラムを記述するのではなく、機能を抽象化した「仮想機械」を想定し、その「仮想機械が提供する命令群」でプログラムを構成する

これってオブジェクトの設計にも当てはまるよね
オブジェクトは構造化の手段の一つとみることもできそう
23: 2018/08/17(金)21:21 ID:qzuP1SdP(1) AAS
>>22
つーか、ダイクストラが抽象化データ構造という概念を提案していて、
それがオブジェクト指向のクラスに似た考えだった。
24
(1): 2018/08/18(土)02:37 ID:WCd9Iftz(1/2) AAS
>>22
> > プログラムを記述するのではなく、機能を抽象化した「仮想機械」を想定し、その「仮想機械が提供する命令群」でプログラムを構成する
>
> これってオブジェクトの設計にも当てはまるよね
> オブジェクトは構造化の手段の一つとみることもできそう

ところがSimula 67の頃はともかく、Smalltalk-80以降のオブジェクト指向の人々は暴走して上の構造化プログラミングでの抽象機械という思考上の粒度とは
およそ対応しないほど細かい粒度のオブジェクトをどんどん使い始めた、例えば「1つの数だって立派なオブジェクトだ!」といった形でね

オブジェクト指向がそのように暴走しだした時=オブジェクト原理主義が始まったから、オブジェクト指向を熱心に使う人々の大半は構造化プログラミングとは無関係になり、
オブジェクト指向で作られたプログラムはDijkstraが考えていたようなプログラムの正しさを論じやすいようにしっかりとした構造を持つものではなく、
まるで簡単に取り外しできて自由に回転できる自由継手ばかりで組み上げられたようなクネクネとして「形」というものが良く見えない代物になった
省1
25
(1): 2018/08/18(土)06:54 ID:/QeKlEIL(1) AAS
>>24
>ところがSimula 67の頃はともかく、Smalltalk-80以降のオブジェクト指向の人々は暴走して上の構造化プログラミングでの抽象機械という思考上の粒度とは
>およそ対応しないほど細かい粒度のオブジェクトをどんどん使い始めた、例えば「1つの数だって立派なオブジェクトだ!」といった形でね

確かにオブジェクト指向はそんなものだと漠然と思っていたけど
何でもオブジェクトにすればいいってものではないよなあ。
結局、オブジェクト指向の導入によってプログラムは難解になっただけだった。
柔軟性は上がったけど可読性は低下した。
26
(1): 2018/08/18(土)07:26 ID:ddghJ7gy(1) AAS
わかりみが深い
27: 2018/08/18(土)09:50 ID:a1RXOr9m(1) AAS
>>25
暴走というより、プログラミングの可能性追究の過程だからね。
「可読性という産業的な面の利便性」とは別の、今で言えば自動プログラミングの方向だし。
28
(1): 2018/08/18(土)10:59 ID:S+HXVA53(1) AAS
>>26
わかりみが深いの意味と使い方とは?きもい言葉だけど元ネタはまさかの漱石?
https://kotoyumin.com/wakarimi-mean-3531
29
(1): 2018/08/18(土)12:39 ID:bDjLpxd+(1) AAS
Smalltalk で何でもオブジェクトになるのは文法と実装からほぼ必然なので許してやれ
30: 2018/08/18(土)12:48 ID:ow8xpWs0(1) AAS
>>29
Smalltalkはオブジェクト指向を突き詰めたらどうなるのかを実現した言語だし
31
(1): 2018/08/18(土)14:51 ID:WCd9Iftz(2/2) AAS
>>28
「わかりみ」は文法違反の単なる誤用で日本語の意味のある単語としては認められない

>本文中の他の「?み」の例、つまり「ありがたみ」や「悲しみ」それに漱石が使った「淋しみ」は
>どれも形容詞「ありがたい」・「悲しい」・「淋しい」の語幹に「み」を付けて名詞化した言葉であるが「わかりみ」は違う

上に加えると
「わかりみ」の語根「わかり」は動詞「わかる」の連用形なので形容詞のように体言にかかり修飾することすらできない単語で
それに「〜み」を付けた形を日本語の言葉として使うのは単なる無知を曝け出しているだけのこと
32
(1): 2018/08/18(土)22:07 ID:pa0Db4PI(1) AAS
Smalltalkなんて死んだ言語を語ってもなー
33
(1): 2018/08/18(土)22:17 ID:NYofKyoT(1) AAS
>>1
ダイクストラの提唱した検証を前提としたプログラミングが必要か?という
疑問であれば、これから必要だし今後はさらに重要になると断言できる
実際、24時間365日 正しく動作するバグ0の品質要求が当たり前な
組み込み開発の一部では、必須の技術要素になりつつある

ただし、ソフトウェア検証への対比としてオブジェクト指向を挙げる事に違和感がある
ソフトウェア検証とオブジェクト志向は互いに交差する概念であって対立はしない
実際、たとえば VDMにオブジェクト指向を導入したVDM++が登場しているし、
Alloy は最初からオブジェクト指向の概念を前提として設計されている
34: 2018/08/19(日)02:21 ID:pZiVccB3(1) AAS
>>31
言語学上はある表現が間違ってる云々といった議論は意味を持たない
例えば、あらゆる方言は標準語から見れば「誤り」だがそのような主張をする人はいない
一定の範囲で通用しているならそれは「正しい」言葉なのだ
35
(1): 2018/08/19(日)11:26 ID:IdAXDQAD(1/2) AAS
>>33
>実際、24時間365日 正しく動作するバグ0の品質要求が当たり前な
>組み込み開発の一部では、必須の技術要素になりつつある

具体的にどうやっているんだ?
36
(1): 2018/08/19(日)15:50 ID:aRJ7Tr37(1) AAS
>>35
開発したいシステムの外部仕様をVDMやAlloyといった形式的仕様記述言語で
記述し、それをツールを使って検証、詳細化という手法で実装言語に変換

詳細に関しては「組込み 形式手法」や「組込み 仕様記述」でググると、
大量の入門やら事例やらを扱う文書が見つかる

個人的にお勧めの教科書(入門書)は以下の2冊:
・形式手法入門
 https://www.amazon.co.jp/dp/4274211886/
・組み込みソフトへの数理的アプローチ
 https://www.amazon.co.jp/dp/4789838080/
省3
37: 2018/08/19(日)17:46 ID:IdAXDQAD(2/2) AAS
>>36
ありがとう。今の組込はそんなことをやっているんだなあ。
38
(1): 2018/08/19(日)22:10 ID:Xhdb6YaQ(1) AAS
>>32
> Smalltalkなんて死んだ言語

Smalltalkは現役バリバリの言語処理系だが?→http://pharo.org/
そんなことも知らんとかアンテナ低すぎだぞ!wwwwww
39
(1): 2018/08/19(日)23:25 ID:Kq0ObHsK(1) AAS
>>38
アンテナ強すぎてノイズ拾ってるんちゃうんか?
40: 2018/08/19(日)23:49 ID:xR7/CWZ6(1) AAS
>>39
アンテナ「強」すぎとかググり力以前に日本語wwww
1-
あと 362 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.011s