プログラミング言語はどこからおかしくなったか

1仕様書無しさん
垢版 |
2021/04/01(木) 23:17:32.70
最初から、はナシで
2021/04/02(金) 02:23:45.69
お前の頭が新しいパラダイムについていけなくなったときから
2021/04/02(金) 02:41:28.30
>>1
その議論の前に、プログラミング言語がおかしくなったという
主張は正しいか?誰がそんな事を言っているか?という話をしないといけない

そうでないと、おかしくないものに対して
おかしいんだという先入観を与えてしまうことになる


例えば「なぜ日本人は馬鹿になってしまったのか徹底討論」みたいな
テレビ番組が作られたとしたら、それは日本人が馬鹿になったという
印象を与えるための番組だと思ったほうがいい
そんな日本人が馬鹿になったというデータはないのに、テレビ番組を見てる人は
日本人が馬鹿になったんだなという前提で、その理由を考えることになり
日本人が馬鹿になったかどうかを考えず刷り込みが完了してしまう
このようなテクニックは多いのでそれに騙されないようにしましょう
4仕様書無しさん
垢版 |
2021/04/02(金) 04:42:56.59
まずa=a+1がおかしい
5仕様書無しさん
垢版 |
2021/04/02(金) 06:45:56.88
一度も使わなかったもの:
共用体
2021/04/02(金) 09:33:52.42
>>4
その書き方はシンタックスシュガーなんだよ
本来は
LET a = a+1

さらにアセンブラまでさかのぼるとa+1を計算した結果がレジスタに格納され、さらにレジスタからaに戻すという
流れをわりと自然に表現できていることに気づくと思う

しかし今の時代はUIから設計していく時代だ
アセンブラの動きを理解しやすいようにボトムアップで考えていくのは時代遅れだ

つまり
a ← a+1
と書くのが正しい

もしくは
let(a, sum(a, 1))
と書くのがプログラミングの将来にとって非常によい本来の姿なんだ
2021/04/02(金) 09:53:35.31
そもそも数学に代入記号がないのが問題
イコールと代入は意味が違う
2021/04/02(金) 10:02:42.84
代入 =
イコール ==、EQ

代入とイコールで同じ記号を使ってる言語ってBASICとCぐらいじゃないの?
2021/04/02(金) 10:46:40.85
初心者みてーなこと言ってんじゃねー
2021/04/02(金) 12:32:45.76
>>8
は?Cは比較は==だが?
2021/04/02(金) 13:26:03.75
(setq x 1)
これがよかったなあ
2021/04/02(金) 15:46:26.53
>>10
B言語だったかC言語の初期だったかは比較がイコール(文脈依存)だったことがある。
でも不便だから後々変わった。
2021/04/02(金) 16:02:11.39
比較をアルファベットで行っていたCOBOLは正しかった
またCOBOLが優秀だと証明されてしまった
2021/04/02(金) 16:56:49.84
1+1=2 という数式が一般の人には難しく
1たす1は2 という言葉のほうが分かりやすいと
思われていた時代があったかもしれないね
15仕様書無しさん
垢版 |
2021/04/02(金) 19:56:27.65
タイプライターに矢印形の文字があれば代入はそれになっあたよな
2021/04/02(金) 20:10:18.23
Javaの暗黙オブジェクト
17仕様書無しさん
垢版 |
2021/04/02(金) 20:11:30.43
APL
2021/04/02(金) 20:13:51.95
割と本気で思ってるのがオブジェクト指向馬鹿が誕生した時からだろう
19仕様書無しさん
垢版 |
2021/04/02(金) 20:57:28.47
宇宙船演算子ってなんだよ
2021/04/02(金) 22:05:21.22
>>15
x <- 1
とかでよかった気がする
2021/04/02(金) 22:30:53.55
こんなしょうもないことで躓くの?
>>4
2021/04/02(金) 22:37:08.17
それがおかしいと思う感覚は正常
むしろコンピュータ技師として適正がある
アセンブラどうぞ
2021/04/03(土) 08:09:51.12
添字の表記が省略された漸化式と考えていますが
2021/04/03(土) 08:22:13.75
=と==を分けて考えることができないのは頭堅すぎるだろ
2021/04/03(土) 08:26:17.23
>>23
前の添え字のときの値を見るすべがないし
参照でももたれてたら処理中に突然値が変わるんですが
2021/04/03(土) 08:47:45.77
>>25
命令的にメモリーを操作している訳ですし......
27仕様書無しさん
垢版 |
2021/04/03(土) 08:52:49.72
比較が=は本当に頭おかしいと思う
28仕様書無しさん
垢版 |
2021/04/03(土) 08:53:45.67
>>6が最高すぎる
2021/04/03(土) 10:49:45.91
a=a+1

