2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

Javaはスパゲッティになりがちとか言うけど

1 :仕様書無しさん:2022/08/26(金) 11:26:35.10 .net
それってclassを作成する他の言語にも言えることだろ
何でJavaだけが取りざたされるんだよ

2 :仕様書無しさん:2022/08/26(金) 19:31:27.65 .net
いやclassってスパゲティにならないためにあるもんだけど…

3 :仕様書無しさん:2022/08/26(金) 20:56:24.26 .net
ガベージコレクションなんてのに頼るせいで、ところ構わずnewして、
その都度おかしなタイミングでコンストラクタが動いたりするのだろう。

4 :仕様書無しさん:2022/08/26(金) 21:07:52.74 .net
母数が多い分ゴミコードの割合も多いから

5 :仕様書無しさん:2022/08/26(金) 21:09:42.23 .net
初めて聞いたわ
java使っている現場の絶対数が多いからそう錯覚してるだけで、javaの言語仕様とスパゲッティソースの因果関係は無いと思う

6 :仕様書無しさん:2022/08/26(金) 21:18:08.37 .net
>>2
だいたいのJavaの現場のコードって、クラスに1個main的なメソッドがあって
その中に大量の分岐を含む数千行のコードが書かれてグッチャグチャってのが現実じゃない?
もちろんJava自体のせいじゃないけど

7 :仕様書無しさん:2022/08/26(金) 22:22:24.59 .net
Javaで糞コードが多いのは20年ほど前に未経験でほぼ教育もされずに現場に突っ込まれたPGが未だ多く残っているからだよ
そいつらはプログラミングに興味ないし仕事もやる気ないし、なにより発達障害持ちばかりだから一切改善されない
採用基準が手と足と目が付いていれば何でもいいって基準だった奴らだから仕方がない

8 :仕様書無しさん:2022/08/26(金) 22:27:34.54 .net
補足だが20年前にJavaブームがあって大量のJava案件が発生してバブル状態になって、とりあえず人を突っ込めばアホみたいに儲かった時期があった

9 :仕様書無しさん:2022/08/26(金) 22:54:16.33 .net
>>6
Javaでそんなクソコードみたことない
20年前に自分が最初に書いたやつでももっとマシ

なおASP

10 :仕様書無しさん:2022/08/26(金) 23:44:16.82 .net
継承できてコードを再利用できるから効率的という触れ込みなのに
使えば使うほど正反対の方向に突っ走っていく

アクセス制御できるから安全でバグが減るはずが、そこを迂回しなけりゃならなくなってバグを生み出す原因に

一番の不幸はこんな筋の悪い言語が、用途を限定しない汎用言語だったことだと思う
あらゆるものにオブジェクト指向、オブジェクト指向で全て解決、そしてそうはならなかった

11 :仕様書無しさん:2022/08/27(土) 00:56:25.26 .net
ブラウザでやれる事が本当に多くなったからなあ
Linuxでも動く、Windowsでも動く、みたいなJAVAの利点はもう終わった技術
生き残るのはCとスクリプト言語って組み合わせなんだよ
中途半端にCとスクリプト言語を融合させて中間的なのを作っても一次的で終わる

12 :仕様書無しさん:2022/08/27(土) 08:10:23.75 .net
よっぽど変なコードしかやってないんやな

13 :仕様書無しさん:2022/08/27(土) 09:15:55.08 .net
Javaがスパゲッティになる理由は巨大プロジェクトで使われるから
元々の処理が複雑なんだろ
それでも動くのがJavaだけどな

14 :仕様書無しさん:2022/08/27(土) 09:55:51.37 .net
馬鹿の影響を狭めるために色々やってるわけでみんな天才ならアクセス制限なんて要らんわけだけど

例え天才でもアホな瞬間はあるからな

15 :仕様書無しさん:2022/08/27(土) 10:00:15.14 .net
システムってよっぽど金があるところじゃないと、一度作ったら最後10年20年と秘伝のタレのように継ぎ足しながら延命していくわけで
その中で玉石混交のマが触っていくことで地獄が作り出されるんだ

Javaはもう業務開発でよくみる言語としてCOBOLの次に歴史があるといってもいいので
その分長生きしてて酷いことになってるのもよく見ると思う

16 :仕様書無しさん:2022/08/27(土) 10:03:23.82 .net
Javaで酷いならASPとかVBとか見たらショック死するで

17 :仕様書無しさん:2022/08/27(土) 12:40:33.38 .net
Java+Springで便利だからって下手にメンバ変数持たせると終わるからな
シングルトンだから他のユーザーの情報上書きされる可能性あるし
大規模なプロジェクトでアクセス演算子やらローカル変数やメンバ変数の定義はしっかりやらないとマジでシステムごと破綻する

18 :仕様書無しさん:2022/08/27(土) 13:07:29.37 .net
Twitterも最近激重なんだが、思えばScala使ってんだったな
なんかブラウザ版もスマホ版も挙動不審な動きするようになった
一定量の負荷かけると文字が■■■■■■■■■■なってるバグとかも理解不能過ぎる Twitter以外で見たことがない
あれってやっぱ何らかの変数が想定以上までメモリー食った結果なんだろか

19 :仕様書無しさん:2022/08/27(土) 19:11:03.84 .net
スパゲティって奇跡のコードだと思う
河原で石をバランスよく積み上げたみたいな
誰も触りたくない芸術作品だよ

20 :仕様書無しさん:2022/08/27(土) 22:15:30.06 .net
スパゲティを作る人はほぼアスペかADHD
逆ギレするからすぐわかる

21 :名無し募集中。。。:2022/08/28(日) 00:13:25.07 .net
>>3
GC言語はどうしてもそうなるね
非GC言語で鍛えてある人だと避けられるけれど

22 :仕様書無しさん:2022/08/28(日) 14:34:19.56 .net
その辺学ぶのってC言語で数年くらい車輪の再発名でもし続けないとセンスつかないからな
でもユーザー自身がおかしなタイミングでガベコレ起こして重くなるアプリでも
あまりその辺に文句言わずに使ってる現状あるしなあ
広告とか、オシャレ感とかいうものでゴミコード動いてるアプリを使う

23 :仕様書無しさん:2022/08/28(日) 14:37:24.46 .net
1レスのまま落ちること期待してたんだが
スレ立てたゴミの自演レスに釣られて20レスも以上もついたかw

24 :仕様書無しさん:2022/08/28(日) 14:55:25.87 .net
自演という証拠は?

25 :仕様書無しさん:2022/08/29(月) 09:47:10.08 .net
スパゲッティはgotoが無いと作れないだろ

26 :仕様書無しさん:[ここ壊れてます] .net
スパゲティ書けって言われたらどうやって書く?

27 :仕様書無しさん:2022/08/29(月) 10:42:05.94 .net
>>18
スパゲティにならないようにオブジェクト指向が産まれたんだと思うんだけど違うの?

28 :仕様書無しさん:2022/08/29(月) 12:46:24.47 .net
オブジェクト指向作者「えっ?」

29 :仕様書無しさん:2022/08/29(月) 12:50:45.72 .net
スパゲッティにならないようにするために作られたのは構造的プログラミングじゃねえかな

30 :仕様書無しさん:2022/08/29(月) 13:09:28.19 .net
一度でいいから思うがままにスパゲティコードを書いてみたい

31 :仕様書無しさん:[ここ壊れてます] .net
オブジェクト指向でスパゲティになる理由がわからんのだが…
クラス使わんとさらにぐちゃぐちゃにならん?

32 :仕様書無しさん:2022/08/29(月) 14:39:31.38 .net
初心者がちまちま書いてるクラスって、本来そのクラスやファイルごと不要ってのが多いから
まず初心者コードってのはメソッドと状態保存用変数が多すぎるからクラス化してスコープ作ってカプセル化の必要が出てくるわけで
容易く、関数、変数、クラスなどの定義をしないのを心がけると良いと思う

33 :仕様書無しさん:2022/08/29(月) 16:29:58.03 .net
初心者といっても一つのメソッドに処理書きまくるタイプと無駄に処理を分割させまくるタイプおるからなぁ
クラスやメソッドごとの役割分担をハッキリさせて適切に定義できてれば問題ないと思う

34 :仕様書無しさん:2022/08/29(月) 16:56:03.24 .net
特に何もしてない関数作ってたから何で?って聞いたらいずれ必要だからって言われて半年後に変更指示が出てその関数にあれこれ足してた未来人がいたわ

35 :仕様書無しさん:2022/08/29(月) 18:05:50.63 .net
>>34
すげー

