
1: 仕様書無しさん 2026/05/20(水) 00:59:59.72
クラスを使わなくても、関数を使えば十分実用的なコードが書けるって
聞きましたが本当ですか?
聞きましたが本当ですか?
3: 仕様書無しさん 2026/05/20(水) 23:42:51.62
私は素人ですが、クラスを使った方が分かりやすいコードになると思います
4: 仕様書無しさん 2026/05/21(木) 02:12:52.66
私も専門外ですが、クラスという形で役割や責任を明確に分割できるのはいいことだと思います
振る舞いと状態をまとめられるのもいいですね
振る舞いと状態をまとめられるのもいいですね
5: 仕様書無しさん 2026/05/21(木) 06:56:01.85
クラスは害悪だから最近のプログラミング言語はクラスを持たない言語が多数派
10: 仕様書無しさん 2026/05/23(土) 14:33:09.60
>>5
「最近」世に出たものではないですが、
今もっとも使われているPythonとその次に使われているJavaScriptは
クラス機能が備わってますよね
「最近」世に出たものではないですが、
今もっとも使われているPythonとその次に使われているJavaScriptは
クラス機能が備わってますよね
11: 仕様書無しさん 2026/05/23(土) 19:59:40.37
>>10
だから失敗だと言われてる言語じゃん
だから失敗だと言われてる言語じゃん
12: 仕様書無しさん 2026/05/23(土) 23:46:44.19
>>11
PythonはともかくJSも失敗な言語なんですか?
PythonはともかくJSも失敗な言語なんですか?
6: 仕様書無しさん 2026/05/21(木) 18:35:14.84
純粋関数型言語が正義です
7: 仕様書無しさん 2026/05/22(金) 00:48:24.58
簡単なはずのことをひたすらややこしくしてたんな…
8: 仕様書無しさん 2026/05/22(金) 00:49:14.16
つまり変数ひとつしか返させないCこそがクソ
すべてのクソの元凶
すべてのクソの元凶
9: 仕様書無しさん 2026/05/23(土) 13:15:30.64
継承使った多層構造にすると何故か煙たがれる
13: 仕様書無しさん 2026/05/23(土) 23:48:39.14
オブジェクト指向わからないおじさんって界隈では駆逐されていなくなったと思ってた
14: 仕様書無しさん 2026/05/23(土) 23:53:15.63
ポリモーフィズムっての?
objs = [new Car(), new Plane()]
for (obj in objs) obj.start()
startメソッドを実装してたらCarもPlaneも同じように扱えるってやつ
なんでポリモーフィズムみたいなよくわからない名前つけちゃったの?
objs = [new Car(), new Plane()]
for (obj in objs) obj.start()
startメソッドを実装してたらCarもPlaneも同じように扱えるってやつ
なんでポリモーフィズムみたいなよくわからない名前つけちゃったの?
18: 仕様書無しさん 2026/05/24(日) 00:24:24.79
>>14
ポリモーフィズムは広い概念で日本語だと多相性や多態性あるいは単に多相
これはもちろんクラスとは関係なく様々な場面で現れる
例えば関数オーバーロードなどのアドホック多相やジェネリクスなどのパラメトリック多相はクラスやオブジェクト指向と関係なく存在している
クラス継承などはサブタイプ多相の一種
このようにポリモーフィズムは広い世界
ポリモーフィズムは広い概念で日本語だと多相性や多態性あるいは単に多相
これはもちろんクラスとは関係なく様々な場面で現れる
例えば関数オーバーロードなどのアドホック多相やジェネリクスなどのパラメトリック多相はクラスやオブジェクト指向と関係なく存在している
クラス継承などはサブタイプ多相の一種
このようにポリモーフィズムは広い世界
15: 仕様書無しさん 2026/05/23(土) 23:54:22.93
JSはほんま失敗
滅びないかな
滅びないかな
25: 仕様書無しさん 2026/05/24(日) 18:46:28.60
>>15
なんてこと言うんだ
なんてこと言うんだ
26: 仕様書無しさん 2026/05/24(日) 21:40:12.23
>>25
TSをそのまま実行できるようになってJSは消え去る
これが一番美しい未来と思うがどうか
TSをそのまま実行できるようになってJSは消え去る
これが一番美しい未来と思うがどうか
16: 仕様書無しさん 2026/05/23(土) 23:55:22.24
クラスとはクラス継承の機能を持つものを指す
それ以外の機能はクラス以外でも有しているため唯一の区別すら点になる
例えばインスタンスやカプセル化やポリモーフィズムなどはクラス以外も持つ一般的な概念と機能なのでクラス固有のものではない
唯一のクラス固有の概念と機能としてクラスの継承がある
そしてこのクラス継承が欠陥品
それ以外の機能はクラス以外でも有しているため唯一の区別すら点になる
例えばインスタンスやカプセル化やポリモーフィズムなどはクラス以外も持つ一般的な概念と機能なのでクラス固有のものではない
唯一のクラス固有の概念と機能としてクラスの継承がある
そしてこのクラス継承が欠陥品
20: 仕様書無しさん 2026/05/24(日) 01:33:21.22
ようするに別の型でも同じ関数名や同じメソッド名を使えることがポリモーフィズム
だからオブジェクト指向とは関係なくポリモーフィズムが使われている
だからオブジェクト指向とは関係なくポリモーフィズムが使われている
21: 仕様書無しさん 2026/05/24(日) 05:14:36.44
pythonなど何でもポリモーフィズムできるやん
pythonこそがオブジェクト指向言語だった?!
pythonこそがオブジェクト指向言語だった?!
22: 仕様書無しさん 2026/05/24(日) 05:26:01.22
>>21
おいおい
ポリモーフィズムとオブジェクト指向は無関係と書かれてるだろ
おいおい
ポリモーフィズムとオブジェクト指向は無関係と書かれてるだろ
24: 仕様書無しさん 2026/05/24(日) 17:58:57.89
ポリモーフィズムとかいうふわっとした言葉で抽象化される同名関数呼び出しかわいそう
28: 仕様書無しさん 2026/05/25(月) 03:06:21.34
クラス継承が害悪というのはもちろん正しいけど
正確には実装継承が害悪
そして実装継承の一つとしてクラス継承やプロトタイプ継承があってどちらも害悪
TypeScriptそしてその母体のJavaScriptはこのプロトタイプ継承で出来ている
だからクラスベースの言語と同じく問題を抱えている
正確には実装継承が害悪
そして実装継承の一つとしてクラス継承やプロトタイプ継承があってどちらも害悪
TypeScriptそしてその母体のJavaScriptはこのプロトタイプ継承で出来ている
だからクラスベースの言語と同じく問題を抱えている
30: 仕様書無しさん 2026/05/25(月) 06:06:49.56
クラス継承 ←オワコン
オブジェクト指向 ←今も重要
オブジェクト指向 ←今も重要
31: 仕様書無しさん 2026/05/25(月) 07:39:31.62
オブジェクト指向の神器
カプセル化
ポリモーフィズム
継承
さて、あと一つは?
カプセル化
ポリモーフィズム
継承
さて、あと一つは?
33: 仕様書無しさん 2026/05/25(月) 08:25:47.19
>>31
クラス継承は失敗作
みんなが認めている
クラス継承は失敗作
みんなが認めている
36: 仕様書無しさん 2026/05/25(月) 12:19:27.00
有名な『デザインパターン』の著者たちもクラス継承を問題視して代わりにインターフェース継承を支持しています
37: 仕様書無しさん 2026/05/25(月) 18:17:05.19
それってまさかGOFじゃないよね?
もう20年近く前だぞ
もう20年近く前だぞ
38: 仕様書無しさん 2026/05/25(月) 18:59:05.76
>>37
令和最新版はどうなってるの?
令和最新版はどうなってるの?
39: 仕様書無しさん 2026/05/25(月) 19:13:20.13
>>37
デザパタはGoFだろ
んで今は継承やめてコンポジションにしようよって言ってる
デザパタはGoFだろ
んで今は継承やめてコンポジションにしようよって言ってる
40: 仕様書無しさん 2026/05/25(月) 19:24:43.29
Javaの発明者ジェームズ・ゴズリングも今ではクラス継承の反対派
もしJavaを再設計するならクラス継承は含めないと断言している
もしJavaを再設計するならクラス継承は含めないと断言している
41: 仕様書無しさん 2026/05/25(月) 20:02:27.49
ラムダ式で大体できちゃうからね
42: 仕様書無しさん 2026/05/25(月) 20:32:16.47
一世代前なら普通にできてたことなのに
43: 仕様書無しさん 2026/05/25(月) 20:38:51.01
こういうコーディングが素晴らしいんだと押し付けたがった連中のせいで
簡単なことすら難しくなってしまった
簡単なことすら難しくなってしまった
44: 仕様書無しさん 2026/05/25(月) 20:53:46.92
最近のプログラミング言語
【クラス継承がない】Elixir、Go、Julia、Nim、Rust、Zig
【クラス継承がある】Kotlin(Javaの後継)、Swift(Objective-Cの後継)
つまり過去のしがらみでクラス継承を含めざるを得なかったKotlinとSwiftを除いて全ての言語にクラス継承はない
【クラス継承がない】Elixir、Go、Julia、Nim、Rust、Zig
【クラス継承がある】Kotlin(Javaの後継)、Swift(Objective-Cの後継)
つまり過去のしがらみでクラス継承を含めざるを得なかったKotlinとSwiftを除いて全ての言語にクラス継承はない
46: 仕様書無しさん 2026/05/25(月) 23:13:18.39
>>44
今はクラス自体が言語仕様に無いからね
一部にクラスという名前のものがあるけどそこに継承機能はなくて従来のクラスとは別もの
今はクラス自体が言語仕様に無いからね
一部にクラスという名前のものがあるけどそこに継承機能はなくて従来のクラスとは別もの
45: 仕様書無しさん 2026/05/25(月) 23:01:37.62
【悲報】スマホアプリ経験者しか理解してなかった
引用元: https://medaka.5ch.io/test/read.cgi/prog/1779206399/