この場合、aは変数の値を格納しているメモリのアドレスを表現しているんだ

&0x01 = &0x01 + 1;

っていう書き方を省略しているにすぎない

左辺は格納するアドレス、右辺は格納されている値なんだ
a=a+1の左右でaの意味が違っていることに気が付けば違和感の正体がわかるはずだ
2021/04/03(土) 11:01:11.95
:=
31仕様書無しさん
垢版 |
2021/04/03(土) 12:15:17.43
記号言語の概念と数学の概念をマゼコゼに考えるから分からなくなるんだろ
2021/04/03(土) 12:59:57.60
数学の概念で言うならば=という記号は
同一の値であるという意味なんです
33仕様書無しさん
垢版 |
2021/04/03(土) 13:28:04.65
言語の(C言語やそれに類する)概念で言うと=と言う記号は
左辺に右辺の結果を入れると言う意味なんです
2021/04/03(土) 13:49:41.27
>>32 違うぞ。
2021/04/03(土) 15:42:15.10
YouTube で有名な、雑食系エンジニア・KENTA が、
Java, PHP を絶対に勧めない

初心者には、Ruby on Rails しか勧めない。
それで実際にビジネスサイトを立ち上げた女性・初心者は、Rails, Heroku

AWS を使いたい企業は、さらに、
くろかわこうへいのAWS サロンへ入る

皆、このパターン

KENTA の千円のサロンへ入って、聞いてみれば?
2千人入っている
2021/04/04(日) 03:47:35.39
ステマ
2021/04/04(日) 11:31:11.28
>>34
昔の人が決めたルールです。本来は勝手に変えたらダメなんです。
2021/04/04(日) 18:36:12.88
>>37
そんな決まりは無い
あらゆるものは変化する

新しい使い方が他人の共感を得て流行るかどうかだけ
共感を得なかったらただ廃れるだけ
2021/04/04(日) 20:21:14.60
定義を記述する言語と
命令を記述する言語の違いが分からない奴に欠陥がある
違うものは違う
存在の目的から違う
自分の知ってるものと同じでないとおかしいという
頑固者は邪魔なだけ
新鮮でもなんでもないありふれたガイジ
2021/04/04(日) 21:25:02.49
等号を代入記号で使うのは違う定義を与えたってだけでそれにより本質的になにか重大な間違いが生じるとは思えんが
2021/04/05(月) 04:31:23.10
=に違う定義を与えていいってことになると
+や*に違う定義を与えても良くなっちゃいますねw

数学で等号だって決まってるんだから
そのとおりにしなさい
2021/04/05(月) 05:09:17.84
学歴不問
コピペ
2021/04/05(月) 05:47:01.03
記号なんて微積分だって違う記号使ってるだろ
2021/04/05(月) 06:44:57.60
1!=1

数学的には正しいはずなのに!
2021/04/05(月) 06:54:53.46
カッコつけて仕様書で≠って書いたら見づらいのなんの
2021/04/05(月) 09:59:27.38
>>41
ああ、違う定義を与えていいんだぞ。
文字列の連結に+を使ったりCのdereferenceに*を当たり前のように使ってるだろう。
文脈によって記号の定義が異なるのは問題ない。類似した文脈では意味的に近い方がベターというだけの話。
文脈を無視して記号だけを取り出して語るのは馬鹿げている。
47仕様書無しさん
垢版 |
2021/04/05(月) 10:24:53.73
群論も記号論も知らないスポンジに何話しても無駄
2021/04/05(月) 10:51:20.82
そもそもC++見てショック死するべきw
2021/04/05(月) 11:00:24.11
>>41
正にその数学が=をそんな定義してない。
反射律,対称律,推移律ぐらいも知らないアホの子には何言っても無駄な気もするけど...
2021/04/05(月) 11:05:39.91
LET A, A+1
って書くよりも
A=A+1
のほうが直感的
2021/04/05(月) 11:07:46.51
=に代入の意味を与えたやつはアホ
数学を勉強しろ
2021/04/05(月) 11:08:23.52
そもそも数学の記号じゃねーし