36 :仕様書無しさん:2022/08/29(月) 19:09:57.95 .net
相手とのやり取りがメソッド呼び出しだけしか無いんだから
スパゲッティなんて作れないんだよなぁ

gotoだらけの本物のスパゲッティ見た事無いんだろうなぁ

37 :仕様書無しさん:2022/08/29(月) 19:17:43.02 .net
>>31
クラスやその継承などはデメリットの方が多いと分かってきて定説となったため
最近のプログラミング言語であるGoやRustなどはクラスや継承などが存在しない

38 :仕様書無しさん:2022/08/29(月) 21:06:02.52 .net
俺は継承流行ってた頃からほとんど使ってなかった
必要なのはメタプログラミングをコンパイル前に静的に素早くエレガントに行うような代物でしょう

39 :仕様書無しさん:2022/08/29(月) 22:08:53.45 .net
まだ自演でスレ伸ばしてる・・・w

40 :仕様書無しさん:2022/08/30(火) 00:22:58.77 .net
自演に見えるのか…

41 :仕様書無しさん:2022/08/30(火) 00:46:53.80 .net
適切ではないクラス設計
メソッドの相互呼び出し
深すぎる継承
interfaceの乱用

gotoとはちょっと違うけど
無茶苦茶になる

42 :仕様書無しさん:2022/08/30(火) 02:48:10.43 .net
実際javaゲッティーあるからな
盛り上がれば良し
自演とか知らん

43 :仕様書無しさん:2022/08/30(火) 03:17:08.64 .net
自演と言っているのはアスペルガーの人だから適当に揶揄ってあげるといいよ

44 :仕様書無しさん:2022/08/30(火) 03:52:01.91 .net
やっぱデータ構造 + アルゴリズム + マークアップで書けるな
クラスはその3種類が混ざっている概念

45 :仕様書無しさん:2022/08/30(火) 05:46:55.29 .net
クラスは何でも突っ込み投げ入れてしまいゴミ箱状態で整理できていない遺物の構造

46 :仕様書無しさん:[ここ壊れてます] .net
オブジェクト指向終わってしまった

47 :仕様書無しさん:2022/09/01(木) 12:52:20.17 .net
Gotoでスパゲッティになるのはソースコードではなくフローチャート図なんだってことに気づいてないプログラマは少なくない
GOTO?8ビットマイコンのBASICとかでしょ、とにかく邪悪だから使っちゃいけない悪の根源でしょ
みたいな浅い知識のやつ

48 :仕様書無しさん:2022/09/01(木) 12:54:57.24 .net
まあ道具はなんだっていいんだけどバカが使うとグチャグチャになりやすいからなりにくい物を提供してるのにバカが使うとグチャグチャになりやすいからなりにくい物を…

49 :仕様書無しさん:2022/09/01(木) 16:31:17.48 .net
例外ならむしろgoto使えよって論争あったな
20年前だったかな

50 :仕様書無しさん:2022/09/01(木) 17:12:16.41 .net
>>31
クラス作りまくってあっちに飛んだりそっちに飛んだりして
こっちを修正したらあっちもそっちも壊れましたなんて作りになってるオブジェクト指向もあるんよ

51 :仕様書無しさん:2022/09/01(木) 22:40:53.65 .net
>>37
実際クラスは存在しないけど、継承とかmixinできちゃうからな

52 :仕様書無しさん:2022/09/01(木) 23:11:02.14 .net
goto文は余計な事ごちゃごちゃ考えずにジャンプ出来るからマジ便利

53 :仕様書無しさん:[ここ壊れてます] .net
gotoって見るとコロナとか、汚い利権とか二階とか頭にチラつくから嫌だ
ただでさえストレスの多い現場だぞ
もうアンチパターン認定でいいだろ

54 :仕様書無しさん:2022/09/02(金) 04:13:07.36 .net
クロージャラムダつかう事が増えて
関数の中のreturnがやりたいreturnと違うっていうのがそこそこある現状なんでgotoは今一度実装されるべきだと思ったり

55 :仕様書無しさん:2022/09/02(金) 17:56:54.15 .net
super break
super continue
super return

必要なのってこの辺だな
super breakはperlにあった気がする

56 :仕様書無しさん:2022/09/02(金) 23:48:20.32 .net
そんな話聞いたことない

57 :仕様書無しさん:2022/09/03(土) 10:42:04.88 .net
>>51
GoにもRustにもクラスの継承にあたるような継承というものはありません
それらは害悪であると決着しているため
新たなプログラミング言語であるGoやRustでは排除されました

58 :仕様書無しさん:2022/09/03(土) 13:28:34.00 .net
>>57
どっちが正しいか知らんけど害悪として決着ついたという根拠へのリンクとかはある?

59 :仕様書無しさん:2022/09/03(土) 13:35:42.85 .net
良いものなら導入されてただろうないってことは悪いってことさ帰納的推理でおk

60 :仕様書無しさん:2022/09/03(土) 13:41:48.63 .net
しかし、継承を使わずにまともなGUIが作れるとは思えない

61 :仕様書無しさん:2022/09/03(土) 13:42:41.25 .net
こんなふわふわが帰納的なら星占いも帰納的やな

62 :仕様書無しさん:2022/09/03(土) 13:45:51.92 .net
そうだな、星占いとは全然違うけどな

63 :仕様書無しさん:2022/09/03(土) 13:46:53.32 .net
帰納的推理を星占いとラベリングする詭弁がいままさにこの場で行われているわけであります

64 :仕様書無しさん:2022/09/03(土) 13:49:34.57 .net
いや前提が正しければ星占いも帰納的で全然ありえるだろ

帰納的の意味わかっとるか?

65 :仕様書無しさん:2022/09/03(土) 13:53:14.57 .net
星占いが帰納的であることを主張されてるわけであります、頑張っておられるのであります
このスレを星占いのスレに変えようとしてるのでありましょうか、おうし座の僕の運命はいかに

66 :仕様書無しさん:2022/09/03(土) 13:56:59.52 .net
次の2つは全然違う命題なのであります
・帰納的推理は星占い
・星占いは帰納的推理

67 :仕様書無しさん:2022/09/03(土) 13:57:06.77 .net
聖闘士星矢世代だと人気はそこそこやな

68 :仕様書無しさん:2022/09/03(土) 23:31:52.28 .net
つまりプログラミングには、
一回書いたものを、二回目書かず、別の場所から参照する仕組みっていうただソレが必要なだけ

継承とかいう新しい形にするまでもなく
class B{}

class A{
 classB_wo_load_suru_function()
}
これでおk
あるいは

a = A.new
a.include( class_B_wo_include_suru_function() )

これで良い
function({option})とかだって自由に入れられるね

69 :52:2022/09/03(土) 23:38:43.92 .net
誰か>>52にツッコミ入れてくれよ
こういう安易な考えでgoto文使いまくるから悪質なスパゲッティコードが出来上がる、
といういい例じゃないか

70 :仕様書無しさん:2022/09/04(日) 00:06:33.85 .net
>>69
今時の言語でそんな自由に飛べるgotoてあったかなと
Cだと簡単にメモリトラブル起こすから逆に使われないし

71 :仕様書無しさん:2022/09/04(日) 00:16:11.22 .net
言うほどgoto使った悪質コード見かけないしな
大半のgoto使ったコードは低級レイヤーの処理速度上げるために仕方なく使ってるのが多く
そういうコードに触れる機会ほとんどないし
あっても読むだけで編集なんてしない

72 :仕様書無しさん:2022/09/04(日) 03:37:19.29 .net
goto はスタックと相性が悪いからな

73 :仕様書無しさん:2022/09/04(日) 06:41:02.71 .net
>>1
スパゲッティになりがちな言語というのは気軽にコードが書ける、改修しやすい言語という事
Javaは対局にある言語でありスパゲッティとは一番遠いところに位置する

そもそもJavaはしっかり設計された上でコーディングする場合が多いはずだ
Javaでスパゲティを作るのはベテランスパゲティ建築士じゃないと難しい

74 :仕様書無しさん:2022/09/04(日) 06:42:15.12 .net
>>8
今でも「Java勉強して儲けよう」みたいなスクールが流行ってるけど
儲かってるの?

75 :仕様書無しさん:2022/09/04(日) 13:52:11.79 .net
JAVAはもう終わったよ
次いこうね

76 :仕様書無しさん:2022/09/04(日) 16:01:38.36 .net
PythonでもGoでも書き手がクソなら作り出されるコードもクソになる
それはJavaでなくても一緒

77 :仕様書無しさん:2022/09/04(日) 19:41:40.85 .net
昔、Pythonのプロジェクトやってる隣のチームで中途が入ってきたけど、Pythonは遅いからクソとか言い出した。