Google検索に汎用型自作PCまとめをお気に入り情報源として追加いただけますと嬉しいです!

コメント
コメント一覧 (30)
世界で最も使われている失敗言語という感じ
初期設計失敗していて色々修正してたりするし
var非推奨にしてletを推奨してるのはそうかと
他の言語では見られない挙動として変数の巻き上げとかある
細かな仕様調べると癖強くてよく使ってると思うわ
使わないと行けないから使ってるだけで
使わない理由が出来たらどうなることやら
wavefanc
が
しました
wavefanc
が
しました
近年、継承はアンチパターンと扱われる事増えてるからそりゃね
議論の余地はあるので絶対駄目というわけじゃないけど
弊害が多いので多用は避けた方が無難かと
wavefanc
が
しました
古い書き方(クラス必須, mainから始まる)でも新しい書き方(main関数を書かない手続き型, 関数, ラムダ式)でもどちらでも書ける言語が今は一般的。python, typescript, C#等がこれに該当
wavefanc
が
しました
wavefanc
が
しました
wavefanc
が
しました
AIがコーディングするための最適解を求めるべき
wavefanc
が
しました
wavefanc
が
しました
完全無欠の完璧で究極のが完成せん限り同じようなこと言うの繰り返しそうw
wavefanc
が
しました
Visual C++とMFCを使うのが標準だった時代はあるけど
今はそれ以外の選択肢も豊富
wavefanc
が
しました
wavefanc
が
しました
wavefanc
が
しました
wavefanc
が
しました
なお、面倒だっただけで特に何も得るものが無かった
経験だけは得られた
wavefanc
が
しました
wavefanc
が
しました
あれといろいろなオーバーライドのし過ぎで、肝心のコードの可読性がアセンブラ並みに低下してる気がする…
wavefanc
が
しました
>私も専門外ですが
おまえらこういう奴らには気を付けろよ(震
wavefanc
が
しました
コイツが広めた数々の概念は、あるものは神であるものは害悪
wavefanc
が
しました
ん?関数の戻り値なら構造体使って返せばいいだけなのでは
wavefanc
が
しました
それを使って失敗するプログラマーが増える
失敗例が増えるとオワコン扱いになる
wavefanc
が
しました
wavefanc
が
しました
>クラス機能が備わってますよね
良くも悪くもオブジェクト指向言語の代表例としては
まず Java だと思うんだけどな
Web系なんかだとオブジェクト指向いらないんだろうけど
ネイティブアプリとかエンタープレイズ系ではまだまだ廃れないよ
wavefanc
が
しました
クラスにしなくてもモジュール範囲でやればまとまりはクラスと変わらん
wavefanc
が
しました
コメントする