構造化プログラミングはまだ必要ではないのか?

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/08/15(水) 00:28:28.85ID:mWz8Up0Y
構造化プログラミングで言うところの「抽象化データ構造とその操作の抽象文の共同詳細化」はオブジェクト指向のクラスで実現された。
しかし、オブジェクト指向だけでは、階層化と段階的詳細化と段階的抽象化が実現できない。

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

(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
2018/08/27(月) 01:00:32.37ID:xXT/kb8T
>>242
あなたが荒らしってことは理解できた
244デフォルトの名無しさん
垢版 |
2018/08/27(月) 01:16:40.33ID:wSgDz8cK
>>243
おいゴミ
2018/08/27(月) 01:24:02.28ID:xXT/kb8T
Monadaisuki に反発している人は、どうして Monadaisuki がノートに書いたことについて具体的に反論できないのだろうか?
構造化プログラミングと無関係のところを必死に叩いているだけ

>>242>>241 を読むだけで ID:wSgDz8cK と ID:zX+eejgv が荒らしだとよく分かる
ここを荒らしたいだけ
246デフォルトの名無しさん
垢版 |
2018/08/27(月) 01:34:42.93ID:wSgDz8cK
このスレWikipedia観察日記じゃないからな
Wikipediaのこと書いてる時点で全員荒らしだろ
バカヤロウが
2018/08/27(月) 02:17:57.17ID:CuVI6vZR
>>246
論点ずらして逃げ出すんなら自由だぞw

>Wikipediaのこと書いてる時点で全員荒らしだろ
>バカヤロウが

なるほどWikipediaの記事関連で20件ほども1人で投稿してるお前が最悪のスレ荒らしということだな
2018/08/27(月) 06:02:52.49ID:S3tfItDu
>>247
アラスナカス
2018/08/27(月) 08:44:29.81ID:XThLDOtj
>>245
これが真実。
ID:wSgDz8cK と ID:zX+eejgv は具体的な反論ができないし、いつも論点をずらして逃げているだけ。
昨日の ID:IHxJX3F+ や ID:hANAm2gW と同一人物。

こんなことをして得をするのは誰なのか?
こいつらが I.hidekazu 本人だとすれば、理解できる。

>>174
>174 1 名前:デフォルトの名無しさん Mail: 投稿日:2018/08/26(日) 19:21:42.20 ID:IHxJX3F+
>あのな、5才児と東大の教授が違うことを言ってた場合
>東大の教授の方が正しいに決まってるだろ
>常識で考えろよ

これも I.hidekazu 本人が書いたと思うと納得できる。
 5才児 = Monadaisuki
 東大の教授 = I.hidekazu
ということだが、I.hidekazu が東大の教授と断言できる根拠が全然ない。
自画自賛と解釈すれば納得できるが。
2018/08/27(月) 08:47:27.02ID:LISH444j
>>249
思い込み激しすぎ、落ち着きなよ
2018/08/27(月) 09:27:58.95ID:U9kUshWA
>>245
>>247
全くその通り
>>249の言うことが正しいのかどうか不明だが、ここまで荒らすと言うことは何か目的があるんだろう
もっとも Monadaisuki に嫉妬しているだけという5ちゃんねるにありがちなことかもしれないが
2018/08/27(月) 09:48:30.72ID:LISH444j
嫉妬するね唇に本能
253デフォルトの名無しさん
垢版 |
2018/08/27(月) 22:37:38.26ID:zX+eejgv
やば
マジキチが発作おこしてる

コレはホンモノさんがきてるわ。。。
分かりやすい。。。
2018/08/29(水) 14:05:29.73ID:oM4mNWMk
荒らしのせいで荒廃したな
255デフォルトの名無しさん
垢版 |
2018/08/29(水) 20:33:30.03ID:zRPnCBM0
正直にいってみ
モナダイスキきてるだろ
2018/08/30(木) 03:30:51.53ID:9J29etMv
その話は既に終わったんだから、いつまでも続けるな
2018/09/01(土) 20:03:02.75ID:GvTC1yVM
荒らしの勝ちだな
誰も来なくなった
258デフォルトの名無しさん
垢版 |
2018/09/01(土) 20:05:14.47ID:tt1XTLVx
>>255
>>67がそうだろな
259デフォルトの名無しさん
垢版 |
2018/09/01(土) 20:05:31.22ID:tt1XTLVx
>>257
>>67のせいだな
260デフォルトの名無しさん
垢版 |
2018/09/01(土) 20:05:57.21ID:tt1XTLVx
ぜんぶ電卓オタクのせい
2018/09/01(土) 20:17:55.27ID:GvTC1yVM
>>258-260
荒らしが速攻で来た!
262デフォルトの名無しさん
垢版 |
2018/09/01(土) 20:20:09.22ID:tt1XTLVx
>>261
ちなみにこいつは >>67 ではない
>>67 が電卓オタクだということに気づかず
擁護したただの痛いやつ
2018/09/01(土) 20:28:08.83ID:/xY33kfI
論破されても荒らしに来る鋼のメンタル
2018/09/01(土) 20:30:36.24ID:GvTC1yVM
>>263
論破されたのはお前だろ
その電卓オタクやらのどこが間違えているのか書いてみろ
2018/09/01(土) 20:32:22.30ID:/xY33kfI
>>264
うわこいつも荒らしかよ
2018/09/01(土) 21:03:28.70ID:9j1fyAg0
まだやっているのか?
結論は >>245 >>247 >>249 で出ている
2018/09/01(土) 21:17:25.18ID:TJJjdlVO
一応言うておくと、2020年プログラミング教育はじまるやろ。
構造化プログラミングを知らない教師教えてるの怖いっていうと思うぜ。
本屋に構造化プログラミングの本は売ってないけど基本だとは知ってるだろう。
自分の子供に跳ね返ることをやるのはよくないと思うぜ。
268デフォルトの名無しさん
垢版 |
2018/09/01(土) 21:17:31.39ID:tt1XTLVx
ははーん、なるほどな
2018/09/01(土) 22:06:25.90ID:Dri4SkZu
>>267
それでも日本は強行するんだよね、、
つまり、基本的な事をないがしろにして教育進めると言う
270デフォルトの名無しさん
垢版 |
2018/09/01(土) 22:08:00.57ID:tt1XTLVx
でもお前らろくに教育受けてない分際でよく頑張ってるじゃん
それを教育受けられるようにしたらもっと良くなるだろ
2018/09/01(土) 22:32:34.79ID:fRm+Mq+S
>>267
そもそも教師ごときがプログラミングを教えるな!!!
2018/09/01(土) 23:24:15.18ID:mPcVbgud
っていうか、学校で教えるほどのプログラミングが
どれだけ使えるんだって話だな。

そしてそれと同様に、学校で教える算数(数学)も
理科も、役に立たんだろ?

内容のレベルには期待しないのがデフォやで?
2018/09/02(日) 00:15:04.22ID:EZNzdcl0
>>272
そもそも学校って何のためにあるの?って気がするよね
2018/09/02(日) 06:23:31.29ID:QLrwh4PD
>>273
朝早く起きて学校に通学して、同級生とともに年上の人の話を休憩を挟みつつ
黙って聞くというところに慣れるためのところだと思う。すごい役に立つ。
そういう枠組みがあると社会に出たときに上司も統制しやすいからだろう。
騒ぐ奴には小学校出たのかって言っておけば抑え込めるし。
無意味に良い教育とか言い出してその枠組み壊しちゃうから統制できなくなる。
不良学生押さえ込むために体育教師が空手を真剣にやりだしたんで部活で空手を
うまく教えることができていました、というのが昔の実態だと思う。
2018/09/02(日) 09:09:02.27ID:lBIHv2hD
潜在能力のある子ども達をもれなく発掘するために全員に知識を授けている
結果として上位何パーセントかのエリートに抜けなく教育を施せるならなんでもいいのだけど
無差別に教育して試験で選ぶより確実な方法がないのが現状なので学校がある
他の無才の子ども達は本当は教育は要らないんだけどエリート発掘のための必要経費と割り切る
遺伝子解析の精度が向上して最初から才能がわかるようになったら義務教育はなくなるだろうね
エリート以外の人達は知識がないほうがコントロールしやすいから逆に教育しないほうが搾取しやすくなる
2018/09/02(日) 09:36:02.21ID:QLrwh4PD
>>275
それは別に構わないのだけど、AIの理論で言う所の評価関数一つしか設定してなくない?
金融工学に、卵は一つのカゴに入れるなという格言あるし、各評価関数の相関性ばらけ
させたほうがよくない?これサブプライムローンと構造同じじゃない。
2018/09/02(日) 09:40:35.41ID:lBIHv2hD
>>276
評価関数は複数ある
学科目や部活動のことね
2018/09/02(日) 10:03:28.38ID:QLrwh4PD
>>277
なるほど。ちゃんと考えているなら安心だ。
2018/09/02(日) 10:16:11.56ID:elP7igYW
>>275
なるほど、船頭多くして船山に登るってやつだな
2018/09/02(日) 10:19:52.91ID:elP7igYW
>>275
なるほど、働きアリの法則ってやつだな
よく働いてる働きアリだけをあつめても、
なぜか2割はサボるようになるというやつ
2018/09/02(日) 11:04:32.24ID:YhzGocWy
>>274
ほとんどのガキには機能していない
>>275の言うように大半のガキに教育は不要

>>277
それは無理なくね?
評価関数は受験だけだと思うのだが?
2018/09/02(日) 11:35:15.24ID:elP7igYW
学科目や部活動が評価関数になるなら
ビデオゲームの上手さも評価関数になって良いはずだ
2018/09/02(日) 11:50:41.30ID:QLrwh4PD
>>282
評価関数にできるだろうけど、多様な解釈を許す開かれになるので、
ただ一つの評価関数には落とし込めないと思う。ゲームにもよると思うが。
2018/09/02(日) 12:23:35.00ID:MtQPJy/P
>>281
>評価関数は受験だけだと思うのだが?

ほんこれ
2018/09/02(日) 12:27:09.25ID:elP7igYW
つまり、受験の点数が高い人ほど
評価も高いという評価関数を作れば良いんだな
2018/09/02(日) 12:30:45.56ID:elP7igYW
ステータスオープンって叫んだら
評価値が表示されればいいのにね
2018/09/02(日) 12:56:52.33ID:QLrwh4PD
値(数字)である必要はないな、自分なら比較可能なformを導入して
極小formみたいなものを安定解とするな。
2018/09/02(日) 13:03:05.66ID:tI4nJRKP
>>285
日本の世の中はそれで回っているのが実情
2018/09/02(日) 15:03:59.09ID:elP7igYW
偉い人は頭がいいからな。サマータイムとか
290デフォルトの名無しさん
垢版 |
2018/09/02(日) 16:50:08.18ID:j/bgxBCr
>>280
なかなか考え深い理論だね
「働いたら負け」と考える自宅警備員はフリーライダーなのかな?それともサボってるだけなのかな?

そしてこの2-6-2の理論が構造化にも関係してるところがまた凄い
自宅警備員が構造化の大切な要素とは思ってもみなかった
(構造化プログラムとは無関係だろうけどさ)
2018/09/02(日) 17:06:31.42ID:QLrwh4PD
>>290
そこまで考えているなら本当に安心だ。
292デフォルトの名無しさん
垢版 |
2018/09/02(日) 21:41:14.69ID:ZycKJIc6
構造化プログラミングでは
イベント駆動のハンドラが実装できない。
2018/09/02(日) 22:00:06.77ID:elP7igYW
例えばC言語は構造化プログラミングだから
イベント駆動という概念が存在しない
294デフォルトの名無しさん
垢版 |
2018/09/02(日) 22:24:50.59ID:Tb3tt8fk
X windowsでも Windowsでも
普通にイベントループもってる
そのイベントを受け取ったときの処理を記述すれば
それはよく巷でいうところのイベントハンドラの一種になる

ちまたでは
そのそれぞれのイベントの処理関数をイベントハンドラと呼称してることが多い

で、それとほんの少し別の話で
シグナルになると通常割込ベクタの制御はOSで隠ぺい化されてる
シグナルが発生したときの動作を記述した処理を
ユーザーがレジストしておけばその処理をOSが呼びだすようになってる
当然、コレもイベントハンドラの一種といえる
2018/09/02(日) 22:27:37.40ID:elP7igYW
はい。知ってます。
296デフォルトの名無しさん
垢版 |
2018/09/02(日) 22:39:15.97ID:j/bgxBCr
FORTRAN 66でイベントハンドラ書いたことあるよ
コンパイラオプションでなんか指定してたと思う
汎用機に繋げたジョイスティックによるUI処理で

だからCだって、出来るんじゃないの?
2018/09/03(月) 02:36:03.13ID:uZqf6nyv
>>296
Cの場合、関数のポインタをイベントハンドラとして登録するような仕組みにすればできる
2018/09/05(水) 14:42:49.97ID:blOO0QSb
オブジェクト指向は機能をオブジェクト同士の関係性でしか
記述できないからわかりにくいんだよな

構造化プログラムは機能が独立してるから分かりやすいんだよな
2018/09/05(水) 14:50:59.28ID:TnOSC8ns
>>298
オブジェクト指向と構造化プログラミングは相反するものなのかねえ?
構造化プログラミングにもクラスの概念に似たものはあるはずだが
2018/09/05(水) 14:58:13.66ID:blOO0QSb
>>299
構造化プログラミングにもクラスの概念に似たものはあるはずだが

これが構造化プログラミングが廃れた原因だろ
これ使うならオブジェクト指向で記述したほうがいい

オブジェクト指向はわかりにくいとかいたが、世の中には
「わかりにくく」表現するしかないものある
2018/09/05(水) 15:05:41.29ID:TnOSC8ns
>>300
抽象化データ構造+その上で動作する抽象化文がオブジェクトやクラスに相当するのだが、ダイクストラ氏はもっと大きな単位で考えていたみたい。
しかし、オブジェクト指向言語のオブジェクトはかなり細かい単位になってしまった。
2018/09/05(水) 15:09:07.29ID:blOO0QSb
機能ってのはほんらいモノではコトなわけだ
それを無理やり関数って形でモノにするのが構造化プログラム
だからまくいった構造化プログラムは断然わかりやすい

まあ構造化プログラムは頭いいやつにしかできない
凡人はオブジェクトが一番だよ
2018/09/06(木) 19:40:06.02ID:Aqi9FT3V
>>302
日本で(略
2018/09/07(金) 13:29:04.07ID:6L9Ok0F1
>>303
日本語でだろ?
2018/09/08(土) 12:29:32.73ID:GaM457i+
学校がフィルタリングの機能程度くらいしか果たしていないから
もう少し技能を見に付け入られる場にする必要が有る
小学生からやる必要は無いと思うけど
中学生くらいからどういう職業に就くか?
という視点で組みなおした方が良い
2018/09/08(土) 23:31:00.95ID:ZGoureqp
ちょっと煽られたことがあるからって排除したらダメだって。
哲学者がやっと生業を得られたもんで、今までの業界に対する
不遇を怨念のようにぶつけているだけじゃないか?
構造化がどうだのオブジェクトがどうだのということではなくて、
僕らは歴史的に言えば哲学者に相当する人種です、と区分けしたい
だけでしょ。
2018/09/09(日) 00:03:53.16ID:N103mDOh
哲学者というのは語弊があった訂正。脳筋多い人。
2018/09/11(火) 22:55:09.85ID:WmneUIpD
こんなページを見つけた。

翻訳:構造化プログラミングを最初に提唱した文書
http://calculator-cafe.com/readings/Structured_programming/Structured_programming.html

この最初の文章と書籍 "Structured programming"(1972年)とは違いがあるのかな?
同じ考え?
309デフォルトの名無しさん
垢版 |
2018/09/16(日) 08:28:25.63ID:qJ8HI8bW
構造化プログラミングとオブジェクト指向って、
どっちか一方だけを残すようなもんじゃないだろ。
2018/09/16(日) 12:33:29.40ID:BbwnbXMm
>>309
現実には組み合わさっているよね
2018/09/16(日) 23:33:02.52ID:8hincGlt
>>308
第2章を書いたホーアが誰からアドバイスを受けたか。
たぶんホーア経由でダイクストラは何を聞いたか。
312デフォルトの名無しさん
垢版 |
2018/10/16(火) 14:12:50.06ID:e2ZuSOro
興味深いなぁ
元々プログラミング専門でやってきてなくて転向してきたから
理屈は分かってるつもりだが本質を問われると自信ないんだよなー
2018/10/16(火) 16:34:25.11ID:9l19UDAz
>>312
大丈夫だ。日本のプログラマーのほとんどはプログラミングの本質なんて理解していない。
314デフォルトの名無しさん
垢版 |
2018/10/16(火) 16:42:02.14ID:nQomBRvE
>>313
だが気になるんです
2018/10/16(火) 17:11:58.33ID:JHQMnpCL
タワシ、木に成ります
316デフォルトの名無しさん
垢版 |
2018/10/17(水) 01:03:47.27ID:jvW331Nc
つーか、プログラミングの本質ってなんだ?
それをダイクストラが作ろうとしたけど、ミルズに妨害されてうやむやになったのでは?
317デフォルトの名無しさん
垢版 |
2018/10/19(金) 10:10:41.64ID:SjrnPnkZ
アルゴリズム+データ構造=プログラミングって本があったろ。
まさにタイトルが真実ついてるなと。

検索とか出来る様になってもテキストファイルや、WinAPIが標準でサポートするbmpファイルは弄れても、世の中で求められてるのはjpegや各種カメラのRAWファイルの編集。
データ構造が分からないと触れもしない。
解析とか勉強しないとかね。
2018/10/19(金) 13:17:54.53ID:J1TJ3lIq
>>317
>アルゴリズム+データ構造=プログラミングって本があったろ。
>まさにタイトルが真実ついてるなと。

それってクラスのことじゃね?
結局、オブジェクト指向で全部いいやってなってしまった
2018/10/19(金) 13:31:32.87ID:2aaNt0Yj
アセンブラだってアルゴリズムとデータ構造じゃん
それをどう扱いやすくするかが問題なわけで
320デフォルトの名無しさん
垢版 |
2018/10/19(金) 14:53:58.19ID:SjrnPnkZ
>>318
言われてみればそうなんだけど、実際にはクラスは型の側面が強くて、クラス作ったら手続き(アルゴリズム)を内包するデータ構造になってしまった。
2018/10/19(金) 15:07:56.87ID:KjS8CKpl
STLが最初に登場した時はデータ構造から切り離されたアルゴリズムに対してOOPな方々からフルボッコだったらしいよ
最終的には勝利したのは歴史が示すとおり
2018/10/19(金) 18:23:21.80ID:wjHh/A22
何を持って勝利なのかわからんが、
STLに相当するものが他の言語にないのはなぜか?

その答えはわかっていて、C++のオブジェクト指向は貧弱だったんだよ。
機能も貧弱だし、なにより標準のオブジェクト指向ライブラリが存在しなかった。
あとC++にGCがないから仕方なくSTLを使ってるっていうのがもう一つの大きな理由だな
323デフォルトの名無しさん
垢版 |
2018/10/19(金) 19:14:15.80ID:tElZQQub
GCデフォだと困る場面もある
仮想マシン使うならGCデフォでも良いがそーじゃないでしょ
2018/10/19(金) 19:23:24.09ID:wjHh/A22
>>323
それが本当の理由。構造化がとかアルゴリズムがうんたらじゃなくて
GCでは困る場合に対応しようとしたためにSTLが必要になった
2018/10/19(金) 19:25:19.05ID:rqXdnb0r
pythonはSTL相当の機能を備えてると言える?
2018/10/19(金) 19:46:08.41ID:akKjNeBd
>>322
いわゆる instantiate なる語が C++ 界隈以外ではほとんど聞かれない、のと同値なのではないでしょうか?
2018/10/19(金) 19:52:49.56ID:wjHh/A22
instantiateでぐぐったらUnityしかでてこんのだがw
2018/10/19(金) 19:55:00.77ID:wjHh/A22
>>325
STLが不要と言える機能は搭載してますね。

1. GCを備えてるから、STLのなんたら_ptrが不要
2. コンテナデータ型を備えてるから、STLのコンテナ型およびイテレータが不要
2018/10/19(金) 22:29:37.07ID:KjS8CKpl
STLの肝かつ叩かれた部分はアルゴリズムをコンテナのメソッドにせずに外出ししているところで
コンテナ部分が言語組込みかライブラリ実装かはどうでもいい

pythonに関して言えば(今は違うが)変数に型が付かないので特に意識しなくても
関数を異なる型に使いまわせるのだから同じようなもんだ
2018/10/19(金) 22:39:19.49ID:cspw41QP
英語版の Structured programming も構造化定理と構造化プログラミングを混同しているようだぜ
https://en.wikipedia.org/wiki/Structured_programming#Structured_programming_languages

やれやれ
2018/10/27(土) 00:05:03.56ID:dyCGgWaa
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

これこそが構造化プログラミングなんだよね。
2018/10/27(土) 00:59:14.43ID:J9QkDzO6
これ読むとなんらオブジェクト指向と相反しないなw
というか現在に至るプログラミングの基礎を提唱しただけに見えるわ
2018/10/27(土) 00:59:19.03ID:4RrrP6U6
はい。私が書き換えました。ほめてほめて
334デフォルトの名無しさん
垢版 |
2018/10/27(土) 07:47:09.96ID:p3Z91K38
>>333
よーしよしよしよしよし( ^∀^)ノシ
2018/10/27(土) 13:01:57.21ID:zWVC9CbW
>>331
分かりやすくなったと言うよりは以前の記事の構成が悪すぎて歴史のところ以外は意味不明だった。
しかも I.hidekazu とか言う構造化定理と構造化プログラミングの区別のできないアホがさらに酷くなりそうになったところをここの住民が元に戻した。
2018/10/27(土) 13:03:42.25ID:zWVC9CbW
>>335
正 区別のできないアホがさらに酷くしてしまった
誤 区別のできないアホがさらに酷くなりそうになった
2018/10/27(土) 23:04:35.16ID:u1e24Y7s
>>332
オブジェクト指向と相反はしないけど一緒でもないんだよね。
2018/10/28(日) 00:27:01.00ID:PnJQ4LJT
そりゃ構造化プログラミングに足りないものを
補ったのがオブジェクト指向なんだから当然だろう
2018/10/29(月) 02:23:59.61ID:guXPkMEj
>>338
Simulaがまさにそんな感じ
ALGOL+Classだったからなあ
340デフォルトの名無しさん
垢版 |
2018/10/30(火) 14:25:56.75ID:B+tN66pj
値だけで論理演算する機能ってほしいと思ってるんだけどなかなかないのかな
例えば
if(value == (1 || 2 || 3) )
だったらvalueが1~3のあいだならtureになるとか。
if(value == (1 || '1' || true) )
みたいに型を飛び越えられたらなお便利。
OR演算が書きやすくなるな。
2018/10/30(火) 20:37:25.24ID:0wy2mEm7
UnkoValues.contains(value)
2018/10/30(火) 20:44:45.86ID:ZgZ/9CmG
>>340
値だけで論理演算してないじゃん
それ、論理演算子 == とか || に
そういう意味をもたせてるだけでしょ?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。