で、そいつがC#のほうがマシだと言うからリーダーが仕方なくC#で書かせたらループの中で不要なループ書くわ、ループの中で一件ずつSQL発行するわで注意されまくってたけど、1ヶ月もしないうちにチームから消えてた。

こういうの見てからは、言語に文句を言ってるやつはそいつ自身のスキルに問題があると思ってる。

78 :仕様書無しさん:2022/09/04(日) 20:14:17.98 .net
>>77
ループの中で一件ずつSQLは普通にマズイ
初心者すぎ
初心者すぎる故、言語にケチつけるのだろうけど

79 :仕様書無しさん:2022/09/04(日) 20:35:56.78 .net
>>77
二重ループはどのように回避すべき?
sqlの方は一括で取ってメモリ上で扱えば良さそうだけど

80 :仕様書無しさん:2022/09/04(日) 20:57:14.06 .net
まぁPythonがクソ遅いのは事実だけどね

81 :仕様書無しさん:2022/09/04(日) 20:58:40.66 .net
pypy

82 :仕様書無しさん:2022/09/04(日) 21:01:49.47 .net
すまんSQL初心者なんだがどうやって一括で発行するもんなの?
Listを一つづつAddしていってforループ向けたあとにListで発行?

83 :仕様書無しさん:2022/09/04(日) 21:03:31.48 .net
> ループの中で一件ずつSQL発行するわで
pythonがどういった理由で遅いって言ってたのかにもよるんで何とも言えないけど、これは間違いなくクソ
今の現場にもいるけど、自分はイケてると思ってて痛々しい
未だにjoinが重いとか思ってんのかなぁ。。。。

84 :仕様書無しさん:2022/09/04(日) 21:05:44.01 .net
>>83
へー
どうやって一括で発行するの?
List化してListで発行する感じ?

85 :仕様書無しさん:2022/09/04(日) 21:29:26.22 .net
ループを回すってことは条件の値を変えてるんでしょ

たとえば

こうやって1件ずつ取得してるのを
select id, name from user where id = ?

これでまとめて取得するとかじゃないかな
select id, name from user where id in (...)

insertやupdateならバッチ更新を使ったりとか

86 :仕様書無しさん:2022/09/04(日) 21:30:11.76 .net
>>84
最初にリスト化したやつをループで取得するのっていわゆるN+1問題でコスト高い
のでモデルで定義した関連を含めてjoinした結果をORマッパー使ってマッピングして扱う
何言語なの
springならOneToManyとかrailsならhas_manyとか書いて無い?

87 :仕様書無しさん:2022/09/04(日) 21:31:55.41 .net
joinに時間がかかるかは環境による一概に問題ないとは言えないかなあ
育ってきた環境が違ってカルチャーフィットするのに時間がかかることはままあることよ

88 :仕様書無しさん:2022/09/04(日) 21:38:55.06 .net
in句は上限数があったり、インデックス使えなくてパフォーマンスに影響したりするから
個人的には、積極的に使用しないかな
joinでテーブル作って条件で絞り込んだ後にバッチ挿入/更新がいいと思う

89 :仕様書無しさん:2022/09/04(日) 21:45:48.10 .net
どんな環境か気になる
よほどDBの設計が特殊なのか?
今の現場は、単純に遅いjoinのチューニング方法分かってなかった

90 :仕様書無しさん:2022/09/04(日) 21:48:01.42 .net
さすが自演スレだけあってバカしかいなくて笑えるw
>ループの中で一件ずつSQLは普通にマズイ

こんなもん状況によるし一件ずつ流すほうが正解の場合のほうが多いのもわからないって相当経験浅いゴミ
こんなゴミスレはとっとと削除依頼出してこいゴミ

91 :仕様書無しさん:2022/09/04(日) 21:50:18.88 .net
>>90
具体的にどんな状況で?

92 :仕様書無しさん:2022/09/04(日) 21:51:18.43 .net
そもそも1件ずつっていうのはCUDのこと言ってるだろうし
CUDの場合は1回でSQL発行なんてできねーからな
どんだけバカスレだよ
とっとと削除依頼出してこいゴミ

93 :仕様書無しさん:2022/09/04(日) 21:52:10.26 .net
まあデータ量やDBによるかな

94 :仕様書無しさん:2022/09/04(日) 21:52:31.89 .net
>>90
普通で常識的なアンチパターンなんだがw
そんなことすら知らないの?

この口汚いアホが小規模案件しかやったことがない事が良く判ったよ

95 :仕様書無しさん:2022/09/04(日) 21:52:32.34 .net
どこの世界にSELECTで条件1件ずつ作って流すバカいるんだよアホ
はよ削除依頼出してこい

96 :仕様書無しさん:2022/09/04(日) 21:53:58.71 .net
ほらホームラン級糞バカ>94様がすべてのSQL1回で発行してくれるぞ
糞バカ同士ホームラン級の糞バカを崇めよ
とっとと削除依頼出してこい糞バカ

97 :仕様書無しさん:2022/09/04(日) 21:54:19.60 .net
>>95
取得されるデータが少量なら別にいいっしょ

98 :仕様書無しさん:2022/09/04(日) 21:56:03.22 .net
>取得されるデータが少量なら別にいいっしょ
頼むからもう会社に行くなバカ
自演でスレ加速させるなくそばかゴミ

99 :仕様書無しさん:2022/09/04(日) 21:56:50.26 .net
バッチ処理じゃなくてWebのリアルタイム処理なら1トランザクションあたりに扱うデータ量は限られるからね

100 :仕様書無しさん:2022/09/04(日) 21:57:15.13 .net
この口汚い奴は友達ゼロ・童貞・無職だから相手にする必要なし

101 :仕様書無しさん:2022/09/04(日) 21:57:18.08 .net
あげるなバカ!
はよ削除依頼出してこいゴミ

102 :仕様書無しさん:2022/09/04(日) 21:57:38.41 .net
>>98
やだ、元気に出勤する

103 :仕様書無しさん:2022/09/04(日) 21:58:33.91 .net
反論できないからホームラン級のバカが逃げたwww
バカなんだから思い付きでレスつけるな糞バカが
ほんとこういうバカスレってバカしかいないからレスつけたくなかったんだが
あまりにバカすぎてレスつけずにはいられなかった
とっとと削除依頼出してこいゴミ!!!

104 :仕様書無しさん:2022/09/04(日) 21:59:14.90 .net
N+1問題もしらないんだwwwwwww

105 :仕様書無しさん:2022/09/04(日) 21:59:53.32 .net
少なくても自演ってのは間違ってるぞw

106 :仕様書無しさん:2022/09/04(日) 22:01:48.96 .net
>>104
こういうふうに名前を覚えてドヤるのは違うと思う
名前を知ってるからなんなのって思う

107 :仕様書無しさん:2022/09/04(日) 22:01:52.02 .net
>>104
それなw

108 :仕様書無しさん:2022/09/04(日) 22:02:17.15 .net
ほらほらほらホームラン級糞バカ>104様がすべてのSQL1回で発行してくれるぞ
糞バカ同士ホームラン級の糞バカを崇めよ!!!!!
いまだにSELECTとCUD混同してる伝説のホームラン級池沼様だぞ!!!!
おぼえたてのN+1問題で一生懸命反論してるつもりだぞ!!!!!
CUDのN+1問題が世界のどこにあるか探してこい糞バカの同士たちよ!!!!

とっとと削除依頼出してこい糞バカ池沼!!!!!!!

109 :仕様書無しさん:2022/09/04(日) 22:02:37.52 .net
本当に知らなかったのかよ....

110 :仕様書無しさん:2022/09/04(日) 22:02:44.44 .net
常識的とかアンチパターンというのも誰かが作った価値観に便乗してるだけで
自分で考えてない感じがしてもにょる

111 :仕様書無しさん:2022/09/04(日) 22:03:55.80 .net
一人で一生懸命SELECTのループの話してるホームラン級の池沼早くだれか引き取ってやれ糞自演バカども

バカすぎる糞スレ
とっとと削除依頼出してこい糞バカ池沼!!!!!!!!!!!!!!!!!!!!!!!!!!!

112 :仕様書無しさん:2022/09/04(日) 22:06:41.64 .net
ループでインサート!アップデート!デリート!!!

池沼「アンチパターンだ!!!!!!!!!!!!!!!!」
池沼「N+1問題だ!!!!」


管理者「この池沼クビな」

とっとと削除依頼出してこい糞バカ池沼!!!!!!!

113 :仕様書無しさん:2022/09/04(日) 22:07:13.38 .net
>>111
DBで一番時間がかかるのはSELECTなんですよ

