(ヽ´ん`)「プログラムなんていわばifとforと代入なんだなぁ(※個人の感想です👨‍💻)


1: 名無しの民 2018/10/09(火) 12:52:44.06 ID:6fLjIhww
プログラムなんてどれもifとforと代入の組み合わせだろ
あとは言語的な作法だけ
最小限意識すりゃ誰でもできる

これマジ?

4: 名無しの民 2018/10/09(火) 13:06:02.29 ID:sK7I/ASA
>>1
おおむね合っている。
ただgotoは覚えとかないとだめ。

10: 名無しの民 2018/10/09(火) 22:44:10.05 ID:qyM7jDqd
>>1
でも、VzEditor の c.mos さんなどが天才だと言われていたように、
凡人には決して達成できなさそうな能力を持つ人もいると思う。

それに、長く考えてもどうやってプログラムしていいか分からない
ようなプログラムも有りえる。

17: 名無しの民 2018/10/10(水) 16:05:08.12 ID:1ntpPBN3
>>1
それはプログラムを見るだけの人の感想
しかもライブラリが一般化する前の古い形で計算も代入に含めるの?って感じ

18: 名無しの民 2018/10/10(水) 20:31:59.27 ID:FKt9Og8R
>>1
間違ってはいない。でも

ぼくはひらがなをしっているのでどんなぶんしょうでもかけます。
僕は平仮名を知っているのでどんな文章でも書けます。

下の方がコンパクトで読みやすいよね

53: 名無しの民 2018/10/28(日) 20:10:18.69 ID:H4mBGOTs

56: 名無しの民 2018/11/11(日) 21:13:31.63 ID:B3f/927d
>>54
何度見返しても無限ループしてないが。。。

まさかここでGP0見掛けるとは。。。
>>1 の疑問はGP0で分かると思う。
制御構文はifとwhileしか無いから。

5: 名無しの民 2018/10/09(火) 13:31:17.37 ID:ZTLWu9p3
forはifとgotoで代用できる。

6: 名無しの民 2018/10/09(火) 15:05:47.50 ID:u3rL3LXR
今は言語文法そのものより、フレームワークの使い方が大変だろ
複雑怪奇な役所の手続きに似てる…

あと複雑な事やろうとすると数学の素養がネックになるので学生は勉強しとけ

9: 名無しの民 2018/10/09(火) 20:57:07.98 ID:uKgwXIAC
構造化定理について調べなさい
きっといいことがある

11: 名無しの民 2018/10/09(火) 23:03:16.78 ID:lzsG1KN5
ifを減らすのが美しいんよ
繰り返しもアルゴリズムの工夫で減らしたい
するとパフォーマンス上がる
CPUパワーに任せてやるのは最近の流行だろうが脳が退化すると思うで

12: 名無しの民 2018/10/09(火) 23:04:58.59 ID:lzsG1KN5
まあ誰でもできるってのはそうだと思う
そうやってすそ野を広げたいんだろう 経済的思惑で
でも本職でやっている人は違いを見せて欲しい どんな職でもそう

14: 名無しの民 2018/10/09(火) 23:49:49.69 ID:qyM7jDqd
>>12
でも、どうやれば実現できるか分からないようなプログラムもあると思うよ。

13: 名無しの民 2018/10/09(火) 23:05:21.90 ID:uKgwXIAC
といっても1からnまで足すのに
律義にfor文で回すヤツもいる

15: 名無しの民 2018/10/10(水) 07:19:13.53 ID:az2ldVPt
プログラム言語も進化が求められている
なぜなら進化した言語の方が開発効率が良いからだ
言語における進化とはなにか?それはパターンに名前をつけることだ

ifとgotoがあればforの代用ができる
むしろifとgotoでfor以上のことだってなんでもできる。

だが “なんでもできる” は正義ではない。悪だ
ifとgotoでは何がやりたいのか読み取るのに時間がかかる
そこで出てくるのがパターンだ

初期値から終了値まで繰り返すという特定のパターンにforという名前をつける
なんでもできるifとgotoを使ってforを実装する。
そうすることでforと聞くだけでどういうパターンかをイメージすることができる

そうやって “なんでもできる” ものを使って特定のパターン専用のものを
作り出すことこそがプログラム言語の進化

ifとgotoの組み合わせというのは、単なるコンピュータの理論的な仕組みの話であって
プログラミングする上でその小さい単位だけで作っていたら時間はかかるしバグもたくさん生まれる
より多くのパターンを知っていることこそが知的労働者としてのプログラマの技術力であり
新しいことを覚えることが嫌い、知ってることだけで使って時間をかけるというのは無能でしかない

19: 名無しの民 2018/10/10(水) 23:44:36.05 ID:lWybJR/G
そういう書き方の美しさだけの問題ではなく、そもそもアルゴリズム自体を見出すのが
難しくて実現できないプログラムというものが有りえる。

20: 名無しの民 2018/10/11(木) 00:48:16.35 ID:cGXxD4Yk
たとえば、よくある入力パターンでは正しく動作するアルゴリズムは分かったとしても、
そのアルゴリズムがどんな場合でも正しく動作するかは自明ではないことがある。

そういう場合は、まずは、そのアルゴリズムがあらゆる入力パターンに対して、
正しく動作する事を「証明」する必要が出てくる。逆に、正しくないことを「反証」
する必要がある場合もある。

そういうような意味で、かなりの数学的な才能が無いと、正しいアルゴリズムが
発見できない場合がある。

というより、数学が出来ないと、そのアルゴリズムが正しいかどうかはっきりさせる
ことすら出来ない場合がある。

21: 名無しの民 2018/10/11(木) 05:30:12.87 ID:U1kKB/4M
だから自分でアルゴリズムを考えるのではなく
すでに用意されているものを使いましょうとうことになる

ifとforと代入でできているからといって
安易に自分でアルゴリズムを実装しようなんて思ってはいけない

25: 名無しの民 2018/10/12(金) 00:28:12.76 ID:VqzQ+nMN
>>21
しかし、すでに出来ているアルゴリズムの単純な寄せ集めだけでは、どうやっても実現できえないプログラムもある。

22: 名無しの民 2018/10/11(木) 12:31:59.64 ID:UcH79Tic
いわばエゴとエゴのシーソーゲームやな

24: 名無しの民 2018/10/12(金) 00:27:33.57 ID:ogDn0rIL
とりあえず代入を甘く見過ぎ。
これでだいたいバグ引き起こす。

26: 名無しの民 2018/10/12(金) 04:30:56.60 ID:GAw1EUms
おれwhileしか使わない

27: 名無しの民 2018/10/12(金) 18:29:40.09 ID:oCGKbS+W
if for 配列

28: 名無しの民 2018/10/13(土) 00:00:02.60 ID:g4IdqL32
おかしな挙動を起こさず正しく動く1行のコードにものすごい悩むこともあるけどな
それに至るまでも何十行と書いて消したりテストしたりしてない

30: 名無しの民 2018/10/13(土) 00:06:08.28 ID:L3Dj2/gz
頭悪いとな行き当たりばったりでコードを書く

まともなオツムがあればコードを書くときにすでにソフトウェアデザインが決まってる
なにを書くかオツムの中ですでにきまってる
typoのシンタックスエラー以外は起きない

31: 名無しの民 2018/10/13(土) 00:20:18.59 ID:g4IdqL32
そんな理屈通り動くもんばかりなら良いけどね
たまーに理屈と違う挙動することがあるから
フレームワークのバグだったりするんだけども

32: 名無しの民 2018/10/13(土) 00:22:56.97 ID:gWlwQQxP
最近、他人には非公開ということを前提に、あえて、バグや細かい不調和(?)などを
気にせずに、実験的にプログラムを組んでいくやり方をしてみている。

新しいものを作るときにはそっちの方が良いかもしれないと思ったので。

33: 名無しの民 2018/10/13(土) 00:25:51.66 ID:g4IdqL32
作るものにもよる
自分だけで全部書くような仕事と同じ所を共同で触る仕事とは配慮するポイントが違う

34: 名無しの民 2018/10/13(土) 00:30:43.11 ID:gWlwQQxP
[追加]

・あくまでも完成品ではなく、実験を主目的とする場合の話。

・仕様自体を完全には決めずに色々試しながら仕様を追加してみる。

・全体像が定まってないので、細かいバグや不整合(?)のようなものを完全に
 防ぐことは諦める。

・逆に細かな不具合まで防ごうとすると、ガチガチなプログラムになるので、
 機能追加に時間がかかってしまい、全貌を俯瞰するような実験がやりにくくなる。

37: 名無しの民 2018/10/13(土) 00:35:53.11 ID:L3Dj2/gz
信頼性が低くて問題ない分野ではやっすいシステムでは有効
ちょっとぐらいの不具合なんか問題にしない

当然、作る人間もやすもん

38: 名無しの民 2018/10/13(土) 00:37:46.48 ID:L3Dj2/gz
やっすい人間が
薄利システムを大量生産するのに向いてる

40: 名無しの民 2018/10/13(土) 00:47:52.13 ID:gWlwQQxP
[次のようなことを最近思ってる]

# 最終成果物には厳密さが必要だから、以下の話には注意が必要あるが

・厳密さを求めすぎると、創造性が落ちる。
・フロンティア、パイオニアは、完全無比なものを求めると達成しにくいらしい。

57: 名無しの民 2020/04/22(水) 21:19:56.61 ID:TQVQtNCZ
>>40
そうとも限らない・・・かもしれない
適度な制限は創造力を促進する
スカート丈も長い方が妄想が捗る

41: 名無しの民 2018/10/13(土) 00:56:36.00 ID:L3Dj2/gz
頭悪いと期待通りに動作するコードが書けない
計算機が厳密に動作するのは当然だからな

求めすぎるということはない
厳密にしか動作しない

どんな条件であっても
頭悪いヤツが書かない限り
厳密にしか動作しない

43: 名無しの民 2018/10/13(土) 01:01:52.48 ID:gWlwQQxP
>>41
もちろんそれは良く分かる。

個人的には、自分は性格的に厳密に考え過ぎる方なので、あえて、テキトーに
考えてみたらどうなるかを最近試してみている。

44: 名無しの民 2018/10/13(土) 01:16:16.62 ID:L3Dj2/gz
全然厳密に考えてない
ぜんぜん考えすぎてない
オマエの思考なんかぜんぜん考え足らず

創造性といってもひとくくりにいえるもんじゃないからな

 ①システムと関係なく実現したいことを創造する創造性
 ②システムで実現できることを産み出す創造性
 ③実現したいことをシステムで実現するための創造性

①が一番おカネもちになれる可能性がある
②が次におカネもちになれる可能性がある
③はITドカタ業界

③が一番ランクが低い
しかも超ザコな底辺の裾野が広い
オマエもその裾野の一部だ

47: 名無しの民 2018/10/13(土) 13:14:52.96 ID:4DTv/biP
社長は金持ちだと思うかもしれないが、
倒産する会社の社長が金持ちなわけがない

妄想語ってるだけのやつが金持ちになるわけがない

51: 名無しの民 2018/10/20(土) 17:57:37.02 ID:2Wbqd7ls
ミスチルの歌詞みたいになってんな

58: 名無しの民 2020/04/23(木) 21:39:24.25 ID:sSCtXkDY
Z80的に言えばForすらない
Forとは、加減算とIfということだな
Ifとはジャンプのことだが

だから正味のところ、ロジックは加減算とジャンプとビットシフトで全てできるべし

59: 名無しの民 2020/04/29(水) 08:21:50.97 ID:hLrK2uWw
>>58
DJNZ

60: 名無しの民 2020/05/02(土) 19:56:41.26 ID:2BV9+hbU
そうかもしれないけど
規模が大きくなると手に負えなくなる

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

プログラミング言語大全 [ クジラ飛行机 ]
価格:1980円(税込、送料無料) (2020/5/15時点)


引用元

https://mevius.5ch.net/test/read.cgi/tech/1539057164/


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です