数学がどうこういうならまず数学の微分の記号を統一してからおいで
2021/04/05(月) 11:09:02.22
ちなみに数学って九九の話じゃねーぞw
54仕様書無しさん
垢版 |
2021/04/05(月) 11:17:17.78
まあ、文字列連結の+なんて、数学的な+とまるっきり意味が違うだろw
2021/04/05(月) 11:22:04.06
学校で+ーを習ったばっかりなんだろうw
2021/04/05(月) 12:17:59.38
いつまで文法の話してるの?
57仕様書無しさん
垢版 |
2021/04/05(月) 14:44:30.51
REXXに無理やりオブジェクト指向導入されたときは悲しかったなぁ
そんなめんどくさくて長くて無駄な書き方強要しないで昔通りに書かせて
マニュアルも昔通りの記述を中心に書いてよって思った
58仕様書無しさん
垢版 |
2021/04/05(月) 14:57:35.44
式の流れから
左側から右
右側から左
これの問題もある
答え=1+1 cpu
1+1=答え 人間
だす
2021/04/05(月) 21:19:33.47
代入に=を採用したのは
cobol, fortranからだからな
この辺の言語の設計したのは
バリバリの数学者だったはずなんだが
なんで=を採用したんだろうか
2021/04/06(火) 02:29:50.74
ヒルベルトさんは記号なんてどうでもええわと言っとったわ
2021/04/06(火) 03:16:37.76
https://ja.m.wikipedia.org/wiki/%E7%AD%89%E5%8F%B7

= を代入に使うのは FORTRAN が起源とされる。FORTRAN は文字・記号の種類を非常に少なく設計しており、なおかつプログラムでは頻繁に使われる代入を簡単に表せるようにするため、このような言語仕様になった。

だそうだ。
62仕様書無しさん
垢版 |
2021/04/06(火) 05:15:50.59
=で代入するのに反対な人は
どんな代入記号を思いつく?
2021/04/06(火) 05:56:22.22
define variable dimension x
set value x is f(x)
2021/04/06(火) 07:44:31.59
やめてくれw
2021/04/06(火) 08:25:02.23
←でいいだろ。Unicodeの時代なんだから
2021/04/06(火) 09:40:51.85
>>65
漸近と間違えるからダメ
2021/04/06(火) 09:41:07.93
キーボードから直接入力できない面倒な記号はダメだろ
68仕様書無しさん
垢版 |
2021/04/06(火) 15:42:10.16
>>67
いまどきなら構文解析で整形掛けて=を←に変換だって出来るだろう?
69仕様書無しさん
垢版 |
2021/04/06(火) 15:49:47.06
オブジェクト指向言語が現れてから。
プログラムは具体的な処理しかできないのに、
抽象化などという余計なものが入ってきて、
デバッグが難しくなった。

独立性はオブジェクト指向でなくても
十分にあるのに、
クラス分けできないと
独立じゃないなどと馬鹿がウソついて
一気にウンコ言語が拡散した。

オブジェクト指向なんぞウンコ!
汚らわしい!
2021/04/06(火) 15:51:05.67
>>69
コボルのデバッグをお願い。オブジェクト指向じゃないから
お前にとっては簡単なはずだ
2021/04/06(火) 16:21:32.01
>>69
ウンコなのはオブジェクト指向ではなくて、設計の下手な奴とそれをオブジェクト指向自体の欠点と混同する奴だろう
2021/04/06(火) 16:22:36.37
コボルを使っていれば設計は誰でも出来る
2021/04/06(火) 16:23:58.85
>>69
抽象と具体がハチャメチャなやつがオブジェクト指向設計をするのが問題
現実世界でも抽象的に物事を捉えられない人が多い
2021/04/06(火) 19:41:14.62
javaのenumが慣れない
75仕様書無しさん
垢版 |
2021/04/07(水) 02:19:53.07
>>70
やるよ
簡単だからな
COBOLは最もまともな言語だ
わかんねえだろ?
馬鹿には分からんのだ!
2021/04/07(水) 06:35:08.06
いいやPL/SQLには負けるね
2021/04/07(水) 06:37:58.54
COBOL-88 (変更)語の長さを60字以下までとする。
COBOL-93 (変更)語の長さを30字以下までにもどす。
2021/04/07(水) 07:05:21.93
オブジェクト指向だな
メリットを誰も説明できない言語
2021/04/07(水) 07:55:23.86
>>70
今のCOBOLはオブジェクト指向言語だよ
2021/04/07(水) 07:57:56.00
>>69
その通りだと思うが単純に規模が大きくなったせいのほうが大きいと思うぞ
2021/04/07(水) 10:55:08.12
マジレスしちゃダメな雰囲気なのかもしれないが
抽象化した方がデバッグしやすいだろ...

もしも、デバッグしにくいと思ってるなら
適切なスコープを知らないか、ちゃんと副作用の制御が出来てないか
そもそも必要以上に余計なクラスや関数を付け加えているか
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況