114 :仕様書無しさん:2022/09/04(日) 22:09:37.75 .net
>>108
SQLの発行回数を少なくすれば良いっていう状況もあるけど
複雑なSQLを分割してSQLの発行回数を増やしたが良い状況もあるので
1つのSQLにすれば良いんだっていうのはバイアスでしかないかな

115 :仕様書無しさん:2022/09/04(日) 22:10:22.70 .net
まあ普通にinでも最近はindexが効くからそれでいいんだけど

全件取ってきて配列でループさせる方法もある

他には対象idを一時テーブル作ってぶっ込んでindex貼って対象テーブルとjoinで一発とか

更新系はbulk処理で

116 :仕様書無しさん:2022/09/04(日) 22:12:26.59 .net
inでindex効かなかった時代があるん?
not inでindexが使われないのはわかるけどinでそういうことあるん?

117 :仕様書無しさん:2022/09/04(日) 22:14:48.76 .net
>>116
昔のMySQLはindex効かなかったよ
だいぶ前の話だけど

118 :仕様書無しさん:2022/09/04(日) 22:15:16.48 .net
>>117
へー

119 :仕様書無しさん:2022/09/04(日) 22:17:25.41 .net
DBはいっさい信用ならんから条件文取り払ってデータ全部ぶっこ抜いてきて
テキストファイルに出力してテキストファイルをループで処理したりはよくやるけどね
削除依頼君にもおすすめの処理方法

120 :仕様書無しさん:2022/09/04(日) 22:21:39.47 .net
わざわざテンポラリテーブル作るのって何で?
普通に自己結合しとけばいいじゃないの?
in句の中身多くなるとフルスキャンになるとかはあるけど

121 :仕様書無しさん:2022/09/04(日) 22:23:51.53 .net
>>119
信用ならんDBって何使ってるんだw

122 :仕様書無しさん:2022/09/04(日) 22:24:09.57 .net
ループでSQLを発行して1件ずつ処理するやり方はメモリの使用量を最小化できる方法でもあるので
アプリケーションサーバのメモリがカツカツで時間がかかってもよいので
とにかくメモリの使用量を抑えたいってときには有効

123 :仕様書無しさん:2022/09/04(日) 22:25:44.81 .net
>>121
Oracleですね、サーバはオンプレミス
ハードが貧弱なせいもあるけどね

124 :仕様書無しさん:2022/09/04(日) 22:27:09.47 .net
だってクエリ発行して応答が返ってこないんだもん
フィルタリングもソートも自前でやったが速い環境を僕は知っている

125 :仕様書無しさん:2022/09/04(日) 22:27:16.96 .net
>>122
なるほどね
ええやん

126 :仕様書無しさん:2022/09/04(日) 22:27:57.73 .net
>データ全部ぶっこ抜いてきて

これが超スーパーホームラン級池沼の出したN+1問題の解決法
今の現場の新卒がプログラムでこれやってて全部書き直させた
ほんとこの世から消えてくれ糞ごみ
はよこの糞スレの削除依頼出してこい糞バカ池沼!!!!!!!

127 :仕様書無しさん:2022/09/04(日) 22:29:27.56 .net
>>120
別に結合一発で済むならそれでいいけど、一件一件SQLを発行しているとなるとDB以外の外部要因が絡んでいるだろうから
あと複雑なサブクエリでindexが効かないとき等も一時テーブルに結果を一旦逃げしたりする

128 :仕様書無しさん:2022/09/04(日) 22:30:42.18 .net
>>126
データを全部抜くのはDWH構築や分析でも良く使われているが

129 :仕様書無しさん:2022/09/04(日) 22:31:19.42 .net
>>123
oracle詳しく無いけどメモリ増幅、ssdとかfusion io使うでほとんど解決よ

130 :仕様書無しさん:2022/09/04(日) 22:33:20.89 .net
>>126
今の現場っておまえ派遣かSESだろw

131 :仕様書無しさん:2022/09/04(日) 22:34:09.67 .net
プログラムで全ぶっぱするゴミの話してるのに分析にすり替える池沼
もういいからレス付けないでとっとと削除依頼出してこいゴミ!!!!
SQLでできることをプログラムで書くなキチガイ池沼!!!

132 :仕様書無しさん:2022/09/04(日) 22:35:19.08 .net
>>131
マイクロサービスでも似たような処理になるよ
知らないの?

133 :仕様書無しさん:2022/09/04(日) 22:35:46.04 .net
反論できないからっていちいち話そらすな糞バカ池沼
おまえレス返す価値もないほどのバカって自覚あるのか?糞ゴミバカ
どうせお勉強中の無職のバカだろうけど
もういいからレス付けないでとっとと削除依頼出してこいゴミ!!!!

134 :仕様書無しさん:2022/09/04(日) 22:36:14.23 .net
>>133
はいおまえの負け

135 :仕様書無しさん:2022/09/04(日) 22:38:09.57 .net
SQLなら2、3行で済む処理をプログラムで分岐させて格納して100行近い超大作のゴミコード書いちゃう池沼がお前ら
マジで世界から消えてくれ
池沼専用の平行世界で好きだけ池沼コードでも書いてろゴミ
もういいからレス付けないでとっとと削除依頼出してこいゴミ!!!!

136 :仕様書無しさん:2022/09/04(日) 22:38:11.24 .net
>>131
SQLで書いたら応答が返って来ないの!そんな状況でも業務を回さないといけないの
SQLで書くべきだなんてしょせんは綺麗事ですわ
たとえ醜かろうが業務を回せるのならそれで良いって状況を僕は知っている

137 :仕様書無しさん:2022/09/04(日) 22:39:46.07 .net
>>127
なるほどね〜
バッチ処理型でしか使わないindexをパフォーマンス要求されるところで貼るのもなーって感じはする

138 :仕様書無しさん:2022/09/04(日) 22:41:00.07 .net
マイクロサービスはそうなるね

139 :仕様書無しさん:2022/09/04(日) 22:43:31.54 .net
>>135
> SQLなら2、3行で済む

2,3行で済んでも処理が終わらなかったら元も子もないよ
プログラムの行数を減らすのが仕事じゃないからね
泥水すすってでもやり遂げる気持ちが大事

140 :仕様書無しさん:2022/09/04(日) 22:48:26.48 .net
>>139
そうそう、泥水吸うような処理になるときがあるね
他人から見たら理解されないような意味不明なロジックになるので説明が大変

141 :仕様書無しさん:2022/09/04(日) 22:49:05.05 .net
どれもこれも完全に状況次第なのでなんとも

ぶっこぬきも小さなマスターテーブルで絶対にデカくならない確信があるならありだし
1000万件でやってたらアホだし

142 :仕様書無しさん:2022/09/04(日) 22:50:51.09 .net
そうそう顧客の課題解決が重要だぞ

143 :仕様書無しさん:2022/09/04(日) 22:53:26.32 .net
明日もみんなジャバゲッティ作るのかい?
自分はrubyとtsだが

144 :仕様書無しさん:2022/09/04(日) 22:56:26.96 .net
>>130
僕もSESだよ、ちなみにOracleを実装した人もそうだよ

145 :仕様書無しさん:2022/09/04(日) 22:59:44.42 .net
>>143
作るねえ、作っちゃうねえ~

146 :仕様書無しさん:[ここ壊れてます] .net
バッチのフレームワークってみんな何使ってる?SpringBatchとか?
ちなみに僕は使ってないPlain Javaでゴリゴリ系

147 :仕様書無しさん:[ここ壊れてます] .net
バッチはシェルとか

148 :仕様書無しさん:2022/09/04(日) 23:18:29.12 .net
aws batchでゴリゴリ

149 :仕様書無しさん:[ここ壊れてます] .net
まぁよくわからんけど良い意見交換できてよかったね

150 :仕様書無しさん:[ここ壊れてます] .net
SQLってどこで学べばいいんだろ?
なんか色々やり方あるみたいだしそういうの勉強しときたい

151 :仕様書無しさん:[ここ壊れてます] .net
>>150
こういう入門書読んで実際に触ってみるといんじゃないかな
https://www.oreilly.co.jp/books/9784873119588/

152 :仕様書無しさん:[ここ壊れてます] .net
>>151
ふむふむサンクス

153 :仕様書無しさん:2022/09/05(月) 01:33:57.76 .net
>>150
プログラマのためのSQL 第4版

154 :仕様書無しさん:2022/09/05(月) 01:40:39.33 .net
SQL出来ますって言ってるやつに100億件のデータ渡したら処理に1時間かかるコード書きそう
データ件数が膨大になって単純な検索ではやれなくなってきたところから技術力が影響する
100万件のデータくらいなら小学生でもいけるっつーの

