前スレ
オブジェクト指向はオワコン?
https://mevius.5ch.io/test/read.cgi/tech/1721393540/
オブジェクト指向はオワコン? part2
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2026/08/13(木) 14:38:03.02ID:pdAcKRXu784デフォルトの名無しさん
2026/08/24(月) 02:07:42.66ID:PTJtZFr3 どうやら分かったぞ
変数extentはLispの方言らしい
他ではlifetime
だからISOやJISなど公式はlifetimeになってるとのこと
変数extentはLispの方言らしい
他ではlifetime
だからISOやJISなど公式はlifetimeになってるとのこと
785デフォルトの名無しさん
2026/08/24(月) 02:09:52.22ID:YY0Bkc3V C、C++、C# などの言語で、extent も life timeもしばしな使われる
しかしどっちが公式用語だと定義した公式文章は
目にしたことはない
それを知らない人が「extentと言わない」と言っているだけ
以上だ
しかしどっちが公式用語だと定義した公式文章は
目にしたことはない
それを知らない人が「extentと言わない」と言っているだけ
以上だ
786デフォルトの名無しさん
2026/08/24(月) 02:11:38.13ID:PTJtZFr3 >>785
既に公式ソースでlifetimeと示されてるのだからあきらめなされ
既に公式ソースでlifetimeと示されてるのだからあきらめなされ
787デフォルトの名無しさん
2026/08/24(月) 02:12:21.93ID:YY0Bkc3V 変数のextentはLispの方言か? - Google 検索
https://www.google.com/search?q=%E5%A4%89%E6%95%B0%E3%81%AEextent%E3%81%AFLisp%E3%81%AE%E6%96%B9%E8%A8%80%E3%81%8B%EF%BC%9F&hl=ja&source=hp
違います。変数のエクステント(extent)は、Lispの方言ではなく、プログラミング言語一般で使われる「変数の生存期間(メモリ上に存在し続ける時間)」を表す専門用語です。 [1, 2]
多くの場合、空間的な有効範囲である「スコープ(scope)」と対比して使われます。 [3, 4]
## スコープとエクステントの違い
* スコープ (Scope): 変数名がコード内のどこから見える(アクセスできる)かという空間的な範囲(有効範囲)
* エクステント (Extent): 変数がメモリ上で存在し続ける(値が保持される)時間的な長さ(生存期間/ライフタイム) [1, 2, 4, 5]
## 主なエクステントの種類
* 動的エクステント (Dynamic extent): その束縛を作ったフォームや関数を実行している期間だけ存在するもの
* 実質的無限エクステント (Indefinite extent): 関数を抜けた後も、データが参照され続ける限りメモリに残り続けるもの(クロージャなど) [5, 6, 7]
Lisp(特に[Common Lisp](https://ja.wikipedia.org/wiki/Common_Lisp)など)の仕様書(ANSI Common Lispなど)で「スコープとエクステント」が明確に定義されて詳細に解説されているため、Lisp特有の概念のように誤解されやすいですが、元々は計算機科学の一般的な用語です。 [5, 8]
より詳しく知りたい内容はありますか?
* Common Lispでの厳密な定義と解説
* 他の言語(CやPythonなど)での生存期間との比較
知りたいアプローチを選んで教えてください。
(リンク略)
https://www.google.com/search?q=%E5%A4%89%E6%95%B0%E3%81%AEextent%E3%81%AFLisp%E3%81%AE%E6%96%B9%E8%A8%80%E3%81%8B%EF%BC%9F&hl=ja&source=hp
違います。変数のエクステント(extent)は、Lispの方言ではなく、プログラミング言語一般で使われる「変数の生存期間(メモリ上に存在し続ける時間)」を表す専門用語です。 [1, 2]
多くの場合、空間的な有効範囲である「スコープ(scope)」と対比して使われます。 [3, 4]
## スコープとエクステントの違い
* スコープ (Scope): 変数名がコード内のどこから見える(アクセスできる)かという空間的な範囲(有効範囲)
* エクステント (Extent): 変数がメモリ上で存在し続ける(値が保持される)時間的な長さ(生存期間/ライフタイム) [1, 2, 4, 5]
## 主なエクステントの種類
* 動的エクステント (Dynamic extent): その束縛を作ったフォームや関数を実行している期間だけ存在するもの
* 実質的無限エクステント (Indefinite extent): 関数を抜けた後も、データが参照され続ける限りメモリに残り続けるもの(クロージャなど) [5, 6, 7]
Lisp(特に[Common Lisp](https://ja.wikipedia.org/wiki/Common_Lisp)など)の仕様書(ANSI Common Lispなど)で「スコープとエクステント」が明確に定義されて詳細に解説されているため、Lisp特有の概念のように誤解されやすいですが、元々は計算機科学の一般的な用語です。 [5, 8]
より詳しく知りたい内容はありますか?
* Common Lispでの厳密な定義と解説
* 他の言語(CやPythonなど)での生存期間との比較
知りたいアプローチを選んで教えてください。
(リンク略)
788デフォルトの名無しさん
2026/08/24(月) 02:13:29.60ID:YY0Bkc3V せめてさ、無知の知にくらい至れよ
そうじゃないとサル以下の知性だぞ
そうじゃないとサル以下の知性だぞ
789デフォルトの名無しさん
2026/08/24(月) 02:14:26.30ID:YY0Bkc3V 自分がサル以下の知性だと示すのに
何でこんなにレスを長引かせるかな
何でこんなにレスを長引かせるかな
790デフォルトの名無しさん
2026/08/24(月) 02:14:44.27ID:PTJtZFr3791デフォルトの名無しさん
2026/08/24(月) 02:17:51.26ID:44BTsNfK 少なくともC++で動的extentと言ったら配列などの要素数が実行時に決まること
std::dynamic_extentとして公式に定義されてます
std::dynamic_extentとして公式に定義されてます
792デフォルトの名無しさん
2026/08/24(月) 02:18:35.16ID:YY0Bkc3V793デフォルトの名無しさん
2026/08/24(月) 02:19:33.13ID:YY0Bkc3V >>791
あれは名前で誤解を受ける人が多いと今回思った
あれは名前で誤解を受ける人が多いと今回思った
794デフォルトの名無しさん
2026/08/24(月) 02:21:01.31ID:YY0Bkc3V 何であんな名前にしたんだろう
由緒を知らん
由緒を知らん
795デフォルトの名無しさん
2026/08/24(月) 02:21:38.07ID:KXRsacg9 CもC++も規格で決まっていてISO/IECとJISになってるよ
もちろん公式にlifetime
もちろん公式にlifetime
796デフォルトの名無しさん
2026/08/24(月) 02:25:25.15ID:caAmipCZ extentに生存期間の意味はないため
lifetimeが公式になってるようだな
lifetimeが公式になってるようだな
797デフォルトの名無しさん
2026/08/24(月) 02:32:03.86ID:YY0Bkc3V c++のそれらの企画書では時間的な長さ(生存期間)をlifetimeまたはstorage durationとよび
std::dynamic_extent は空間的なサイズ(要素数)に用いて使い分けているな
C言語の標準規格(ISO/IEC 9899)においては、配列のサイズを extent とは呼んでいないようだな
std::dynamic_extent は空間的なサイズ(要素数)に用いて使い分けているな
C言語の標準規格(ISO/IEC 9899)においては、配列のサイズを extent とは呼んでいないようだな
798デフォルトの名無しさん
2026/08/24(月) 02:32:52.68ID:YY0Bkc3V799デフォルトの名無しさん
2026/08/24(月) 02:34:08.35ID:RtsQfhBt800デフォルトの名無しさん
2026/08/24(月) 02:39:28.95ID:RtsQfhBt 英英辞典で調べてもextentに生存期間の意味はない
lengthやsizeの意味はある
だからC++のstd::dynamic_extentが配列などの長さやサイズの意味で用いてることは正しい
つまり動的extentは動的サイズ
lengthやsizeの意味はある
だからC++のstd::dynamic_extentが配列などの長さやサイズの意味で用いてることは正しい
つまり動的extentは動的サイズ
801デフォルトの名無しさん
2026/08/24(月) 02:41:42.77ID:YY0Bkc3V 英英辞典には載っていないだろうなw
802デフォルトの名無しさん
2026/08/24(月) 02:53:04.24ID:RtsQfhBt C/C++/C#の規格書はlifetimeなんだな
あとは規格や公式でextentを用いるプログラミング言語があるのかどうか
あとは規格や公式でextentを用いるプログラミング言語があるのかどうか
803デフォルトの名無しさん
2026/08/24(月) 02:59:57.04ID:RtsQfhBt Rustは規格書がないようだが公式でlifetimeと言ってるな
804デフォルトの名無しさん
2026/08/24(月) 03:12:48.44ID:YY0Bkc3V C++では、C++11以降の標準ライブラリや、C++20/C++23で追加された新しい機能において、
配列などの「(各次元の)要素数、あるいはデータの広がり(長さ)」を指す用語として extent という言葉を使っている。
とのことだ
なお、Cで配列などの空間サイズにextentというコトバを使うことはない
配列などの「(各次元の)要素数、あるいはデータの広がり(長さ)」を指す用語として extent という言葉を使っている。
とのことだ
なお、Cで配列などの空間サイズにextentというコトバを使うことはない
805デフォルトの名無しさん
2026/08/24(月) 03:27:00.00ID:BSEHZD2k なるほど
変数などの生存期間はlifetimeと呼んだほうが良いわけか
変数などの生存期間はlifetimeと呼んだほうが良いわけか
806デフォルトの名無しさん
2026/08/24(月) 03:29:17.82ID:YY0Bkc3V807デフォルトの名無しさん
2026/08/24(月) 03:34:14.48ID:YY0Bkc3V 時価だ空間だ書いているとまた場の理論のおじさんが
妄想を爆発させそうだなw
妄想を爆発させそうだなw
808デフォルトの名無しさん
2026/08/24(月) 03:48:54.71ID:BSEHZD2k >>806
使い分けはその通り
経緯は先にCの標準規格書としてlifetimeの用語が定まった
C++も同じく標準規格書としてlifetimeの用語が定まった
後にC++20の時にdynamic extentを動的なサイズの意味で配列などの要素数に用いた
std::dynamic_extent
使い分けはその通り
経緯は先にCの標準規格書としてlifetimeの用語が定まった
C++も同じく標準規格書としてlifetimeの用語が定まった
後にC++20の時にdynamic extentを動的なサイズの意味で配列などの要素数に用いた
std::dynamic_extent
809デフォルトの名無しさん
2026/08/24(月) 03:51:14.54ID:YY0Bkc3V >>808
サイズ面でextentをつかうよになったのは割と新しめのC++か
サイズ面でextentをつかうよになったのは割と新しめのC++か
810デフォルトの名無しさん
2026/08/24(月) 03:57:58.68ID:YY0Bkc3V 結局話の発端の
>659
>動的extentって何だ?
>例えばC++のdynamic_extentはオプション指向と関係ないように
>概念を話すときに特定の言語でのみ通用する用語は使わないでほしい
とは何だったのか。
>659
>動的extentって何だ?
>例えばC++のdynamic_extentはオプション指向と関係ないように
>概念を話すときに特定の言語でのみ通用する用語は使わないでほしい
とは何だったのか。
811デフォルトの名無しさん
2026/08/24(月) 04:00:23.52ID:YY0Bkc3V 相手する値打ちの無い輩だったということか…
812デフォルトの名無しさん
2026/08/24(月) 04:18:02.26ID:/7yyHiO5 なぜC++で空間サイズに関してextentが使われるようになったか大体分かった
--
C++の標準ライブラリでは、配列のサイズや広がりを表現するために extent(複数形は extents)という言葉が使われるようになりました。
* std::extent (C++11〜)
* 配列型の「指定した次元の要素数(サイズ)」をコンパイル時に取得するための機能です。
* 例えば int arr[3][5]; に対座して、std::extent_v<decltype(arr), 1> とすると、2次元目の広がりである 5 が取得できます。 [2, 3]
* std::span (C++20〜)
* 連続したメモリ(配列や std::vector など)を指し示す軽量な覗き窓(ビュー)です。
* このクラスのテンプレート引数やメンバ定数として、要素数を表す extent が定義されています。ここで要素数が実行時になるものを std::dynamic_extent と呼びます。 [4, 5]
* std::mdspan / std::extents (C++23〜)
* 多次元配列を扱うための機能です。
* C++23からは、多次元配列の「次元の数」を rank、「各次元の要素数(サイズ・広がり)」を extent と明確に呼び分け、それを管理する std::extents というクラスも登場しました。 [1, 6, 7]
## 2. なぜ size や length ではなく extent なのか?
C++において size() や length() は、コンテナにある「すべての要素の総数(合計カウント)」を返すものとして長年使われてきました。 [8]
しかし、多次元配列(例えば、縦3 × 横5 の行列)を扱うようになると、以下のような混乱が生じます。
* 「この行列の size は?」と言われたとき、全体の個数である 15 なのか、縦の長さ 3 なのか、横の長さ 5 なのか区別がつきにくい。
そのため、近代C++では以下のように言葉を使い分けるようになりました。
* rank(階数・次元数): 配列が「何次元」あるか(例: 2次元配列なら 2)。
* extent(境界・広がり): 各次元における「要素の長さ・サイズ」(例: 1次元目の extent は 3、2次元目の extent は 5)。
* size(総サイズ): すべての次元の extent を掛け合わせた「全要素の総数」(例: $3 \times 5 = 15$)。 [1, 6, 7]
## 結論
C++では、配列の「要素の数」や「各次元のサイズ」といった空間的な広がりを公式に extent と呼びます。 [1, 2]
--
C++の標準ライブラリでは、配列のサイズや広がりを表現するために extent(複数形は extents)という言葉が使われるようになりました。
* std::extent (C++11〜)
* 配列型の「指定した次元の要素数(サイズ)」をコンパイル時に取得するための機能です。
* 例えば int arr[3][5]; に対座して、std::extent_v<decltype(arr), 1> とすると、2次元目の広がりである 5 が取得できます。 [2, 3]
* std::span (C++20〜)
* 連続したメモリ(配列や std::vector など)を指し示す軽量な覗き窓(ビュー)です。
* このクラスのテンプレート引数やメンバ定数として、要素数を表す extent が定義されています。ここで要素数が実行時になるものを std::dynamic_extent と呼びます。 [4, 5]
* std::mdspan / std::extents (C++23〜)
* 多次元配列を扱うための機能です。
* C++23からは、多次元配列の「次元の数」を rank、「各次元の要素数(サイズ・広がり)」を extent と明確に呼び分け、それを管理する std::extents というクラスも登場しました。 [1, 6, 7]
## 2. なぜ size や length ではなく extent なのか?
C++において size() や length() は、コンテナにある「すべての要素の総数(合計カウント)」を返すものとして長年使われてきました。 [8]
しかし、多次元配列(例えば、縦3 × 横5 の行列)を扱うようになると、以下のような混乱が生じます。
* 「この行列の size は?」と言われたとき、全体の個数である 15 なのか、縦の長さ 3 なのか、横の長さ 5 なのか区別がつきにくい。
そのため、近代C++では以下のように言葉を使い分けるようになりました。
* rank(階数・次元数): 配列が「何次元」あるか(例: 2次元配列なら 2)。
* extent(境界・広がり): 各次元における「要素の長さ・サイズ」(例: 1次元目の extent は 3、2次元目の extent は 5)。
* size(総サイズ): すべての次元の extent を掛け合わせた「全要素の総数」(例: $3 \times 5 = 15$)。 [1, 6, 7]
## 結論
C++では、配列の「要素の数」や「各次元のサイズ」といった空間的な広がりを公式に extent と呼びます。 [1, 2]
813デフォルトの名無しさん
2026/08/24(月) 04:21:28.45ID:8dfHuOfg extentはLisp用語
空間的なscopeと対比することでextentを時間的な意味でLisp用語にした
本来のextentは時間的ではなく一般的な範囲を示す
Lisp用語としてのみextentが生存期間の意味で使われている
それがLisperによって広まった
一方でC/C++など他の言語から見ると
Lisp用語extentは相応しい用語に見えない
わかりやすいlifetimeが採用された
それでもLisp用語extentを使う人が一部残った
一方でC++はextentを本来の意味で使うことにした
std::dynamic_extentはその本来の意味に沿っている
空間的なscopeと対比することでextentを時間的な意味でLisp用語にした
本来のextentは時間的ではなく一般的な範囲を示す
Lisp用語としてのみextentが生存期間の意味で使われている
それがLisperによって広まった
一方でC/C++など他の言語から見ると
Lisp用語extentは相応しい用語に見えない
わかりやすいlifetimeが採用された
それでもLisp用語extentを使う人が一部残った
一方でC++はextentを本来の意味で使うことにした
std::dynamic_extentはその本来の意味に沿っている
814デフォルトの名無しさん
2026/08/24(月) 04:24:18.55ID:/7yyHiO5815デフォルトの名無しさん
2026/08/24(月) 04:25:13.82ID:/7yyHiO5816デフォルトの名無しさん
2026/08/24(月) 04:33:06.49ID:/7yyHiO5 そんな、必死で検索して探さなくていいよ
もう寝なよ
もう寝なよ
817デフォルトの名無しさん
2026/08/24(月) 06:26:02.29ID:CNRXA6iN >>744を使えばもめることも誤解されることもなくて平和だよん
818デフォルトの名無しさん
2026/08/24(月) 07:54:25.67ID:0OmhbSEr extentを時間的要素に用いるのはかなり一般的じゃ無いって事でOK
819デフォルトの名無しさん
2026/08/24(月) 08:32:51.10ID:m7Qyi1DS オブジェクト指向でプログラム書いてるけどエクステントの言葉は知らなかった
スコープから外れたオブジェクトはいずれGCされるとだけ思ってプログラム書いてるしそれで問題ない
エクステントを意識して書かれたプログラムは何かが良くなるとかそういうのは別にないんでしょ
プログラムの動作を説明するときに役立ちそうではあるけどね
スコープから外れたオブジェクトはいずれGCされるとだけ思ってプログラム書いてるしそれで問題ない
エクステントを意識して書かれたプログラムは何かが良くなるとかそういうのは別にないんでしょ
プログラムの動作を説明するときに役立ちそうではあるけどね
820デフォルトの名無しさん
2026/08/24(月) 08:41:35.36ID:0OmhbSEr821デフォルトの名無しさん
2026/08/24(月) 09:09:17.26ID:m7Qyi1DS マネージドヒープで管理できないものはあるからね
ネイティブメモリはローンパターンとかリソースモナドっぽいものを拵えて管理してるわ
ネイティブメモリはローンパターンとかリソースモナドっぽいものを拵えて管理してるわ
822デフォルトの名無しさん
2026/08/24(月) 09:09:45.80ID:++uoiV4H 誰も真のオブジェクト指向でプログラムできないからねぇ
それっぽい機能使ってるけどforループで回して手続き型プログラムやってる
関数や配列の強化版としてしか使えていない
それっぽい機能使ってるけどforループで回して手続き型プログラムやってる
関数や配列の強化版としてしか使えていない
823デフォルトの名無しさん
2026/08/24(月) 09:25:33.80ID:m7Qyi1DS >>822
誰もできないなら真のオブジェクト指向があると考えてる人がバカなんじゃないの? 違うの?
誰もできないなら真のオブジェクト指向があると考えてる人がバカなんじゃないの? 違うの?
824デフォルトの名無しさん
2026/08/24(月) 10:06:50.63ID:9H+y+Lt4 CのlifetimeとLispのextentとRustのlifetimeは
何かしらの生存期間/有効期間を表現しているという意味では同じだけど
肝心の「何かしら」の中身が違うので同じものとして取り扱わないほうがいい
何かしらの生存期間/有効期間を表現しているという意味では同じだけど
肝心の「何かしら」の中身が違うので同じものとして取り扱わないほうがいい
825デフォルトの名無しさん
2026/08/24(月) 10:45:45.63ID:W8icJp64826デフォルトの名無しさん
2026/08/24(月) 10:56:41.85ID:0OmhbSEr >>822
真のオブジェクト指向でプログラム出来ないとかw
道具を道具として使えない奴の言い訳にしか聞こえないなw
んなもん道具なんだから頭でウジウジ考えて真のオブジェクト指向目指すより
テキトーに道具として使った方が勝ちだ
真のオブジェクト指向でプログラム出来ないとかw
道具を道具として使えない奴の言い訳にしか聞こえないなw
んなもん道具なんだから頭でウジウジ考えて真のオブジェクト指向目指すより
テキトーに道具として使った方が勝ちだ
827デフォルトの名無しさん
2026/08/24(月) 11:22:03.68ID:++uoiV4H つまり用途がないんだよオブジェクト指向にはな
世の中の実業に求められてるのは手続き型プログラムってことよ
世の中の実業に求められてるのは手続き型プログラムってことよ
828デフォルトの名無しさん
2026/08/24(月) 11:30:53.67ID:0OmhbSEr 機能分割くらいに考えて使えればいいんだよ
グダグダ屁理屈並べてああでもないこうでもないで何日も時間潰しても
結局最後は設計が悪かったになるんだからw
グダグダ屁理屈並べてああでもないこうでもないで何日も時間潰しても
結局最後は設計が悪かったになるんだからw
829デフォルトの名無しさん
2026/08/24(月) 11:34:05.39ID:m7Qyi1DS 手続き型とオブジェクト指向は地続きなものだしなあ
手続き型でプログラム書いて必要になったときにオブジェクト指向でまとめるくらいでちょうど良い
手続き型でプログラム書いて必要になったときにオブジェクト指向でまとめるくらいでちょうど良い
830デフォルトの名無しさん
2026/08/24(月) 12:28:27.74ID:hVz7/hAx 手続きは地続き
831デフォルトの名無しさん
2026/08/24(月) 12:30:28.08ID:iOSk3pf4 データとそれを処理する関数をまとめたカプセル化は良いと思う。
細々したことをさらけださなくいいから。
C++ならテンプレートだな。まあ、会社では使用禁止だろうけど。
細々したことをさらけださなくいいから。
C++ならテンプレートだな。まあ、会社では使用禁止だろうけど。
832デフォルトの名無しさん
2026/08/24(月) 12:43:50.88ID:0OmhbSEr テンプレートやマクロって、公的に利用されてるもの以外は混乱の元なんだよね
833デフォルトの名無しさん
2026/08/24(月) 12:50:46.60ID:/rJQvH3P >>656
>クラス(カプセル化)、動的インスタンス(動的extent)、継承、多態といったもので
>プログラムを現すモデルとして実は適していなかったおそれがあると思う
これやっぱりCOBOLのような手続き型を想定した話だったのか
さすがおじいさん
>クラス(カプセル化)、動的インスタンス(動的extent)、継承、多態といったもので
>プログラムを現すモデルとして実は適していなかったおそれがあると思う
これやっぱりCOBOLのような手続き型を想定した話だったのか
さすがおじいさん
834デフォルトの名無しさん
2026/08/24(月) 12:54:25.98ID:ApDDNJ0D 東工大の大学院出てそうだなwww
835デフォルトの名無しさん
2026/08/24(月) 13:08:11.00ID:/7yyHiO5 なぜそう思った?
836デフォルトの名無しさん
2026/08/24(月) 15:41:30.92ID:NI+byBux この使い分けも難しい
ニブル (nibble)
テトラード (tetrade)
カルテット (quartet)
ニブル (nibble)
テトラード (tetrade)
カルテット (quartet)
837デフォルトの名無しさん
2026/08/24(月) 15:46:54.81ID:/TxIyeAu >>835
気分はstatic!だから
気分はstatic!だから
838デフォルトの名無しさん
2026/08/24(月) 16:08:32.29ID:FITgzI9F えらい勢いあるねこのすれωωω
839デフォルトの名無しさん
2026/08/24(月) 16:49:46.42ID:++uoiV4H 不毛なことって延々と続くからね
840デフォルトの名無しさん
2026/08/24(月) 18:18:43.72ID:0OmhbSEr スキー用具が冬季オリンピックの開催国で使われる名称になるみたいな差だからいいんだよw
841デフォルトの名無しさん
2026/08/24(月) 18:46:36.30ID:9P8EVJBT842デフォルトの名無しさん
2026/08/24(月) 19:06:41.35ID:oSCPHv4Q >>29
>>・extentが独立な状態変数は、どうしてもそうしなければならないもの以外、なるべく状態変数にしない
このextentが独立はlifetimeが独立の意味?
生存期間が独立って表現おかしくない?
生存期間が静的と言いたいのかな?
>>特にextentとscope。
>>C言語で明確化された、ネストしたシンプルで分かりやすく
>>そしてextentと対応付きやすいscopy
ネストしたと書かれているから
おそらく多段ブロックスコープの話っぽい
でもextentはscopeと対応しないから意味を持つよね
extentを敢えて出す意味は?
>>・extentが独立な状態変数は、どうしてもそうしなければならないもの以外、なるべく状態変数にしない
このextentが独立はlifetimeが独立の意味?
生存期間が独立って表現おかしくない?
生存期間が静的と言いたいのかな?
>>特にextentとscope。
>>C言語で明確化された、ネストしたシンプルで分かりやすく
>>そしてextentと対応付きやすいscopy
ネストしたと書かれているから
おそらく多段ブロックスコープの話っぽい
でもextentはscopeと対応しないから意味を持つよね
extentを敢えて出す意味は?
843デフォルトの名無しさん
2026/08/24(月) 20:30:04.38ID:SH8uZeIr 馬鹿しかいない
844デフォルトの名無しさん
2026/08/24(月) 22:28:44.89ID:/7yyHiO5 ほんとそう思った
845デフォルトの名無しさん
2026/08/24(月) 23:11:07.53ID:SAx4f3U/846デフォルトの名無しさん
2026/08/24(月) 23:12:21.80ID:SAx4f3U/847デフォルトの名無しさん
2026/08/24(月) 23:56:26.47ID:5ApQpNZr848デフォルトの名無しさん
2026/08/25(火) 03:53:26.26ID:Fbem61UJ staticおじさんは
staticおじいさんに進化しました
staticおじいさんに進化しました
849デフォルトの名無しさん
2026/08/25(火) 06:40:27.48ID:DTj/Nd7/850デフォルトの名無しさん
2026/08/25(火) 09:32:51.45ID:DTj/Nd7/ オブジェクト指向はその仕組みが元凶で悪というよりも
自由度が高かったり色々な(変な・凝った)書き方が出来てしまい
それを使う人間が上手く律し利点だけを引き出すような使い方が結局できない
思い込みと自己流で変な流用の仕方をしがちだった
使う人間側にも問題があったのではないかと最近では思う
それをそれを制限する仕組みをオブジェクト指向は備えていなかった
で、制限する言語が最近出て来た
自由度が高かったり色々な(変な・凝った)書き方が出来てしまい
それを使う人間が上手く律し利点だけを引き出すような使い方が結局できない
思い込みと自己流で変な流用の仕方をしがちだった
使う人間側にも問題があったのではないかと最近では思う
それをそれを制限する仕組みをオブジェクト指向は備えていなかった
で、制限する言語が最近出て来た
851デフォルトの名無しさん
2026/08/25(火) 10:13:57.96ID:oBSBF0sY オブジェクト指向言語自体は洗練されてるからねw
提供されてるライブラリのクラスメソッドの出来の良さよw
提供されてるライブラリのクラスメソッドの出来の良さよw
852デフォルトの名無しさん
2026/08/25(火) 10:26:10.59ID:6vdc+tuL853デフォルトの名無しさん
2026/08/25(火) 10:29:44.33ID:2JbrJHvg delay()を初心者に教えるとその先が壁になって
いつまでもシングルタスクのまま進歩しないのと同じだな
いつまでもシングルタスクのまま進歩しないのと同じだな
854デフォルトの名無しさん
2026/08/25(火) 10:51:57.55ID:kmT7Vw9O >>852
自分で調べろ
自分で調べろ
855デフォルトの名無しさん
2026/08/25(火) 10:58:49.00ID:V26zP6ij856デフォルトの名無しさん
2026/08/25(火) 11:01:52.62ID:kmT7Vw9O >>855
specって何? specが気になってぜんぜん頭に入ってこない
specって何? specが気になってぜんぜん頭に入ってこない
857デフォルトの名無しさん
2026/08/25(火) 11:04:09.41ID:dp5nuGuB satisfied_countってなんやねん!
858デフォルトの名無しさん
2026/08/25(火) 11:10:09.26ID:FPo7YXHj つか、なんでみんなダラダラ条件分岐書き連ねるの?
859デフォルトの名無しさん
2026/08/25(火) 11:18:37.93ID:kmT7Vw9O >>858
他に良いやり方あるんけ? おーん?
他に良いやり方あるんけ? おーん?
860デフォルトの名無しさん
2026/08/25(火) 11:19:36.83ID:oBSBF0sY まあ、バカがループ禁止にしたからかな?
861デフォルトの名無しさん
2026/08/25(火) 11:32:42.57ID:V26zP6ij とりあえず出力ができるものということで書いたので、粗があるのは許してちょ。specは、〜specの並びを見れば、意図するところは分かってもらえるかなと思ったんだけどね(>>593でも書いているし)。
woofルールがなければ述語関数を渡して判定させるという形で書けるのでまだ分かりやすかったと思うんだけど、今回は、woofルールもまとめて一本で書いたので正直分かりにくくなった面はあると思う。
ま、あくまでお試しで書いてみた例にすぎないので、その程度のものとして見てもらえれば。
woofルールがなければ述語関数を渡して判定させるという形で書けるのでまだ分かりやすかったと思うんだけど、今回は、woofルールもまとめて一本で書いたので正直分かりにくくなった面はあると思う。
ま、あくまでお試しで書いてみた例にすぎないので、その程度のものとして見てもらえれば。
862デフォルトの名無しさん
2026/08/25(火) 11:40:36.88ID:FPo7YXHj >>859
辞書作って判定回せばデータ変えるだけだぞ
辞書作って判定回せばデータ変えるだけだぞ
863デフォルトの名無しさん
2026/08/25(火) 11:47:07.75ID:kmT7Vw9O >>862
ほほんw それでやってみ、できないからw
ほほんw それでやってみ、できないからw
864デフォルトの名無しさん
2026/08/25(火) 11:47:53.08ID:kmT7Vw9O エアプが妄想でこうやれば良いと言っててウケるw
865デフォルトの名無しさん
2026/08/25(火) 11:52:07.39ID:FPo7YXHj866デフォルトの名無しさん
2026/08/25(火) 11:59:10.14ID:V26zP6ij867デフォルトの名無しさん
2026/08/25(火) 12:03:40.92ID:FPo7YXHj 最小公倍数で回せなくなったのかw
あと変換後のスペル順番が違う…と
スペル変換をもう一つ噛ませればいいだけじゃん
あと変換後のスペル順番が違う…と
スペル変換をもう一つ噛ませればいいだけじゃん
868デフォルトの名無しさん
2026/08/25(火) 12:06:57.49ID:FPo7YXHj いっその事、1万テーブルの変換表作って
ダイレクトに参照させた方がいいまであるなw
ダイレクトに参照させた方がいいまであるなw
869デフォルトの名無しさん
2026/08/25(火) 13:36:41.58ID:uW9aS2eb870デフォルトの名無しさん
2026/08/25(火) 13:55:36.08ID:kmT7Vw9O >>869
自分で作れ
自分で作れ
871デフォルトの名無しさん
2026/08/25(火) 14:08:10.89ID:V26zP6ij >>869
そう? 組み込みクラスのオブジェクトの便利なメソッドを使うというのも十分にオブジェクト指向だと思うけど。
そういうネジ・クギレベルのことを超えて、ユーザー定義クラスみたいなのを作って色々やるのがいいかどうかは設計時の考え方次第だと思うよ。今回は関数で十分だと思ったから関数にしただけの話で。
そう? 組み込みクラスのオブジェクトの便利なメソッドを使うというのも十分にオブジェクト指向だと思うけど。
そういうネジ・クギレベルのことを超えて、ユーザー定義クラスみたいなのを作って色々やるのがいいかどうかは設計時の考え方次第だと思うよ。今回は関数で十分だと思ったから関数にしただけの話で。
872デフォルトの名無しさん
2026/08/25(火) 15:02:38.17ID:59HjenUa873デフォルトの名無しさん
2026/08/25(火) 15:23:05.74ID:oT3TaD7S >>868
その変換表をどうやって作るつもりなんだよw
その変換表をどうやって作るつもりなんだよw
874デフォルトの名無しさん
2026/08/25(火) 15:34:02.59ID:FPo7YXHj875デフォルトの名無しさん
2026/08/25(火) 15:39:14.70ID:oT3TaD7S >>874
1万までの数字すべての期待結果がドキュメントに逐一書かれてるといいねw
1万までの数字すべての期待結果がドキュメントに逐一書かれてるといいねw
876デフォルトの名無しさん
2026/08/25(火) 15:45:57.28ID:V26zP6ij >>872
ユーザー定義関数もオブジェクトだし、words.appendとか、''.joinとかは普通にメソッド呼び出しだけど。forループやリスト内包では、内部的にiteratorオブジェクトのメソッド呼び出しがされているわけだし。
インスタンスの生成構文みたいなのがないとオブジェクト指向ではないという感覚なの?
ユーザー定義関数もオブジェクトだし、words.appendとか、''.joinとかは普通にメソッド呼び出しだけど。forループやリスト内包では、内部的にiteratorオブジェクトのメソッド呼び出しがされているわけだし。
インスタンスの生成構文みたいなのがないとオブジェクト指向ではないという感覚なの?
877デフォルトの名無しさん
2026/08/25(火) 15:47:28.12ID:FPo7YXHj878デフォルトの名無しさん
2026/08/25(火) 16:34:19.36ID:92tTKry8 >>877
自分のバカさ加減にようやく気付いたようで何よりですww
自分のバカさ加減にようやく気付いたようで何よりですww
879デフォルトの名無しさん
2026/08/25(火) 16:34:41.01ID:59HjenUa880デフォルトの名無しさん
2026/08/25(火) 16:50:03.91ID:kmT7Vw9O >>872
C言語に備わっていたらオブジェクト指向じゃないといつから錯覚していた?
C言語に備わっていたらオブジェクト指向じゃないといつから錯覚していた?
881デフォルトの名無しさん
2026/08/25(火) 16:53:27.38ID:kmT7Vw9O オブジェクト指向とはプログラムをわかりやすくする営みと知れ
882デフォルトの名無しさん
2026/08/25(火) 17:04:08.80ID:XljZ4S3B オブジェクトを作ってそこへメッセージを投げることで動いていく
そのためのメッセージ送受をコーディングしていく
それがオブジェクト指向プログラミング
>>866は今回の目的のためにオブジェクトすら作っていない
そのためのメッセージ送受をコーディングしていく
それがオブジェクト指向プログラミング
>>866は今回の目的のためにオブジェクトすら作っていない
883デフォルトの名無しさん
2026/08/25(火) 17:15:06.41ID:kmT7Vw9O■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【沖縄】米兵を強盗殺人容疑で緊急逮捕 那覇市のホテルでの女性遺体発見で [ぐれ★]
- 【アジア大会】サッカー表彰式でトラブル 優勝の韓国の国旗掲揚されず 韓国の旗だけ下がったまま国歌 応援団ブーイング 選手は困惑★2 [冬月記者★]
- 【フェラガモ】「13万円の高級ブランド靴」で記者会見に参加…自民・西村康稔氏に党内外から漂う“冷ややかな視線” [少考さん★]
- 「経済力ないってみじめ」 セックスレスから一転、夫の誘い拒めぬ妻 [蚤の市★]
- 米国産ジャガイモ解禁前倒し浮上 トランプ政権の圧力が背景 高市早苗首相に輸入解禁働きかけ [バイト歴50年★]
- 「女子枠で今年は華やかだね」と入学早々、大学幹部に言われてドン引き🏫東京科学大学の女子学生が心中を告白 [パンナ・コッタ★]
- 【NHK速報】那覇の女性殺害事件、アメリカ海兵隊員を逮捕 強盗殺人の疑い [689155963]
- 【高市悲報】おやびん、高市早苗がわざわざ手で示したのに日本国旗への敬礼を完全にスルー [165981677]
- 米当局、高市円安ホクホク発言に「...wtf(わっと・ざ・ふぁっく)」とメールしていたと判明😯 [163661708]
- ハゲがやってたら許せない行為
- トムクルーズ「死んだら遺産は全部孤児に寄付する。娘は散財しすぎで無理」 娘「毎週30万程度で!?」 [595118796]
- 【発達じゃなく自閉症】高市早苗「ベッセントが円高にしろって言ってきたのは暗号でもっと円安にしろって事よ!」 [784319933]