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
read.cgi ver.24052200