155 :仕様書無しさん:2022/09/05(月) 10:31:43.35 .net
100億は多いな、インデックスが使えれば問題ないだろうけど

156 :仕様書無しさん:2022/09/05(月) 10:34:57.25 .net
100億だと昨今はRedShiftなりBigQueryなりTDにぶち込むから小学生SQLでも充分

157 :仕様書無しさん:2022/09/05(月) 10:36:39.92 .net
そんなビッグデータ扱うチャンス無いだろ?

158 :仕様書無しさん:2022/09/05(月) 11:38:53.34 .net
ユースケースによるかな
50億レコードの基盤システムをmysql(オンぷれ)で捌いてたけど責務を分割して機能をシンプルにできたからってのが大きい
分析に使うんだったらbigquery, redshift, athenaでいいと思う
aurora mysqlとかだったとしてもパラレルクエリの使い方知ってさえいれば簡単に高速化できちゃうんだからな。。。
技術力必要なシーンがawsに取って代わられてるぜ

159 :仕様書無しさん:[ここ壊れてます] .net
うっかり全件取得してしまってクラウド破産

160 :仕様書無しさん:2022/09/06(火) 07:44:49.50 .net
1日1拠点で多いところだと100万件ぐらいデータ発生してたな
しかも朝夕に集中するから波もある
今思えばけっこうな量だわ
SELECT COUNT(*) FROM hogeとかでも数分かかってたよ
うかつにSELECTするなって言われてた

161 :仕様書無しさん:2022/09/06(火) 09:26:33.33 .net
>>160
独学で学習中だけど、こういう場合は別のテーブル(集計用のテーブル)に作っておいてそこにアクセスするって感じでok?
(select count(*)を使うくらいなら)

162 :仕様書無しさん:2022/09/06(火) 13:31:32.22 .net
脳死でexplainつける
予算割けるならユーザーに影響しないように分析用のリードレプリカ作る
物理削除しないならmax関数使えないか考える

気にしてるのが負荷だったら分析用テーブル作っても問題解決されないなぁ

count(*)って今はオプティマイザがいい感じにidだけ指定に変えてくれたりする
show warnings使って最適化後のクエリみた?

163 :仕様書無しさん:2022/09/07(水) 23:40:36.57 .net
javaって文字が見えただけでこの会社やめとこってなる

164 :仕様書無しさん:2022/09/08(木) 00:14:42.89 .net
java17ならいいよ

165 :仕様書無しさん:2022/09/08(木) 01:30:13.31 .net
8以降なら

166 :仕様書無しさん:2022/09/08(木) 01:55:07.27 .net
>>58
Googleでは継承は原則禁止だね

167 :仕様書無しさん:2022/09/08(木) 02:14:22.96 .net
そりゃ優秀だな

168 :仕様書無しさん:2022/09/08(木) 02:19:12.26 .net
グゴったら継承アンチマンの言い分って保守しずらい&スッパクラス直しずらいっていう雑魚によくいる低次元の主張だった
要件と仕様が明確で遥か先まで見通せるなら別にいくらでも継承してもいいよ
継承かコンポズソンかの違いだけだが馬鹿に合わせて毎回派生クラスにコンポズソンパトゥーンでメンバ持たせるの美しくないし
まぁここのチンパンジーどもにいってもわからんだろうけど

169 :仕様書無しさん:2022/09/08(木) 02:55:22.75 .net
チンパンジジー

170 :仕様書無しさん:2022/09/08(木) 07:28:21.35 .net
継承なんてフレームワーク側が使うもんでしょ

171 :仕様書無しさん:2022/09/08(木) 10:40:23.14 .net
>>166
ムスビ嘘をつけ!

172 :仕様書無しさん:2022/09/08(木) 10:45:54.96 .net
>>168
チンパンジー相手に喜んでいる人生なんて哀れそのものだね

173 :仕様書無しさん:2022/09/08(木) 11:35:27.35 .net
フレームワーク側も使わねーよ
全ての場面でmix-inで十分で、わざわざあえて継承持ってくるのがmix-inよりも適切だって場面が無いと思うけどあるなら例をくださーいw

174 :仕様書無しさん:2022/09/08(木) 12:31:10.82 .net
>>173
そんなもん山ほどあるわ、具体的には言えないけど

175 :仕様書無しさん:[ここ壊れてます] .net
継承いらなくね?派: 俺、Google
継承は必よう派: >>174

期待しているよ

176 :仕様書無しさん:[ここ壊れてます] .net
俺「Googleは継承使わないんだーへー」
https://github.com/google/guava
俺「継承使いまくっててクッソ受けるんですけどwwwwww」

177 :仕様書無しさん:[ここ壊れてます] .net
継承いらなくね?派: お前
継承は必よう派: >>174、Google

178 :仕様書無しさん:[ここ壊れてます] .net
Googleはもう俺の女

179 :仕様書無しさん:2022/09/08(木) 22:48:42.92 .net
JavaだとInterfaceのDefaultメソッドがmix inだが継承使わずDefaultメソッドで全部やるのは狂気の沙汰としか思えない

180 :仕様書無しさん:2022/09/09(金) 00:43:18.27 .net
継承使わずに作られたフレームワークなりライブラリのリポジトリ貼ってくれー

181 :仕様書無しさん:2022/09/10(土) 04:34:44.68 .net
Goにはクラスも継承もないしな
GAFAMが共同でRust Foundationを設立したRustにもクラスと継承ないしな
不要と結論が出ているため最近のプログラミング言語には最初から存在しない
もちろんそれら各々の言語で書かれた各分野のフレームワークがある

182 :仕様書無しさん:2022/09/10(土) 12:35:44.77 .net
バカ乙
GoにはプロモートフィールドがあるしRustにはトレイトがあるわ
継承という言葉を使わなかったら良いってもんじゃないんだよ
継承と同じことをやる継承のようなものがあったらそれは継承だよ
ダック継承だよ

Goにクラスがないっていうのもウソ
クラス構文がないだけでやってることはクラスと同じ
書き方がダサいだけ

183 :仕様書無しさん:2022/09/10(土) 12:37:35.29 .net
あえてダサくすることで俺オシャレとか気にしてませんからと主張しつつも意識しまくりなダサい言語それがGoとRustです

184 :仕様書無しさん:2022/09/10(土) 17:41:23.43 .net
Goにクラス構文が無いって、じゃあオブジェクトを作りたい時
Goではどうしているんですか?

185 :仕様書無しさん:2022/09/10(土) 17:55:20.23 .net
>>184
type Cat struct {
}

func (cat Cat) meow() {
 fmt.Println("にゃーん")
}

func main(){
 cat := Cat{}
 cat.meow()
}

186 :184:2022/09/10(土) 18:06:20.21 .net
>>185
詳細は分かりませんが、main関数の中でインスタンスを作って、
そのインスタンス由来のメソッド呼び出しをしているような…

187 :184:2022/09/10(土) 18:08:50.86 .net
>>185
お礼するのを忘れてました、コードを示して頂きありがとうございます

188 :仕様書無しさん:2022/09/11(日) 06:54:20.77 .net
>>171
!!!??

189 :仕様書無しさん:2022/09/11(日) 08:22:32.21 .net
これからクラス構文あった方が実装しやすい気が…
クラスがないことのメリットがあんまり分からん

190 :仕様書無しさん:2022/09/11(日) 08:28:37.72 .net
自演でスレ伸ばすのやめろゴミ

191 :仕様書無しさん:2022/09/11(日) 09:24:50.38 .net
糖質?

192 :仕様書無しさん:2022/09/11(日) 23:09:24.96 .net
golangではクラスに該当する概念に相当するものがstructということであって存在しないってわけじゃないと思う
swift,c++にはclassとstructが厳密には振る舞いは違うけど同じような場面で使えるようになっていて言葉の定義は非常に曖昧
goではstructで行きますねーって話でしかないような気がする
継承もextendsとか<とかimplementsとか書かないだけで同じような振る舞いはできる
oopの言語パラダイムを否定する要素が何なのかよくわからない

結局javaがやりたくなってるわ

193 :仕様書無しさん:[ここ壊れてます] .net
>>192
結局そういうことやし逆に構造体だけ使う利点があんまわからんのよな
場合によってどっちも使えた方が便利じゃねって思う

194 :仕様書無しさん:2022/09/12(月) 12:01:47.25 .net
Goと同様にクラスも継承もないRustが分かりやすいかな
Rustではクラスとはかなり異なるtraitを用いるけど
このtraitは様々な型に対して横断的に適用される

