前スレ
ぶっちゃけ始めるのにいい言語て何 part6
https://mevius.5ch.net/test/read.cgi/tech/1628771431/
探検
ぶっちゃけ始めるのにいい言語て何 part7
■ このスレッドは過去ログ倉庫に格納されています
2021/09/12(日) 12:56:23.75ID:5CNhVmk1
486デフォルトの名無しさん
2021/10/04(月) 04:31:11.34ID:iJ0WSmh4 >>483
配列にマイナスのインデックスを指定して後ろからアクセスできる言語
Perl, Python, Ruby
できない言語
Ada, BASIC, C, C++, C#, COBOL, D, Java, JavaScript, Julia, Lua, Lisp, Fortran, Go, Haskell, Nim, Objective-C, OCaml, Pascal, PHP, Rust, Scala, Scheme, Swift
配列にマイナスのインデックスを指定して後ろからアクセスできる言語
Perl, Python, Ruby
できない言語
Ada, BASIC, C, C++, C#, COBOL, D, Java, JavaScript, Julia, Lua, Lisp, Fortran, Go, Haskell, Nim, Objective-C, OCaml, Pascal, PHP, Rust, Scala, Scheme, Swift
487デフォルトの名無しさん
2021/10/04(月) 04:35:22.41ID:8MuyuhIX 〇なってしまう
×できる
×できる
488デフォルトの名無しさん
2021/10/04(月) 08:11:58.68ID:X/RNGavO 両方出来るアセンブラ最高かよ
489デフォルトの名無しさん
2021/10/04(月) 08:50:39.68ID:dVk2OB8l >>486
それらPerl, Python, Rubyはダメな仕様のプログラミング言語です
それらPerl, Python, Rubyはダメな仕様のプログラミング言語です
490デフォルトの名無しさん
2021/10/04(月) 10:09:19.82ID:Wm15mMa+ 俺が初心者に勧めるならpythonだな。数時間あれば物体追跡までやれるから面白いと思うよ。
491デフォルトの名無しさん
2021/10/04(月) 10:10:34.49ID:T6a47w3J >>486
その中でカスタムサブスクリプティングをサポートしてる言語は?
その中でカスタムサブスクリプティングをサポートしてる言語は?
492デフォルトの名無しさん
2021/10/04(月) 12:44:01.21ID:Ax0SG/Jv jsダメだったのか
今まで普通に使ってたわ
今まで普通に使ってたわ
493Mb
2021/10/04(月) 14:28:14.39ID:JFT4UYBi494デフォルトの名無しさん
2021/10/04(月) 15:29:01.74ID:n0RTFZDx なにゆーてん
495デフォルトの名無しさん
2021/10/04(月) 15:31:13.07ID:iJ0WSmh4 御指摘が多数あったので書き直しました
配列にマイナスのインデックスを指定すると配列の最後からアクセスできてしまうダメな仕様>>483となっている言語
Perl, Python, Ruby
それ以外の言語
Ada, BASIC, C, C++, C#, COBOL, D, Java, JavaScript, Julia, Lua, Lisp, Fortran, Go, Haskell, Nim, Objective-C, OCaml, Pascal, PHP, Rust, Scala, Scheme, Swift
配列にマイナスのインデックスを指定すると配列の最後からアクセスできてしまうダメな仕様>>483となっている言語
Perl, Python, Ruby
それ以外の言語
Ada, BASIC, C, C++, C#, COBOL, D, Java, JavaScript, Julia, Lua, Lisp, Fortran, Go, Haskell, Nim, Objective-C, OCaml, Pascal, PHP, Rust, Scala, Scheme, Swift
497デフォルトの名無しさん
2021/10/04(月) 16:53:09.02ID:X/RNGavO498デフォルトの名無しさん
2021/10/04(月) 17:38:36.70ID:znSA4x40 配列要素のマイナス指定の仕様の話をしているのになぜデータ型の話になるのか...
499デフォルトの名無しさん
2021/10/04(月) 17:54:02.11ID:CaXP+fHy >>495
いや、何もおかしくなかったよ?
いや、何もおかしくなかったよ?
500デフォルトの名無しさん
2021/10/04(月) 18:28:58.18ID:Rysg4GDr あわしろ氏がお勧めする数学志向言語Haskell。
501デフォルトの名無しさん
2021/10/04(月) 19:05:45.27ID:2YMOh0J/502Mb
2021/10/04(月) 20:35:34.52ID:JFT4UYBi あぁ、まったくものを識らないというのは怖ろしいことだなぁ ……
南無阿弥陀佛南無阿弥陀佛 ――
「ここは配列の一丁目といって、
OPTION BASE 1を宣言しているので、
0丁目やマイナス一丁目の無ぇ処だ」。
アセンブラや C で配列の添字でマイナスの値を指定していて、
さんざん他人の記憶領域を踏みつぶしてトラップを発生させて
きた報いを今こそ受けるがいい。
南無阿弥陀佛南無阿弥陀佛 ――
「ここは配列の一丁目といって、
OPTION BASE 1を宣言しているので、
0丁目やマイナス一丁目の無ぇ処だ」。
アセンブラや C で配列の添字でマイナスの値を指定していて、
さんざん他人の記憶領域を踏みつぶしてトラップを発生させて
きた報いを今こそ受けるがいい。
503デフォルトの名無しさん
2021/10/04(月) 20:54:40.65ID:Oq3tSgoB >>493 のツッコミが良くわからない
504デフォルトの名無しさん
2021/10/04(月) 23:50:14.04ID:iJ0WSmh4 >>502
今回はその話がされているのではないです
例えばPythonではマイナスの添字で配列の後ろから数えた要素になってしまうのです
a = [5, 6, 7, 8, 9]
print(a[-1]) # → 9
print(a[-2]) # → 8
print(a[-5]) # → 5
この添字が算出された変数で与えられた時に
プログラミングのミスでマイナスとなった場合と意図的に後ろから数えたい場合で同じこの結果となって区別できないため
プログラミング言語としてはPythonは悪い仕様だと言われている話です
さらに添字の開始を0ではなく任意の整数にできるプログラミング言語もありますが
このPythonの悪い仕様だと開始をマイナスの整数とした場合に困りますね
今回はその話がされているのではないです
例えばPythonではマイナスの添字で配列の後ろから数えた要素になってしまうのです
a = [5, 6, 7, 8, 9]
print(a[-1]) # → 9
print(a[-2]) # → 8
print(a[-5]) # → 5
この添字が算出された変数で与えられた時に
プログラミングのミスでマイナスとなった場合と意図的に後ろから数えたい場合で同じこの結果となって区別できないため
プログラミング言語としてはPythonは悪い仕様だと言われている話です
さらに添字の開始を0ではなく任意の整数にできるプログラミング言語もありますが
このPythonの悪い仕様だと開始をマイナスの整数とした場合に困りますね
505デフォルトの名無しさん
2021/10/04(月) 23:55:29.95ID:GaPDsv2L 後ろからやりたい時には長さから引くとかやらないで済むんだから
それで書く時には楽な分気をつければ良いだけの話
だいたいPythonなんて軽くサクサク書く時にしか使わないんだから
どこの現場のどういう状況でそれ問題になったの?
それで書く時には楽な分気をつければ良いだけの話
だいたいPythonなんて軽くサクサク書く時にしか使わないんだから
どこの現場のどういう状況でそれ問題になったの?
506デフォルトの名無しさん
2021/10/04(月) 23:58:01.46ID:iJ0WSmh4 >>502
もう一つ
おっしゃってるC言語の場合だと配列もポインタとして扱われますので
意図的に添字をマイナスにして便利に使うことも多いですよ
例えば
int a[5] = {5, 6, 7, 8, 9};
int *p = a + 2;
for (int i = -2; i <= 2; i++) {
printf("p[%d] = %d\n", i, p[i]);
}
これで出力結果は
p[-2] = 5
p[-1] = 6
p[0] = 7
p[1] = 8
p[2] = 9
こうすれば-2から2の範囲で扱うことが出来ます
もう一つ
おっしゃってるC言語の場合だと配列もポインタとして扱われますので
意図的に添字をマイナスにして便利に使うことも多いですよ
例えば
int a[5] = {5, 6, 7, 8, 9};
int *p = a + 2;
for (int i = -2; i <= 2; i++) {
printf("p[%d] = %d\n", i, p[i]);
}
これで出力結果は
p[-2] = 5
p[-1] = 6
p[0] = 7
p[1] = 8
p[2] = 9
こうすれば-2から2の範囲で扱うことが出来ます
507デフォルトの名無しさん
2021/10/04(月) 23:59:44.40ID:iJ0WSmh4 >>505
意図せずに添字の算出結果がマイナスとなった時にエラーとならずに後ろから適用してしまうのはマズイです
意図せずに添字の算出結果がマイナスとなった時にエラーとならずに後ろから適用してしまうのはマズイです
508デフォルトの名無しさん
2021/10/05(火) 00:16:06.30ID:jjv9GGMe509デフォルトの名無しさん
2021/10/05(火) 00:24:42.33ID:jjv9GGMe Pythonは機械学習やった時に半年ほどしか使ってないがマイナスでバグったこと
一回もないしむしろその範囲では書きやすくてよかったよ
JSのダックタイピングとかだって動かすまでエラー出ないけど書きやすいし
Javaみたいにタイプがきっちりしてれば多少面倒くさいけどコンパイルで
エラー出るし読みやすいし大概の事はどっちが正しいじゃなくて状況次第
一回もないしむしろその範囲では書きやすくてよかったよ
JSのダックタイピングとかだって動かすまでエラー出ないけど書きやすいし
Javaみたいにタイプがきっちりしてれば多少面倒くさいけどコンパイルで
エラー出るし読みやすいし大概の事はどっちが正しいじゃなくて状況次第
510デフォルトの名無しさん
2021/10/05(火) 00:43:07.65ID:JDY+450s ほとんど全てのプログラミング言語では、Pythonのような変な仕様になっていない、これが答えだ。
プログラムの安全性の視点では、プログラミングの間違いでインデックス変数が負の数となった時に、Pythonのような変な仕様ではエラーとならずに間違った要素を指して通ってしまう。
プログラミング言語の拡張性の視点では、インデックスに負の数を用いることができるようにすると、この変な仕様とぶつかってしまう。
これらの理由から、ほとんど全てのプログラミング言語では、Pythonのような変な仕様を採用していない。
プログラムの安全性の視点では、プログラミングの間違いでインデックス変数が負の数となった時に、Pythonのような変な仕様ではエラーとならずに間違った要素を指して通ってしまう。
プログラミング言語の拡張性の視点では、インデックスに負の数を用いることができるようにすると、この変な仕様とぶつかってしまう。
これらの理由から、ほとんど全てのプログラミング言語では、Pythonのような変な仕様を採用していない。
511デフォルトの名無しさん
2021/10/05(火) 00:51:05.89ID:J1XVpNN0512デフォルトの名無しさん
2021/10/05(火) 01:02:54.22ID:jjv9GGMe513デフォルトの名無しさん
2021/10/05(火) 01:05:51.37ID:2oqKIsmm514デフォルトの名無しさん
2021/10/05(火) 01:11:22.25ID:jjv9GGMe 後ろから取る作業が多くなると毎回いちいち長さから引いてとか
誰でも面倒くさくなるからね
他は知らんけど機械学習でデータの切り張りばっかりみたいな時には
便利だったし他にも便利な状況はいくらもあると思うよ
誰でも面倒くさくなるからね
他は知らんけど機械学習でデータの切り張りばっかりみたいな時には
便利だったし他にも便利な状況はいくらもあると思うよ
515デフォルトの名無しさん
2021/10/05(火) 01:18:23.61ID:JDY+450s なぜ、ほとんどのプログラミング言語では、Pythonのような変な仕様を採用していないのか?
有用ではなく、有害であるためだ。
有用ではなく、有害であるためだ。
516デフォルトの名無しさん
2021/10/05(火) 01:20:01.60ID:jjv9GGMe その根拠は?
517デフォルトの名無しさん
2021/10/05(火) 01:23:34.70ID:O4xoYpnl インデクスの値を即値で-1のように書かずに計算して求める場合、符号などの妥当性ののチェックはやるんじゃないかな
518デフォルトの名無しさん
2021/10/05(火) 01:26:01.78ID:jjv9GGMe そうだわな
そもそもマイナスにしたくないならマイナスのチェック入れれば良いだけで
マイナスのチェック入れるのが面倒くさいのか、長さから引くのが面倒くさいのか
長さから引く事が多ければマイナスで後ろからのが楽だし逆なら逆だし
Javaでマイナスで後ろから取りたいなって思った事はそんなにないし
状況次第
そもそもマイナスにしたくないならマイナスのチェック入れれば良いだけで
マイナスのチェック入れるのが面倒くさいのか、長さから引くのが面倒くさいのか
長さから引く事が多ければマイナスで後ろからのが楽だし逆なら逆だし
Javaでマイナスで後ろから取りたいなって思った事はそんなにないし
状況次第
519デフォルトの名無しさん
2021/10/05(火) 01:29:51.70ID:JDY+450s >>516
インデックスの開始値をプログラマーが指定できるプログラミング言語では、もちろん負の数のインデックスも扱えるが、Pythonのような変な仕様では有害となる。
それ以外のプログラミング言語においても、インデックスの計算ミスで範囲外となった時にエラーとなってくれる言語が多くを占めるが、Pythonのような変な仕様ではエラーとなってくれず有害である。
インデックスの開始値をプログラマーが指定できるプログラミング言語では、もちろん負の数のインデックスも扱えるが、Pythonのような変な仕様では有害となる。
それ以外のプログラミング言語においても、インデックスの計算ミスで範囲外となった時にエラーとなってくれる言語が多くを占めるが、Pythonのような変な仕様ではエラーとなってくれず有害である。
520デフォルトの名無しさん
2021/10/05(火) 01:33:57.18ID:jjv9GGMe >>519
だから「有害」の根拠は?
エラーが出ても変な値が出てもバグはバグだしチェック入れれば済む話だし
どういう仕事でどういう状況で問題になったのかとかガン無視だし
もう君の中では有害なんだろうね、って言うしか
だから「有害」の根拠は?
エラーが出ても変な値が出てもバグはバグだしチェック入れれば済む話だし
どういう仕事でどういう状況で問題になったのかとかガン無視だし
もう君の中では有害なんだろうね、って言うしか
521デフォルトの名無しさん
2021/10/05(火) 01:48:30.74ID:JDY+450s >>520
例えばPHPでは、配列のインデックスの開始値が負の数でも扱えるように拡張された。
もちろん、拡張なく最初から、開始値が負の数でも正の数でもプログラマーが指定できるプログラミング言語も多い。
Pythonのような変な仕様では、仕様がぶつかってしまい有害である。
例えばPHPでは、配列のインデックスの開始値が負の数でも扱えるように拡張された。
もちろん、拡張なく最初から、開始値が負の数でも正の数でもプログラマーが指定できるプログラミング言語も多い。
Pythonのような変な仕様では、仕様がぶつかってしまい有害である。
522デフォルトの名無しさん
2021/10/05(火) 01:50:26.30ID:iMZ32mmH >>506
配列の添字をマイナスにすることは、C言語では規格上認められていないんじゃなかったっけ? 配列の添字として取りうる範囲は、全ての要素および最終要素の次に対応する添字だけだったような気がするけど。
506の例は、単なるポインタを使った演算に過ぎず、配列とは無関係でしょ。配列の要素参照がポインタ演算としてなされるからといって、配列とポインタが同じものになるわけではないよ。混同してない?
配列の添字をマイナスにすることは、C言語では規格上認められていないんじゃなかったっけ? 配列の添字として取りうる範囲は、全ての要素および最終要素の次に対応する添字だけだったような気がするけど。
506の例は、単なるポインタを使った演算に過ぎず、配列とは無関係でしょ。配列の要素参照がポインタ演算としてなされるからといって、配列とポインタが同じものになるわけではないよ。混同してない?
523デフォルトの名無しさん
2021/10/05(火) 02:24:56.27ID:jjv9GGMe >>521
個人的にはむしろインデックスの開始が負であってほしいことなんて無いけれども
まあ別にあっても良いけど負であってほしいなら負でできる言語を使えば良いし
後ろから取れる方が便利ならそっち使えば良いし
具体的にどの仕事でどんなコード書いた時にインデックスの開始が負である事が
そこまで重要で「害」というほどの問題が出たの?
非常に些細な問題に思えるが
思い込みの強いスペクトラムの人がプログラマ向いてるみたいな事いう人
いるけど全然向いてないんだよね
数学とかのが良いのでは?
個人的にはむしろインデックスの開始が負であってほしいことなんて無いけれども
まあ別にあっても良いけど負であってほしいなら負でできる言語を使えば良いし
後ろから取れる方が便利ならそっち使えば良いし
具体的にどの仕事でどんなコード書いた時にインデックスの開始が負である事が
そこまで重要で「害」というほどの問題が出たの?
非常に些細な問題に思えるが
思い込みの強いスペクトラムの人がプログラマ向いてるみたいな事いう人
いるけど全然向いてないんだよね
数学とかのが良いのでは?
524デフォルトの名無しさん
2021/10/05(火) 06:23:56.53ID:2oqKIsmm そうね
パッとどんなシチュエーションで使えばインデックスがマイナスのとき有用性があるのか思いつかないけど、
スタックエリアも溜め込むときPushを使うとスタックポインタが指すアドレスはマイナスされるとかあるから、どっかで使い道はあるかもね。
弊害としてはちょっと違うかも知れないけど、スーパーマリオで残機増やして128機以上にすると、死ぬとゲームオーバーになる、というのと似ているのかな。
まぁあれの場合は1バイトでも削って作ろうとしていたみたいだから判ってたけど敢えてチェックは入れなかったのかも知れないけど。
機能を理解した上であれば別にそういうもんなんだろう、で片付く話のような気がするよ。
パッとどんなシチュエーションで使えばインデックスがマイナスのとき有用性があるのか思いつかないけど、
スタックエリアも溜め込むときPushを使うとスタックポインタが指すアドレスはマイナスされるとかあるから、どっかで使い道はあるかもね。
弊害としてはちょっと違うかも知れないけど、スーパーマリオで残機増やして128機以上にすると、死ぬとゲームオーバーになる、というのと似ているのかな。
まぁあれの場合は1バイトでも削って作ろうとしていたみたいだから判ってたけど敢えてチェックは入れなかったのかも知れないけど。
機能を理解した上であれば別にそういうもんなんだろう、で片付く話のような気がするよ。
525デフォルトの名無しさん
2021/10/05(火) 07:46:23.69ID:J9uTiL9m >>509
> Pythonは機械学習やった時に半年ほどしか使ってないがマイナスでバグったこと
> 一回もないしむしろその範囲では書きやすくてよかったよ
それな
これが実際書いてるやつの率直な感想だと思うわ
いろんな言語を切り替えて使ってる奴にとって
使ってる言語の仕様に合せてプログラミングするというのは
なんの恐れることもない当たり前の空気のようなこと
極端に経験が少ないか柔軟性が無い奴は怖いだろうけど
> Pythonは機械学習やった時に半年ほどしか使ってないがマイナスでバグったこと
> 一回もないしむしろその範囲では書きやすくてよかったよ
それな
これが実際書いてるやつの率直な感想だと思うわ
いろんな言語を切り替えて使ってる奴にとって
使ってる言語の仕様に合せてプログラミングするというのは
なんの恐れることもない当たり前の空気のようなこと
極端に経験が少ないか柔軟性が無い奴は怖いだろうけど
526デフォルトの名無しさん
2021/10/05(火) 07:48:58.06ID:r5SNpXIN >>510
なんで必要かどうかもわからない拡張性で今ここでいい悪いを論じるのかわからんが、
配列参照演算をオーバーライドできるなら問題ないがな。
逆にあんたの論理だと、配列参照演算をオーバーライドできない言語は拡張性の視点で
全部ダメってことにならないかな。
なんで必要かどうかもわからない拡張性で今ここでいい悪いを論じるのかわからんが、
配列参照演算をオーバーライドできるなら問題ないがな。
逆にあんたの論理だと、配列参照演算をオーバーライドできない言語は拡張性の視点で
全部ダメってことにならないかな。
527デフォルトの名無しさん
2021/10/05(火) 09:31:11.02ID:uYCoijY3 だから何に話をしてるんだっていってんだろ
528デフォルトの名無しさん
2021/10/05(火) 09:56:05.72ID:LkgJCUEu 何にって猫かな?
529デフォルトの名無しさん
2021/10/05(火) 10:34:48.12ID:Fyf6Owff プログラミング言語より猫語の方が役に立ちそう。
530デフォルトの名無しさん
2021/10/05(火) 10:52:37.79ID:MXyUAm/U そもそもマイナス指定っ要するにarr.length-nでlengthを省略できるようにしたいってだけだろ
そこまで省略したいかね?って思うけどね
なんつーかここら辺はTDDとセットでやるから許される言語仕様であって、TDDしてないのにこの言語仕様を肯定するのはバグがあった場合の事想定してなさすぎる
そこまで省略したいかね?って思うけどね
なんつーかここら辺はTDDとセットでやるから許される言語仕様であって、TDDしてないのにこの言語仕様を肯定するのはバグがあった場合の事想定してなさすぎる
531デフォルトの名無しさん
2021/10/05(火) 11:14:47.30ID:J9uTiL9m > 要するにarr.length-nでlengthを省略できるようにしたいってだけだろ
しつけーわ
なんでお前意外とっくに全員わかってることを
いまさら大発見みたいに書き込むんだガイジ
頭悪すぎん?
しつけーわ
なんでお前意外とっくに全員わかってることを
いまさら大発見みたいに書き込むんだガイジ
頭悪すぎん?
532デフォルトの名無しさん
2021/10/05(火) 11:27:15.20ID:uYCoijY3 みんなカルシウム摂ろうぜ
533デフォルトの名無しさん
2021/10/05(火) 11:48:17.87ID:MXyUAm/U え、別人なんだけどこの人怖い
534デフォルトの名無しさん
2021/10/05(火) 13:05:57.99ID:nhjUOKYi length-nを省略すると良いことと悪いことがあって、
言語的に優先することが違うから、採用したりしなかったりするのかもね。
省略したら、ぱっと見判りにくくなるけど、
Pythonみたいなインタプリタは入力減らすほうが優先、とか。
言語的に優先することが違うから、採用したりしなかったりするのかもね。
省略したら、ぱっと見判りにくくなるけど、
Pythonみたいなインタプリタは入力減らすほうが優先、とか。
535デフォルトの名無しさん
2021/10/05(火) 13:23:56.58ID:HrDzy9dq 皆が述べてるように悪い点は3つなのかな
・わざわざ省略するわかりにくさ
・バグでマイナス値になった時と区別がつかない
・インデックス範囲を自由に指定できる仕様とバッティング
だから多くの言語では採用していないのもわかる
結果としてPythonやPerlなど異端な言語のみが採用って感じ?
・わざわざ省略するわかりにくさ
・バグでマイナス値になった時と区別がつかない
・インデックス範囲を自由に指定できる仕様とバッティング
だから多くの言語では採用していないのもわかる
結果としてPythonやPerlなど異端な言語のみが採用って感じ?
536Mb
2021/10/05(火) 13:39:32.69ID:NR1fOsV4 サイズが n だと添字(そえじ)は 0 から n-1。
そんなわけで、添字で指定すると、要素は mod n。
数学的にはなんの問題もないのだが、実務に携わっている
システム屋としては、「範囲外参照なんだから例外くらい
投げろよ」と思う。
「だって、仕様書通りに実装したんだもーん」みたいな
アホがいた時代があった、という話だろうな。
そんなわけで、添字で指定すると、要素は mod n。
数学的にはなんの問題もないのだが、実務に携わっている
システム屋としては、「範囲外参照なんだから例外くらい
投げろよ」と思う。
「だって、仕様書通りに実装したんだもーん」みたいな
アホがいた時代があった、という話だろうな。
537デフォルトの名無しさん
2021/10/05(火) 13:50:38.64ID:2oqKIsmm ぶっちゃけ「始めるのにいい言語」というスレタイからするとその辺はどうでもいい範疇だと思うけどね
538Mb
2021/10/05(火) 13:53:59.41ID:NR1fOsV4 >>522
C はそもそもシステム開発用の言語なので、
そういうことができないとダメなんだわ。
「右の値と左の値」というのがあって、
代入記号というのは「向かって左のアドレスに、
向かって右の値を転写する」というのが基本だった。
「バイト数が合ってたらなんでもあり」でないと、
システムプログラム(OS)は作りづらい。
そこは、アプリケーションプログラムの開発と
システムプログラムの開発では、違う部分があると思う。
C はそもそもシステム開発用の言語なので、
そういうことができないとダメなんだわ。
「右の値と左の値」というのがあって、
代入記号というのは「向かって左のアドレスに、
向かって右の値を転写する」というのが基本だった。
「バイト数が合ってたらなんでもあり」でないと、
システムプログラム(OS)は作りづらい。
そこは、アプリケーションプログラムの開発と
システムプログラムの開発では、違う部分があると思う。
539デフォルトの名無しさん
2021/10/05(火) 14:06:54.91ID:HrDzy9dq540Mb
2021/10/05(火) 14:08:24.92ID:NR1fOsV4 >>523
自閉系スペクトラム障礙の私が敢えていいますよ。
C のルーチンで、バイト列の値を返すときに、可変長だったら
こっちでバッファを用意するでしょう?(もちろん、
alloc した領域の中で処理して、free する前に確保した領域ですが)
そこを上位にルーチンが掻き潰すと、「うちの領域で起きた不具合」に
なってしまうんですよ! 「このクソ忙しいときに、上位会社のケツとか
拭いているヒマはねぇんだよ!」と思うんですが、とにかくシステムが
動かなかったらテストもできない。そんなわけで、障害切り分けをして
レポートを上げたら、「次からは気をつけてね」とか。
襁褓も取れていない小便臭い(プログラミングの何かも知らない)
ひいひいたもれのガキのお守りは、たぶん SE の仕事ではないと思う。
自閉系スペクトラム障礙の私が敢えていいますよ。
C のルーチンで、バイト列の値を返すときに、可変長だったら
こっちでバッファを用意するでしょう?(もちろん、
alloc した領域の中で処理して、free する前に確保した領域ですが)
そこを上位にルーチンが掻き潰すと、「うちの領域で起きた不具合」に
なってしまうんですよ! 「このクソ忙しいときに、上位会社のケツとか
拭いているヒマはねぇんだよ!」と思うんですが、とにかくシステムが
動かなかったらテストもできない。そんなわけで、障害切り分けをして
レポートを上げたら、「次からは気をつけてね」とか。
襁褓も取れていない小便臭い(プログラミングの何かも知らない)
ひいひいたもれのガキのお守りは、たぶん SE の仕事ではないと思う。
541Mb
2021/10/05(火) 14:16:15.90ID:NR1fOsV4 >>539
おぉ、解っていらっしゃる。
C の配列はポインタと同一視されるので、
++ は「ポインタに対して、sizeof 分だけ
インクリメントする」という意味ではあるし、
sp++ とか --spとかいうのも、スタック操作と
いうものを考えると自然な操作だ。
おぉ、解っていらっしゃる。
C の配列はポインタと同一視されるので、
++ は「ポインタに対して、sizeof 分だけ
インクリメントする」という意味ではあるし、
sp++ とか --spとかいうのも、スタック操作と
いうものを考えると自然な操作だ。
542デフォルトの名無しさん
2021/10/05(火) 14:23:26.23ID:HrDzy9dq >>540
Cだと確保した領域を「渡してしまう」のかそれとも「一時的に貸すだけ」なのかの区別がないためどちらがその領域の最終責任を持つのか曖昧になってしまうね
Rustだとそこがはっきりしてるため解放忘れも二重解放も起きないし言語側が全て自動でやってくれるから楽で安全安心
Cだと確保した領域を「渡してしまう」のかそれとも「一時的に貸すだけ」なのかの区別がないためどちらがその領域の最終責任を持つのか曖昧になってしまうね
Rustだとそこがはっきりしてるため解放忘れも二重解放も起きないし言語側が全て自動でやってくれるから楽で安全安心
543デフォルトの名無しさん
2021/10/05(火) 14:30:18.69ID:2oqKIsmm ちなみにC#になるとポインタの概念が消えて
もっとセーフティーなDeregateになったよね。
それを良しと捉えるか悪化と捉えるかは
個人で意見の別かれるところだと思うけど。
もっとセーフティーなDeregateになったよね。
それを良しと捉えるか悪化と捉えるかは
個人で意見の別かれるところだと思うけど。
544デフォルトの名無しさん
2021/10/05(火) 14:34:39.20ID:2oqKIsmm deregateって何だよ
delegateの間違いだわ
スマソ
delegateの間違いだわ
スマソ
545デフォルトの名無しさん
2021/10/05(火) 14:40:48.11ID:HrDzy9dq546デフォルトの名無しさん
2021/10/05(火) 14:46:58.82ID:MXyUAm/U ガベコレがある言語かない言語かでどうしても考え方が分かれるから、始めるのにいい言語はどっちなのか先に決めてもいいんじゃなかろうか?
547デフォルトの名無しさん
2021/10/05(火) 15:49:14.07ID:HrDzy9dq >>546
昔は「GCがない」=「自分でメモリ管理しなきゃいけない」=「ミスると致命的」だったからその区別をする意義が理解できたけど
今は状況が一変してしまいました
【第1期】CとC++(初期)
自分で手動でメモリ解放しなければならなかった
【第2期】C++(現在)
各種スマートポインタ使用によりメモリ解放は自動で行われるようになった
しかしプログラムが込み入ってくると適切なスマートポインタ使用を完全にコントロールできなくなってるケースも多々ありそれが問題
つまり書かれたプログラムにメモリ安全性の保証が必ずしもないことが課題
【第3期】Rust
所有貸し借りをC++よりさらにはっきりさせることでコンパイルが通ったプログラムはメモリ安全性を保証することに成功
もちろんメモリ解放は言語レベルで自動に即座に行われるのでGCなし
しかもGCありの言語と同等もしくはそれ以上にメモリ安全性を保証
つまり以前は『GCなし言語は高速だけど自己責任管理ミス防止が大変』だったのが
今は『GCなし言語で高速なのに言語レベルで管理ミスを確実に防止してくれる』となった
初心者でもGCなしの高速なプログラミングを安全に出来るようになったわけです
昔は「GCがない」=「自分でメモリ管理しなきゃいけない」=「ミスると致命的」だったからその区別をする意義が理解できたけど
今は状況が一変してしまいました
【第1期】CとC++(初期)
自分で手動でメモリ解放しなければならなかった
【第2期】C++(現在)
各種スマートポインタ使用によりメモリ解放は自動で行われるようになった
しかしプログラムが込み入ってくると適切なスマートポインタ使用を完全にコントロールできなくなってるケースも多々ありそれが問題
つまり書かれたプログラムにメモリ安全性の保証が必ずしもないことが課題
【第3期】Rust
所有貸し借りをC++よりさらにはっきりさせることでコンパイルが通ったプログラムはメモリ安全性を保証することに成功
もちろんメモリ解放は言語レベルで自動に即座に行われるのでGCなし
しかもGCありの言語と同等もしくはそれ以上にメモリ安全性を保証
つまり以前は『GCなし言語は高速だけど自己責任管理ミス防止が大変』だったのが
今は『GCなし言語で高速なのに言語レベルで管理ミスを確実に防止してくれる』となった
初心者でもGCなしの高速なプログラミングを安全に出来るようになったわけです
548デフォルトの名無しさん
2021/10/05(火) 16:05:08.71ID:s2K7JbUj >>538-539
規格上は未定義の動作でしょ。
JIS X 3010の6.5.2.1とか6.5.6とかを見てみたら。
[]がポインタ演算として処理されるからといって、配列とポインタを同一視できるわけではない。
実際上は538-539の期待どおりに動作する処理系がほとんどだから、厳密には未定義であることを承知の上で利用することは否定しないが、言語仕様の話をしているときに、それがC言語の本来的な仕様であるかのように語るのは違和感がある。
規格上は未定義の動作でしょ。
JIS X 3010の6.5.2.1とか6.5.6とかを見てみたら。
[]がポインタ演算として処理されるからといって、配列とポインタを同一視できるわけではない。
実際上は538-539の期待どおりに動作する処理系がほとんどだから、厳密には未定義であることを承知の上で利用することは否定しないが、言語仕様の話をしているときに、それがC言語の本来的な仕様であるかのように語るのは違和感がある。
549Mb
2021/10/05(火) 16:16:25.50ID:NR1fOsV4 >>547
正確にいうと、古い世代の言語は GC を明示的に行なっていたけれど、
現代の言語は、そこの部分をうまく隠蔽していて、それを標準として
いるということではないかな?
文字列オブジェクトの A.equals(B)は、LISP の頃は当然だったけれど、
「値が一緒だったら、一緒にしないとまずくねぇ?」という話になって
A.eq(B)みたいな話には、少なくとも Java ではあったりする。
String オブジェクトを「==」で処理するのは行儀が悪いが、
シングルトン実装を踏まえて ちゃんと作法を守って使うのなら、
それはそれで認める。
つーか、これって「ぶっちゃけ始めるににいい言語て何」という
スレタイに合ってねぇだろ。ここは老人の寄合所なのか?
正確にいうと、古い世代の言語は GC を明示的に行なっていたけれど、
現代の言語は、そこの部分をうまく隠蔽していて、それを標準として
いるということではないかな?
文字列オブジェクトの A.equals(B)は、LISP の頃は当然だったけれど、
「値が一緒だったら、一緒にしないとまずくねぇ?」という話になって
A.eq(B)みたいな話には、少なくとも Java ではあったりする。
String オブジェクトを「==」で処理するのは行儀が悪いが、
シングルトン実装を踏まえて ちゃんと作法を守って使うのなら、
それはそれで認める。
つーか、これって「ぶっちゃけ始めるににいい言語て何」という
スレタイに合ってねぇだろ。ここは老人の寄合所なのか?
550Mb
2021/10/05(火) 16:23:52.58ID:NR1fOsV4 >>589
それを言ったら FORTRAN の FOR ループから脱出したときの、
FOR 文の局所変数の値は、規格の上では「不定」だったんだよ!
ANSI 規格の C 言語に文句があるわけじゃない。
行儀よく振舞えって言っているのだ。
それを言ったら FORTRAN の FOR ループから脱出したときの、
FOR 文の局所変数の値は、規格の上では「不定」だったんだよ!
ANSI 規格の C 言語に文句があるわけじゃない。
行儀よく振舞えって言っているのだ。
551デフォルトの名無しさん
2021/10/05(火) 16:30:23.62ID:cUFArVWj CやってJavaだな
その後は流行りのPythonでも、苦行なC++でも好きなのをやれば良い
その後は流行りのPythonでも、苦行なC++でも好きなのをやれば良い
552デフォルトの名無しさん
2021/10/05(火) 16:52:02.45ID:2oqKIsmm Excel VBA(ついでにSQL、ストアド覚えられるとなお良) → VB.Net → C# → ASP.Net(ついでにhtml、CSS、Javascript、JQuery)でいいんじゃないかと。
後は趣味で頭の体操的にアセンブラで。
後は趣味で頭の体操的にアセンブラで。
553デフォルトの名無しさん
2021/10/05(火) 17:03:08.93ID:MXyUAm/U msにどっぷり過ぎワロタ
554Mb
2021/10/05(火) 17:27:23.90ID:NR1fOsV4555デフォルトの名無しさん
2021/10/05(火) 18:35:05.62ID:Sa3guHHs >>551
それでFAだな
それでFAだな
556デフォルトの名無しさん
2021/10/05(火) 20:21:33.51ID:cut86n1U お前らって、
while(true){}
だな
while(true){}
だな
557デフォルトの名無しさん
2021/10/05(火) 20:33:30.49ID:tPNu+94A おうっ
しかも break しねえぜw
しかも break しねえぜw
558デフォルトの名無しさん
2021/10/05(火) 20:38:48.73ID:5baRS80P >>556
'while' statement cannot complete without throwing an excretion.
'while' statement has empty body.
'while' statement cannot complete without throwing an excretion.
'while' statement has empty body.
559デフォルトの名無しさん
2021/10/05(火) 20:51:09.78ID:tPNu+94A lint かよ!
560デフォルトの名無しさん
2021/10/05(火) 22:36:13.22ID:mF9ekTpU CTRL-C
561デフォルトの名無しさん
2021/10/05(火) 23:13:57.08ID:eIScRtg7 アセンブラやったことない人はHuman Resource Machineてゲームをやるといいぞ
562デフォルトの名無しさん
2021/10/06(水) 02:32:14.22ID:ueHX5wRn >>551
始めのCが処女にはイタそう
始めのCが処女にはイタそう
563デフォルトの名無しさん
2021/10/06(水) 04:36:54.38ID:QZp+1IHf 俺の使ってる言語が一番なんだ!他はゴミ!よう知らんけど!
ってなってるよなこのスレ
ってなってるよなこのスレ
564デフォルトの名無しさん
2021/10/06(水) 05:33:03.37ID:Webs8rmO ぶっちゃけ始める、のにいい言語
ですし
ですし
565デフォルトの名無しさん
2021/10/06(水) 07:29:52.21ID:0rwaUoCX 逆におもむろに始めるのにない言語て何?
566デフォルトの名無しさん
2021/10/06(水) 07:36:05.35ID:ObWXcRyK567デフォルトの名無しさん
2021/10/06(水) 10:40:11.12ID:lL0lfCQP568デフォルトの名無しさん
2021/10/06(水) 12:39:58.27ID:YzacvTTA >>565
Haskell
Haskell
569デフォルトの名無しさん
2021/10/06(水) 13:07:32.50ID:CjSIWhaj キテレツ大百科全巻読破から始めよう
570Mb
2021/10/06(水) 14:09:16.80ID:ACaN1g4Y いや、フツーに Java でよくない?
C♯も悪い言語ではないと思うんだけど、
あまりプログラミング初心者にお勧めはしにくい
言語ではあると思う。
Java は Pascal とか C とか COBOL とか
Pascalbとかのレガシー・コードを継承しようという
意思が感じられるのに対して、C♯は、そういう風情が
一切感じられないんだよな。
「あんな奴とつきあってたんだ orz」とかいって、
のちのちトラウマになりそうなのが C♯ で、
「うん。感謝してる。前を向いて歩くわ」というのが
Java だと思う。
C♯も悪い言語ではないと思うんだけど、
あまりプログラミング初心者にお勧めはしにくい
言語ではあると思う。
Java は Pascal とか C とか COBOL とか
Pascalbとかのレガシー・コードを継承しようという
意思が感じられるのに対して、C♯は、そういう風情が
一切感じられないんだよな。
「あんな奴とつきあってたんだ orz」とかいって、
のちのちトラウマになりそうなのが C♯ で、
「うん。感謝してる。前を向いて歩くわ」というのが
Java だと思う。
571デフォルトの名無しさん
2021/10/06(水) 14:34:08.52ID:g0yUV+3l Javaは無いわー
理由
・単純に俺が嫌い
・ネイティブコードまで落としてくれないので重い
・やってる奴がいすぎ
プログラマーの集団に向かって石投げると
大体Javaやってる奴に当たる
供給過多で何かあるとすぐ仕事からあぶれる
理由
・単純に俺が嫌い
・ネイティブコードまで落としてくれないので重い
・やってる奴がいすぎ
プログラマーの集団に向かって石投げると
大体Javaやってる奴に当たる
供給過多で何かあるとすぐ仕事からあぶれる
572デフォルトの名無しさん
2021/10/06(水) 15:19:46.80ID:YLz2RbwR 古いJavaしか知らない知識で語ると
delegateと演算子オーバーロードがないせいで文法が歪んでる気がする
逆にプリミティブ型の扱いは使いやすさ云々除くと本当はjavaのようにあるべきなのかなーとも少し思うが、結局stringぐらい参照型であることを忘れて値型のように扱いたいって願望は出てきちゃう
delegateと演算子オーバーロードがないせいで文法が歪んでる気がする
逆にプリミティブ型の扱いは使いやすさ云々除くと本当はjavaのようにあるべきなのかなーとも少し思うが、結局stringぐらい参照型であることを忘れて値型のように扱いたいって願望は出てきちゃう
573デフォルトの名無しさん
2021/10/06(水) 15:26:59.55ID:iYMIscab JavaやるならKotlinのほうがマシだろ。
ヌルポの無いJavaがあればまだオススメしやすいけど。
ヌルポの無いJavaがあればまだオススメしやすいけど。
574デフォルトの名無しさん
2021/10/06(水) 15:55:18.82ID:ksYOXyia 何年か初心者向けにJavaを教えていたことがあるけど、
「始めるのにいい言語」としてはイマイチな印象
理由としては
・Hello world をするにも(初心者にとっての)おまじないが多すぎて覚えにくい
・オブジェクト指向の概念を早い段階で習得させる必要がある
・基本型と参照型の区別が邪魔
くらいかな (プログラミング言語としては悪くないと思ってるけど)
経験的にはPythonかRubyがベスト。Cからでも悪くはない
「始めるのにいい言語」としてはイマイチな印象
理由としては
・Hello world をするにも(初心者にとっての)おまじないが多すぎて覚えにくい
・オブジェクト指向の概念を早い段階で習得させる必要がある
・基本型と参照型の区別が邪魔
くらいかな (プログラミング言語としては悪くないと思ってるけど)
経験的にはPythonかRubyがベスト。Cからでも悪くはない
575デフォルトの名無しさん
2021/10/06(水) 16:28:45.47ID:YLz2RbwR 正直おまじないヤダーとか言うなら、もうjavascriptでよくね?って思う
環境用意すらいらんのが最強でしょう
環境用意すらいらんのが最強でしょう
576Mb
2021/10/06(水) 16:49:50.68ID:ACaN1g4Y あぁ、そうですか (-_-!)。
> 単純に俺が嫌い
それは仕方がない。
> ネイティブコードまで落としてくれないので重い
それ言うたら LISP はどうやねん。
ネイティブコンパイラだけがコンパイラじゃねぇだろうが。
何がなんでも .obj に落とさにゃいかんのか?
だったら OS から仮想化しろっちゅー話になるやんけ。
> やってる奴がいすぎ
知ったこっちゃねーよ。
> 演算子オーバーロードがない
あれは善し悪しだぞ?
> プリミティブ型の扱いは使いやすさ云々除くと本当は
> Javaのようにあるべきなのか
IEEE に配慮しただけだっつーの。もうちょい簡単な言語が
別にあっても悪くないと思う。
> ヌルポの無いJavaがあればまだオススメしやすいけど。
がっ
> Hello world をするにも(初心者にとっての)おまじないが多すぎて覚えにくい
それはつねづねそう思う。
> オブジェクト指向の概念を早い段階で習得させる必要がある
つーか、「メッセージング」という概念をちゃんと教えろよ、と
思う。
> 基本型と参照型の区別が邪魔
それを言いだすとオートボクシングとか面倒臭い話に
なるんだよなぁ。
プリミティブ型があるから入門しやすいというメリットも
あるんだが。
> 単純に俺が嫌い
それは仕方がない。
> ネイティブコードまで落としてくれないので重い
それ言うたら LISP はどうやねん。
ネイティブコンパイラだけがコンパイラじゃねぇだろうが。
何がなんでも .obj に落とさにゃいかんのか?
だったら OS から仮想化しろっちゅー話になるやんけ。
> やってる奴がいすぎ
知ったこっちゃねーよ。
> 演算子オーバーロードがない
あれは善し悪しだぞ?
> プリミティブ型の扱いは使いやすさ云々除くと本当は
> Javaのようにあるべきなのか
IEEE に配慮しただけだっつーの。もうちょい簡単な言語が
別にあっても悪くないと思う。
> ヌルポの無いJavaがあればまだオススメしやすいけど。
がっ
> Hello world をするにも(初心者にとっての)おまじないが多すぎて覚えにくい
それはつねづねそう思う。
> オブジェクト指向の概念を早い段階で習得させる必要がある
つーか、「メッセージング」という概念をちゃんと教えろよ、と
思う。
> 基本型と参照型の区別が邪魔
それを言いだすとオートボクシングとか面倒臭い話に
なるんだよなぁ。
プリミティブ型があるから入門しやすいというメリットも
あるんだが。
577デフォルトの名無しさん
2021/10/06(水) 16:58:47.72ID:YLz2RbwR プログラマー11年目ワイ、デザパタもdddもRxもpubsubもわかるが、メッセージングが何を指してるのかわからない
578デフォルトの名無しさん
2021/10/06(水) 17:08:35.67ID:CjSIWhaj printfやMessageBoxだよ
579デフォルトの名無しさん
2021/10/06(水) 17:22:12.45ID:YLz2RbwR なん...だと...
580デフォルトの名無しさん
2021/10/06(水) 17:38:11.30ID:ksYOXyia >>575
JavaScriptは言語仕様がかなり難しい(オブジェクト指向と関数型のハイブリッド)し、
実用的に使おうと思うとすぐにライブラリ依存の話になるので、
これまた初心者には向いていないと思う
JavaScriptは言語仕様がかなり難しい(オブジェクト指向と関数型のハイブリッド)し、
実用的に使おうと思うとすぐにライブラリ依存の話になるので、
これまた初心者には向いていないと思う
581デフォルトの名無しさん
2021/10/06(水) 17:39:25.77ID:UJEWl3ey >>578
これはセンスいい
これはセンスいい
582デフォルトの名無しさん
2021/10/06(水) 18:18:52.38ID:HwdaWcdV Cから初めていいんだぜ
Cで挫折するくらいならそもそもプログラミングの適性ないんだからさ
Cで挫折するくらいならそもそもプログラミングの適性ないんだからさ
583デフォルトの名無しさん
2021/10/06(水) 19:51:18.18ID:Iajq5fkt 一理ある
584デフォルトの名無しさん
2021/10/06(水) 20:23:26.06ID:UveQN7Hm ポインタはたしかに適性を見極める第一歩になるよな
585Mb
2021/10/06(水) 20:43:58.99ID:ACaN1g4Y >>577
> プログラマー11年目ワイ
> メッセージングが何を指してるのかわからない
まぁ、二十世紀の世代はそうだろうな。
「オブジェクト志向」というのは、昔は「算体主導言語」といって、
「算体(オブジェクト)」が、狙ったオブジェクトに
メッセージを投げると打ち返してくる、というコンセプトから
始まったんだ。
そんなわけで、基本は静的なオブジェクト(現在だと、static な
オブジェクトと、シングルトン実装されたオブジェクト)どうしの
メッセージのやりとりが基本なんだと思う。
そこから派生したのが、クラス定義から new されたインスタンスで、
内部変数以外は、どっかしらで定義されたコードを参照しているだけなので、
不要になるまではメモリに置かれているだけ、という話ではある。
そのあたりのカラクリは、Java の実行系のコードを追わないと
見えてこないんだが、それがよくできているので、JVM をベースにした
言語がいくつも生まれているという経緯がある。
> プログラマー11年目ワイ
> メッセージングが何を指してるのかわからない
まぁ、二十世紀の世代はそうだろうな。
「オブジェクト志向」というのは、昔は「算体主導言語」といって、
「算体(オブジェクト)」が、狙ったオブジェクトに
メッセージを投げると打ち返してくる、というコンセプトから
始まったんだ。
そんなわけで、基本は静的なオブジェクト(現在だと、static な
オブジェクトと、シングルトン実装されたオブジェクト)どうしの
メッセージのやりとりが基本なんだと思う。
そこから派生したのが、クラス定義から new されたインスタンスで、
内部変数以外は、どっかしらで定義されたコードを参照しているだけなので、
不要になるまではメモリに置かれているだけ、という話ではある。
そのあたりのカラクリは、Java の実行系のコードを追わないと
見えてこないんだが、それがよくできているので、JVM をベースにした
言語がいくつも生まれているという経緯がある。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「クマはなるべく山に返す努力を」「クマと戦争は間違っている」動物保護活動家の主張 棲み分けと学習放獣でクマ被害なくなるのか?★7 [ぐれ★]
- とらせん IPあり
- 【DAZN】ワールドカップ欧州予選総合 ★5
- 巨専】
- こいせん 全レス転載禁止
- 侍ジャパンシリーズ2025「日本vs韓国」その12
- 【J SPORTS】FIFA U-17ワールドカップ ★10
- 高市「次回選挙争点は台湾有事よ!!」自民立憲公明維新国民「やめろーー!!」これが現実になりそうな件 [469534301]
- 経済保安相「気に入らないことがあれば経済的威圧をする国への依存はリスク」日本さん遂にアメリカと断交へ!!! [472617201]
- 自閉症が「んなっしょい」と連呼するお🏡
- 「世の中、バカが多くて疲れません?」👉1991年日本人大発狂 [543236886]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 来年は卵が1パック400円以上になるらしい