例えば表示が可能な型の集合を考える
これはすなわち文字列化できることも要請されるわけだけど
文字列化可能なスーパークラスを用意してそれを継承するという実現方法は様々な問題がある

Rustではクラスが無いのでこの場合は文字列化可能なことをトレイトを用いてtrait ToStringで表す
このtrait ToStringはStringを返すメソッドto_string()を持つので各型ごとに実装する
ジェネリクスとも相性がよくジェネリックな関数の引数の型Tに対してtrait ToStringの実装をしていることを制約させることで
そのジェネシスな関数内で型Tに対してto_string()を適用可能となる
つまり、「~の操作ができる」ことを意味するために各traitをいくつでも用意しうる
そして各型はそれら多数あるtraitのうち必要とすべきtraitをいくつでも実装していくことでできる

195 :仕様書無しさん:2022/09/12(月) 13:17:52.47 .net
RustはRustでクソな感じがする
第二Javaっつうか

196 :仕様書無しさん:2022/09/12(月) 20:13:16.77 .net
RustはCで書いた時とほぼ同じアセンブリ生成コードとなり速度が同等な点が画期的
Javaとは異なりRustはガベージコレクションが無く高速で省メモリ
その上でRustは常に安全に即座に自動的にメモリ解放されるから使いやすい

197 :仕様書無しさん:2022/09/12(月) 21:59:11.12 .net
>184こういうガチで分かってないのも多いし
クラスのないプログラム組める人全然少ないんだろうな

必要なのはインスタンスが生成出来て、
そのインスタンスの中に状態を保存できる変数がある事
まぁそれでプログラム組めることが良くわからないよーって人達がlambdaをスルーしちゃって
手続き型言語作って、無意味な遠回り30年くらいをIT界隈が過ごしてきたんだけど

198 :仕様書無しさん:[ここ壊れてます] .net
よくわからんな

199 :仕様書無しさん:2022/09/13(火) 00:05:49.91 .net
言語の実装なんて宗教論争の塊みたいなものだから継承があろうがなかろうがそれは宗教の宗派の一つでしかなく優劣の材料にはならんよ

200 :仕様書無しさん:2022/09/13(火) 05:39:46.17 .net
var f = new class or new lambda{ lambda { } }

201 :仕様書無しさん:2022/09/13(火) 08:04:28.15 .net
C言語作者がGO作ってんだよね
Syntaxはどんなカオスでも良い条件でマクロとか関数ポインタ乱用でCでクロージャ・lambdaの実装って出来るんだろか
文字列を読み取ってDSL化するとかってのは無しであくまで静的に

202 :仕様書無しさん:2022/09/13(火) 12:50:09.26 .net
ガベジコレクタがないとクロージャオブジェクトを管理するのは難しそう

203 :仕様書無しさん:2022/09/13(火) 14:42:31.89 .net
"printf"を文字列で関数に渡してprintfが呼び出セル場所まで作れば
あとは引数を保存するだけだな
手続きコードは書けないけどやろうと思えばギリいける

204 :仕様書無しさん:2022/09/13(火) 15:12:35.94 .net
コード保存は無理だから関数名と引数だけを保存して後でまとめてrunって感じか
シンタックスはゴミになりそうだけど一応いけるね

205 :仕様書無しさん:2022/09/13(火) 17:30:58.03 .net
>>202
クロージャ使いまくりのRustはガベージコレクションが無くてC言語とほぼ同じ速さで動くよ

206 :仕様書無しさん:[ここ壊れてます] .net
RustにGCがないのは初耳

207 :仕様書無しさん:2022/09/13(火) 20:57:03.99 .net
ライフ管理がキッチリ出来ればガベコレなんかいらないんだよなぁ
ガベコレが定期的にゴミ集めする仕組みの語であればだけど

208 :仕様書無しさん:2022/09/13(火) 22:37:22.22 .net
Rustはムーブセマンティクスを使って参照が一つにしかならないようにするのか
参照を数えてるわけではないので参照カウント方式のGCとは違うわけね
コンパイル時にメモリの解放漏れが検知されるのはすばらしいな

209 :仕様書無しさん:[ここ壊れてます] .net
いやなんでlambdaからGCの話になるw

ずれてんなぁ

210 :仕様書無しさん:2022/09/14(水) 10:42:25.96 .net
ずれてない話おなしゃす

211 :仕様書無しさん:2022/09/14(水) 10:46:55.98 .net
VBの縦横無尽さに比べたら天国だろ

212 :仕様書無しさん:2022/09/14(水) 11:10:54.08 .net
VBに名前空間とラムダ式を追加して参照渡しをできなくしたらJavaと同じくらい使いやすくなる気がする

213 :仕様書無しさん:2022/09/14(水) 11:28:44.10 .net
vbでもいいコードはあるんだよね

214 :仕様書無しさん:2022/09/14(水) 12:42:50.10 .net
VBは大勢の初心者を受け入れてきた
いま現在ではJavaやPythonに糞コードが多いように
当時の受け皿だったVBに糞コードが多かっただけなんだ
さらにその前はCOBOLにも糞コードが多かったんだ

また、VBシリーズ(そして行番号BASIC)は様々なOSや技術の過渡期に活躍してきた
マイコンからMS-DOS
MS-DOSのコンソールからビジュアル化
MS-DOSからWindowsへ
int21hからwin32APIへ(当時はVCまわりの整備が遅れていたのでVBは救世主だった)
そしてwin32から.NET

全ての技術の変遷をVBシリーズは見守ってきた

これだけの荒波に揉まれても既存のソースを救い続け、そして新しい技術に立ち向かう助けをしてきた
VBこそ現代のモーゼであり箱舟なんだよ

215 :仕様書無しさん:2022/09/14(水) 12:49:46.22 .net
新たなコピペの誕生を見たw

216 :仕様書無しさん:2022/09/14(水) 12:57:38.28 .net
長野オリンピックのシステムは当初Smalltalkでオブジェクト指向を駆使して作ろうとしたんだけど
うまくいかなくてVBで作るよう方針転換して大成功をおさめた

理論がどんなに優れていても実態が伴わないと絵に描いた餅でしかない
VBはSmalltalkよりもオブジェクト指向の機能は少ないけれども現実的な最適解であったように思う

217 :仕様書無しさん:2022/09/14(水) 13:27:43.58 .net
VBやExcelを開発した人たちは天才だよ
どんなバカでも使えるツールというのはそう簡単に作れるもんじゃない

218 :仕様書無しさん:2022/09/14(水) 13:39:19.26 .net
まあ、VBやExcelはバカには使えない

219 :仕様書無しさん:2022/09/14(水) 18:49:11.84 .net
業務でしか使わないようなヘンテコなツール言語規則いくら覚えてても何も凄くない
単なる奴隷の鎖自慢であって
金持ち連中の事情が変われば一気に使わないゴミと化す
そんなもの覚えるために1分でも時間使った時点から負けてる

220 :仕様書無しさん:2022/09/14(水) 21:14:33.70 .net
>>219
有名言語習得してる人なんてほかにいくらでもいるからね
JP1/Script極めてますなんて人のほうがブルーオーシャン狙える

221 :仕様書無しさん:2022/09/15(木) 00:03:45.29 .net
>>219
もしかして:Ja*a

222 :仕様書無しさん:2022/09/15(木) 02:46:38.69 .net
MSはもうVBに新機能を追加することはないって言ってるね

223 :仕様書無しさん:2022/09/15(木) 07:27:18.98 .net
新プラットフォームには対応していくよ
.NETが新しくなってもVBが使えなくなることはない
VBの需要はC#みたいな曲芸じゃないからね

VBはC#みたいな未完成の言語じゃない
すでに完成していて手を加える必要がないからなんだ

224 :仕様書無しさん:[ここ壊れてます] .net
MS「んじゃセキュリティパッチもいらないな、コスト削減・・・っと」

225 :仕様書無しさん:2022/09/15(木) 10:44:16.29 .net
外部ネットワークに繋ぐものは.NETで置き換えるでしょさすがに
閉鎖されたネットワーク内で使うぶんにはセキュリティパッチいらんし
工場のシステムなどでほそぼそと使い続けられるんじゃないかね

226 :仕様書無しさん:2022/09/15(木) 10:47:23.13 .net
念のために行っておくけどVBのサポートはずっと続くし
現場の「余計な機能つけんな」って声に対応しただけであって
これからもVBはMSの主力言語だからな

新機能つけない事
サポートが続く事

これらが同時に実行されるのがプログラミング言語史上はじめてなので混乱してると思うが
.NETの新機能はVBでもサポートされる
VBの言語としての新しい文法や機能が追加されないという事

この違いがわからないとまるでVBがなくなったり成長しないかのように錯覚してしまう

227 :仕様書無しさん:2022/09/15(木) 11:36:39.44 .net
ああ、君が言ってるVBはVB.NETだね
僕が言ってるVBは旧VBのことで、僕が言ってる.NETはC#とVB.NETのこと

228 :仕様書無しさん:2022/09/15(木) 11:54:25.33 .net
VB.NETは古い言い方なのか
いまはVBと呼ばれるようになってるのね、知らなかった

229 :仕様書無しさん:2022/09/15(木) 12:12:21.79 .net
旧VBといえばVB6とVB4が主流
今でも稼働しているシステムはVB6だろう

Oracleのクライアントとして活躍した
OracleといえばDelphiも相性が良いとされていて、まさにクライアントサーバ全盛期だった

Windows10でも稼働可能で延命処置が施されてきた
いくつかのバージョンの.NET開発環境があればエラーをモグラたたきのように直すだけで最新のVB.NETに移行できたのも魅力だ

しかしながらWindowsにも32bit切り捨ての波が来てしまった
VB6アプリを64bit環境で動かすのは難しい
本来なら64bitOSでも32bitアプリは稼働してくれるのかもしれない
しかしながらミドルウェアと連携していく上で(おそらくはOracle関連で)つまずくだろう
それでもVB開発者はその知識と問題解決能力でVB6アプリを稼働させ続けるのだ

VB6はその筋に詳しい人たちが延命に力を注いできた
例えネイティブがダメになったとしても仮想化で動き続けるだろう
ファクトリー向けPC9801だってまだ稼働中なのだ
VB6はまだまだ戦えるはずだ

VB6は永遠なのだ

230 :仕様書無しさん:2022/09/15(木) 12:14:39.78 .net
>>226
終了してからだって一定期間はサポートされるが・・・
MSという会社が無償でやってるようなもので
VBのメンテナンスしようが全く金になってないと思うけどね

231 :仕様書無しさん:2022/09/15(木) 13:25:11.61 .net
プログラミング言語を開発するだけでは金にならんよね
企業は開発ツールの販売や実行環境の有償サポートで金稼ぐことになるんだろうな
マイクロソフトもオラクルもようやっとる

Rustはいろんな企業から金銭の援助を受けてるようだ
期待度の高い言語ならではだなー

GoogleのGoはあれは収益に繋がってるのかな
広告で稼いだ金を使って開発してるようではあるけど
優れたプログラミング言語を提供することで
Googleの信頼や名声は高まりそうではある

232 :仕様書無しさん:2022/09/15(木) 13:32:35.96 .net
MSが色々言語出すのはおそらく他企業の作った言語に居座られない為に頭の上抑える目的でリリースしてると思う
俺はMS産言語やIDEについてそういう見方してるからVBはMSの企業戦略という中で見たって役目終えてねーかという

233 :仕様書無しさん:2022/09/15(木) 14:16:34.42 .net
MS OfficeではVBAが使われてるからそのユーザからするとVBの方が使いやすかったりするのかなとは思うけど
VBAがわかるならC#は簡単だと思うんだよなあ

BASIC言語の開発はMS設立時から行われていてMSの出発点でもあるから経営者の思い入れは強いだろうけど

234 :仕様書無しさん:2022/09/15(木) 17:04:41.17 .net
>>231
GAFAMを中心にRustの採用・支援が多い理由は
Rustがプログラミング言語の歴史において革命的な転換点の存在だからのようだね

今までのプログラミング言語は
①『自動的にメモリ解放され安全だがガベージコレクションがあるため少し遅い言語』

➁『ガベージコレクションが無くて高速だがプログラマーの責任でメモリ解放を行う必要があり少し危険な言語』(C/C++など)

どちらか二種類しか無かったところに
③『自動的にメモリ解放され安全だがガベージコレクションが無くて高速な言語』(Rustのみ)
という良いとこどりの安全で高速な言語が初登場したようだね

235 :仕様書無しさん:2022/09/15(木) 18:33:24.47 .net
まともな言語ならGCオフにして手動開放オプションくらいついてるから・・・

236 :仕様書無しさん:2022/09/15(木) 20:07:27.42 .net
ゴミみたいなスレタイでゴミが立てたスレを伸ばしてんじゃねーよ糞低能ども

237 :仕様書無しさん:2022/09/15(木) 22:12:10.50 .net
面白いオモチャが多いからな

238 :仕様書無しさん:2022/09/16(金) 22:40:52.85 .net
話についていけず発狂してるやつおって草

239 :仕様書無しさん:2022/09/16(金) 23:50:02.24 .net
こういう入門書の1ページに書いてるようなゴミネタで話についていけないとかのたまうのがゴミなw
バカなんだからさっさと削除依頼出してこい池沼バカ

240 :仕様書無しさん:2022/09/16(金) 23:59:05.93 .net
効いててワロ

241 :仕様書無しさん:2022/09/17(土) 00:02:44.66 .net
バカが一生懸命ageて書き込んでも無駄
消えろゴミ

242 :仕様書無しさん:2022/09/17(土) 08:42:30.32 .net
A言語にはある 

243 :仕様書無しさん:2022/09/17(土) 17:43:13.36 .net
必死なJava上げの人もいなくなっちゃった
1999年発行Javaで覚えるオブジェクト指向プログラミングの分厚い本は鍋敷きにしてる
光栄に思うがいい

244 :仕様書無しさん:2022/09/17(土) 17:50:11.10 .net
>>243
面白そうな本だーね

245 :仕様書無しさん:2022/09/17(土) 17:51:26.28 .net
20年前のオブシコと今のオブシコどう違うんだろ

246 :仕様書無しさん:2022/09/17(土) 18:03:17.50 .net
昔はソースの行数を減らすのがえらいみたいな風潮だったけど
今は保守性大事だよねって感じじゃね
いわばPerl風からVB風に変わっていったと思ってる

247 :仕様書無しさん:2022/09/18(日) 20:33:20.66 .net
20年前のオブジェクト指向
「これは神に与えられた唯一の正しい手段であり、全ての要素を必ずオブジェクトとして扱い、オブジェクトを継承し再利用されねばならない」

今のオブジェクト指向
「オブジェクトとして扱うと楽になるものと、そうでないものがあるので、使い分けましょう」

Rust上げしてる人から20年前にJavaを崇拝してた人たちと同じ臭いがする

248 :仕様書無しさん:2022/09/18(日) 22:05:32.68 .net
今趣味でブラックジャック(トランプ)作ってるけど、
クラスが無いとコード作成なんて考えられんよ

249 :仕様書無しさん:2022/09/19(月) 00:51:45.67 .net
トランプゲームみたいにオブジェクト有限個数のものはちゃんと考えればコードがすげえ圧縮されるぞ

250 :仕様書無しさん:2022/09/23(金) 22:11:40.20 .net
【逆流性食道炎予防の八箇条】
食の欧米化やストレス社会により新たな国民病となりつつある逆流性食道炎をみんなで予防しましょう 

其の1:食べすぎないよう腹八分目
其の2:消化のよい食事を心がける 
其の3:ゆっくりよく噛んで食べる
其の4:就寝前の食事は避ける(就寝前2~3時間)
其の5:食後すぐに横にならない(逆流を防ぐ)
其の6:肥満に気をつける
其の7:アルコール・甘い炭酸飲料を控える
其の8:喫煙を控える

251 :仕様書無しさん:2022/10/11(火) 19:39:20.10 .net
チャーハン下さい!

252 :仕様書無しさん:2023/04/01(土) 21:44:41.14 .net
>>239
とゴミが申しております

253 :仕様書無しさん:2023/04/02(日) 08:36:55.58 .net
なりがちって聞いたこと無いな

254 :仕様書無しさん:2023/06/03(土) 19:03:55.97 .net
とにかく継承を使いまくって差分プログラミングバンザイの時代があったんよ
Timestamp型がリスコフの置換原則を満たしてないのがその名残
標準ライブラリでさえ迷走していた時代
一般のアプリはもっと酷かったしオブジェクト指向を語る技術書もだいぶあれだったよ
とにかく全部オブジェクトにするのが正義って書いてある本もあった
僕はそれを読んで実践して大爆発した

255 :仕様書無しさん:2023/06/03(土) 20:55:27.45 .net
Javaみたいに強制的にクラスを定義させる言語はプログラミング初心者にドメインモデル貧血症みたいな勘違いオブジェクト指向(オブジェクト指向では無い)コードを量産しやすい印象はある

以前、オブジェクト指向を理解していない人が関数型プログラミングをオブジェクト指向の代替パラダイムと勘違いしてドヤ顔で語ってる人がいたが、その人の提示するオブジェクト指向のサンプルコードってほぼドメインモデル貧血症

256 :仕様書無しさん:2023/06/03(土) 21:01:29.38 .net
ドメインモデル貧血症だからダメなのだは思考停止だと思う
それこそオブジェクト指向の神格化でスパゲティが量産されてたころの考えかたじゃないかな
僕は好きですよドメインモデル貧血症
マーチン・ファウラーの功罪

257 :仕様書無しさん:2023/06/03(土) 21:07:05.11 .net
ラムダ式、Stream、Record、パターンマッチ
Javaは関数型プログラミングに舵を切ってるね
オブジェクト指向を90年代からとことんやって限界が見えたってことだと思う

258 :仕様書無しさん:2023/06/03(土) 21:22:03.23 .net
>>256 >>257
こういう勘違いしている奴がいるから困る

259 :仕様書無しさん:2023/06/03(土) 21:25:07.20 .net
>>256
https://en.m.wikipedia.org/wiki/Anemic_domain_model

アンチパターンって十分考察されたから名前が付いてるんやで
思考停止ちゃう

260 :仕様書無しさん:2023/06/03(土) 21:51:32.06 .net
>>258
んだとおらあ!ぶっ殺すぞてめえ、はい論破

>>259
90年代の考えかただよそれ

261 :仕様書無しさん:2023/06/03(土) 21:53:13.89 .net
トマトは昔欧米で毒リンゴと呼ばれていたけど
いまでは健康的な野菜の筆頭でしょ
ドメインモデル貧血症はトマトということですね

262 :仕様書無しさん:2023/06/03(土) 21:59:26.99 .net
アンチパターンというのも考えものだよね

オブジェクト指向によるスパゲティコードがよく作られていた頃は
デザインパターンが重宝されてとにかくたくさんのデザインパターンを
使うことが良いことだとされていたけれどもそうして作られたプログラムは
オブジェクト指向迷路であった

パターンと名のつくものに杓子定規に従えば良いものができると思い込む
物事の表っ面しか見ない浅はかな人たちがスパゲティを作り出した

そうした人たちはアンチパターンと言われているんだからきっと悪いものだ
アンチパターンが使われてるからこれはダメなコードだとなんの疑いもなく
思い込んでしまうのだろうなと僕は思いましたよ

263 :仕様書無しさん:2023/06/03(土) 22:05:19.90 .net
自分で考えずにパターンに従おうとするのがダメ
自分で考えてパターンと同じ結論に至ったから適用するならわかるけどね
誰かがきっと考えたんだろう自分もそれに従っておこうなんて受け身の付和雷同的姿勢では
いつまでたってもスパゲティ製造工場の作業員レベルだよ、出世したとしても工場長だよ

もっとアグレッシブに自分が新しいパターンを見つけ出してやる他の人にはわからなかったことも
自分ならわかる、自分はいますべてを理解したナウシカだ、とそういう攻めの気持ちでいかないと
おいしいトマトでミートソース作ってこ

264 :仕様書無しさん:2023/06/03(土) 22:10:38.53 .net
オブジェクト指向によるスパゲティの良い例、スパゲティ屋さんになりたい人は手本にしたが良い
https://github.com/Hello-World-EE/Java-Hello-World-Enterprise-Edition

265 :仕様書無しさん:2023/06/03(土) 22:38:29.38 .net
マーチン・ファウラーという頭の禿げたエッチな顔したおっさんが
ドメインモデル貧血症はアンチパターンと言った
だからきっと正しいに違いないと思ってるに過ぎないよね
それってただ権威にすがってるだけだよね

マーチン・ファウラーの悪口を言ってやろうと思って
Wikipediaを読んでみたけど特に何も悪く言うようなところはなかったわ
マーチンはマーチンなりに頑張ってる僕は応援してる

90年代オブジェクト指向の可能性が未知で期待に満ち溢れていたころに
プログラマーとして仕事をして2000年にトートワークスでコンサルタントになったんだってすごいね

266 :仕様書無しさん:2023/06/03(土) 22:46:44.14 .net
二十数年前といえばXMLがもてはやされてこれからはXMLの時代だと言われたころでもあるなあ
工業では重厚長大なんて言い方があるけど、ITでは90年代のオブジェクト指向やXMLが重厚長大にあたるのかもしれない
関数型プログラミングやJSONは軽薄短小

267 :仕様書無しさん:2023/06/04(日) 01:44:46.60 .net
設定ファイルにマークアップ文書用のタグを使うとか考えたやつを呪い殺したい

268 :仕様書無しさん:2023/06/04(日) 02:30:39.85 .net
>>265
貴方は呆けてるので病院行ったほうがいいよ

269 :仕様書無しさん:2023/06/04(日) 02:52:06.01 .net
>>265
セッターとゲッターだけの無意味なクラスをオブジェクト指向と勘違いしている人がいるってだけの話なのによくそこまで妄想膨らませて俺に対して権威にすがってるとかいえたね
糖質か何かか?

270 :仕様書無しさん:2023/06/04(日) 10:38:21.62 .net
ドメイン貧血症はアンチパターン
アンチパターンを驀進中です

271 :仕様書無しさん:2023/06/04(日) 12:33:43.93 .net
>>269
セッターとゲッターだけの無意味なクラスをオブジェクト指向と勘違いしている人がいるってだけの話なのかよ、浅すぎるだろ、なめてんのか

272 :仕様書無しさん:2023/06/04(日) 12:44:06.41 .net
考えが浅いのが根本的な問題なんだよ
セッターゲッターだけのクラスがあるからダメなんだと思ってるわけだろ
それって結局はマーチン・ファウラーがドメインモデル貧血症はアンチパターンだと言った
ただそれだけを根拠にダメだと思い込んでるだけだよね
マーチンの威光にすがって盲目的に信奉してるだけだよね
オブジェクト指向を宗教化して自分が考えないことを正当化して安心してるだけだよ
多くの人がオブジェクト指向を崇めそして大失敗したことの原因が如実に表れている

273 :仕様書無しさん:2023/06/04(日) 12:56:23.72 .net
ドメインモデル貧血症は1990年代後半~2000年代前半にかけて流行った考え方だが
オブジェクト指向によるシステムの開発が増えるにつれてドメインモデル貧血症を避けることが
むしろオブジェクトの密結合を招き保守困難なオブジェクト指向迷路を作る原因となることが明らかになった

実際にはスリムなドメインモデルは柔軟で扱いやすく現実に即している
ドメインモデル軽量パターンと呼んでも良く現代では積極的に使うべきパターン

274 :仕様書無しさん:2023/06/04(日) 13:00:07.82 .net
ドメインモデル貧血症がアンチパターンだと思ってる人は
20年前の考え方をアップデートせずに現世をさまよってるゾンビ野郎だよ
もしくはスパゲティ工場の工場長だよ

275 :仕様書無しさん:2023/06/05(月) 01:10:34.79 .net
ドメイン層以外って完全に自動生成してくれてもよくね?
なんでいまだにプログラマが頑張って作ってるんだ

276 :仕様書無しさん:2023/06/06(火) 22:22:19.23 .net
Javaはどうでもいい設計思想にこだわるやつがいるから迷惑

277 :仕様書無しさん:2023/06/06(火) 23:09:06.59 .net
クラス継承依存症の人は
今どきの言語GoやRustなどの継承を排除して無くした言語でパニクるだろうな

278 :仕様書無しさん:2023/06/07(水) 14:24:39.96 .net
PHPのスパゲッティ具合には勝てんだろ

279 :仕様書無しさん:2023/06/11(日) 14:46:30.94 .net
>>271
文脈読めない無能

280 :仕様書無しさん:2024/02/16(金) 14:21:38.36 .net
単純に変数に入れるだけのセッターゲッターなんてアホみたいに作ってる化石みたいな奴まだいるのかな?

281 :仕様書無しさん:2024/03/29(金) 14:19:52.28 .net
すごいことしたな

282 :仕様書無しさん:2024/03/29(金) 14:21:12.17 .net
守備がガタガタやったし攻撃もサラーが覚醒終わってる

283 :仕様書無しさん:2024/03/29(金) 15:51:04.66 .net
この前レインボーが爆笑に「横転したらそらスタッフの無言の帰宅か…人生何が?
誰が一番身体検査しろよ
コロナ壺田どーすんのが

284 :仕様書無しさん:2024/03/29(金) 16:18:56.66 .net
ゾウより首長くして待ってるよ
ゲストにジャニーズとAKB系ばっかり呼ぶのやめーや
キャンプみたいな感じなんだ試験中じゃんびびって損した
トラネキサム酸が届いた

64 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver.24052200