オブジェクト指向は愚かな考え。この世は計算式 ★2at TECH
オブジェクト指向は愚かな考え。この世は計算式 ★2 - 暇つぶし2ch686:デフォルトの名無しさん
15/12/25 07:27:52.90 OJPyRqtL.net
>>673
煽るのが目的だからこれでいいw

687:デフォルトの名無しさん
15/12/25 07:34:07.95 IvmyX9uA.net
>ありとあらゆる将来の変更に対応できるんだが?
って大見得切ったわりにはお粗末だったな。インスタンスは作り直しだがとか苦しい言い訳しつつも
クラス名の付け替えくらいは出してくるかと予想したが、まったく無しでコピペ返しとはね。

688:デフォルトの名無しさん
15/12/25 07:41:03.64 OJPyRqtL.net
何がお粗末なのか?事実を言ったまで。
ソースコードを修正で、ありとあらゆる将来の変更に対応できる。

689:デフォルトの名無しさん
15/12/25 07:41:38.82 OJPyRqtL.net
> クラス名の付け替え
それもソースコード修正で可能。
アクロバット(笑)をするのが
目的じゃないんだよw

690:デフォルトの名無しさん
15/12/25 08:33:49.83 b/ORJMNc.net
すまん、状況に応じて静的動的使い分けられない雑魚おる?
どっちかに固執するアスペみたいな奴おるな

691:デフォルトの名無しさん
15/12/25 08:36:13.65 hK6V4eA3.net
ITproでstaticおじさんがまた弄られている
もう数年前だというのに、赦されるときは来るのか

692:デフォルトの名無しさん
15/12/25 09:09:22.55 0wm6/WOA.net
>>666 Squeak Smalltalk で。
x := Object new.
"foo で #bar を返すように動的に変更"
x assureUniClass class compile: 'foo ^#bar'.
x foo. "=> #bar "
y := Object new. z := Object new.
"インスタンス変数、アクセッサーを動的に追加"
y assureUniClass class addInstVarName: 'baz'.
z assureUniClass class addInstVarName: 'qux'.
(Browser new setClass: y class selector: nil) createInstVarAccessors.
(Browser new setClass: z class selector: nil) createInstVarAccessors.
y baz: x. z qux: x.
y baz == x. "=> true "
z qux == x. "=> true "
y baz quux. "(デバッガでの動的メソッド追加作業は割愛。そのまま続行) => #quuux "
"クラスの動的な名称変更。変更後もインスタンスは維持"
{x. #X. y. #Y. z. #Z} pairsDo: [:inst :className | inst class rename: className].
{x. y. z} collect: #class. "=> {X . Y . Z} "
{x. y. z} collect: #identityHash. "=> #(3012 2588 1285) "
"永続化"
SmalltalkImage current snapshot: true andQuit: true.
"再起動後もアイデンティティ等維持"
{x. y. z} collect: #identityHash. "=> #(3012 2588 1285) "

693:デフォルトの名無しさん
15/12/25 09:13:40.79 OJPyRqtL.net
なぜそれを、デバッガを起動したまま
変更しないといけないのか?という問題が有るよな。
まずそこだよ。論点はw

694:デフォルトの名無しさん
15/12/25 09:40:26.84 b/ORJMNc.net
>>679
オブジェクト志向は愚かな考えというスレタイによくあった、今よりはいい話題を提供してくれるいい記事だ

695:デフォルトの名無しさん
15/12/25 10:24:18.27 IvmyX9uA.net
>>681
静的型付けでは「そのようにコードを修正して完了」なんだろ?
いいじゃん、それで。なぜわざわざ蒸し返す?

696:デフォルトの名無しさん
15/12/25 11:15:03.59 OJPyRqtL.net
>>683
そうなんだよね。手段と目的、デバッガを起動したままっていうのは手段であって
目的じゃない。目的はコードを修正することで、
静的型付けでもできることなんだよね。

697:デフォルトの名無しさん
15/12/25 11:22:07.51 zlW/tpNm.net
手段とか目的とか立場で変わることを言ってもしょうがないじゃんか

698:デフォルトの名無しさん
15/12/25 11:25:41.39 JtKLD9Wt.net
ルビーで開発してる人が言ってたけど型エラーが投げられた事は一度もみたことないって言ってた。

699:デフォルトの名無しさん
15/12/25 11:26:33.01 OJPyRqtL.net
じゃあ俺は言語を使ってアプリやシステムを作る人の立場で言うわw
最近ではシステムは停止することを前提として、クラウドで
多数のマシンを使って切り替えながらシステムを動作させるのが主流だからね。
一箇所を変えれば、修正が終わりって時代じゃなくなってる。
常に実行しながら行うのは技術的に面白いってだけで実用性は無い。

700:デフォルトの名無しさん
15/12/25 11:28:09.42 OJPyRqtL.net
>>686
話しよく聞いてみ。
"型エラー"が投げられたことがないと言ってるだけで
"エラー"が投げられたことがないとは言ってないから。
別の名前のエラーが投げられているが、
それは型エラーではないという屁理屈だよ。

701:デフォルトの名無しさん
15/12/25 11:33:07.93 IvmyX9uA.net
>>687
それでいいんじゃない?
キミの住む静的な閉じた幸せな世界ことで、これ以上何を議論する必要があるだろうか。いや無い。

702:デフォルトの名無しさん
15/12/25 11:35:15.65 OJPyRqtL.net
>>689
あぁ、同じことが動的にも言えるね(笑)
動的の閉じた世界であーだこーだ言ってればいいんじゃないw
どうせ、言語を使ってアプリやシステムを作らない人の
オナニーでしょ?w

703:デフォルトの名無しさん
15/12/25 11:39:46.06 JtKLD9Wt.net
ルビーの場合はコードの構造が型エラーを許さないようにできているから型エラーは起きないらしいね。

704:デフォルトの名無しさん
15/12/25 11:43:08.18 OJPyRqtL.net
ちなみに、どのような構造だから型エラーを許さないかを
詳細に語って見せてというと・・・?
言えないんだな、これがw

705:デフォルトの名無しさん
15/12/25 11:48:11.81 IvmyX9uA.net
静的型付きでは普通やらないことは全部アクロバット
そういうことやるやつは皆、アプリやシステムなんか作ってない奴
って妄想もすごいな

706:デフォルトの名無しさん
15/12/25 11:49:13.31 JtKLD9Wt.net
現実でよく使われてる言語の静的型付けはセキュリティーの助けになってないんだって。

707:デフォルトの名無しさん
15/12/25 11:51:54.57 JtKLD9Wt.net
型安全の安全は幻想であって、ルビーの型付けは安全かつ生産性が高いんだって。

708:デフォルトの名無しさん
15/12/25 11:52:57.87 OJPyRqtL.net
そりゃセキュリティのためじゃないしw
こういう「静的言語は○○が目的なんだ」←動的厨勘違い
でも「静的言語は○○の役に立たないんだ!」
という、自分で間違ったことを言って、それは間違いだって
指摘するマッチポンプやめてくれないかね?w

709:デフォルトの名無しさん
15/12/25 11:57:12.88 IvmyX9uA.net
君はいったい何と戦っているんだい?
世のなか馬鹿ばっかりで、さぞや大変だろうね。そんなに頑張らなくてもいいんだよ。

710:デフォルトの名無しさん
15/12/25 11:58:07.60 OJPyRqtL.net
戦うというよりかあしらってるって感じだけどなw

711:デフォルトの名無しさん
15/12/25 11:59:19.48 JtKLD9Wt.net
誰もが初めは動的型付けなんて使ったら滅茶苦茶になるって思ってルービーを使ってみると誰もがその自由度に驚きその恐れは間違いだったことに気が付くんだって。

712:デフォルトの名無しさん
15/12/25 12:03:49.35 OJPyRqtL.net
> 誰もがその自由度に
さっきも、それは具体的にどういうことって聞いたけど、
見事に答えなかったでしょ?
また今回も答えないよ。その自由度を。
あ、手段と目的を履き違えないでねw
それを使って、何に役立てられるかを答えるように。

713:ネットワークエンジニア(プロ)です
15/12/25 12:30:08.52 0vV5tzYe.net
ruby?
ああ、twitterが誤りに気づいて捨てられたやつか

714:デフォルトの名無しさん
15/12/25 13:13:35.65 peTf9jy5.net
>>691
タイポとかで存在しないメソッドを呼んだときに静的型では型エラーになって、動的型では別のエラーになるということでしょ?

715:デフォルトの名無しさん
15/12/25 13:33:40.28 H65SAupI.net
>>702
そもそもね。型安全ではないっていうのはC/C++のことを差すんだよ。
C/C++は型はあるけど、型キャストによってどんな不正な型にも変更できる。
そのようなコードを書いた場合、Segmentation faultが発生する。
もしくはメモリ内容によって未定義な変な動作をする。
Segmentation faultが発生し、通常はOSによって不正な動作を
食い止められる。このような自体になることが型安全じゃないってこと。
C#やJavaは不正な型に変更しようとしたら例外が発生する。
これは型安全。
だから4パターンあるんだよ。
1. 静的型:コンパイル時に型チェックが行われるが、型安全ではない。 C/C++など
2. 静的型:コンパイル時に型チェックが行われ、型安全。 Java、C#など
3. 動的型:コンパイル時に型チェックが行われず、型安全
4. 動的型?:コンパイル時に型チェックが行われず、型安全でない。(流石にこんなめちゃくちゃなのは作らないだろう)
静的型の1のパターンは、コンパイル時の型チェックにより、殆どの場合は安全に動作するが
壊そうと思えば壊せてしまう。それができないのが静的型の2のパターン
動的型は型安全にするしかないから型安全。静的型には型安全じゃないものが存在する。
動的厨はそれを利用して型安全じゃない静的型を叩いているだけ。
型安全な静的型の存在を意図的に無視してね。
型安全かつコンパイル時に型チェックが行われる言語は、型安全なのはもとより、
コンパイル時に型チェックが行われるから、実行時に例外(バグ)が発生する可能性も大きく減る。
つまり2のパターンの静的型が一番信頼性が高いソフトウェアを作れるってわけ。

716:デフォルトの名無しさん
15/12/25 13:39:12.58 b/ORJMNc.net
でも動的厨が叩いてるのC#じゃないっけ?

717:デフォルトの名無しさん
15/12/25 13:41:17.94 W214cjQ2.net
「static-typeおじさん」はなぜ自信満々なのか…

718:デフォルトの名無しさん
15/12/25 13:42:41.49 H65SAupI.net
>>704
それは連想ゲームで叩いてるんだよw
動的型は型安全 → 静的型は型安全じゃない → 静的型のC/C++は型安全じゃない
→ 静的型は型安全じゃない → C#は静的型 → 静的型は型安全じゃない
こんな感じでねw

719:デフォルトの名無しさん
15/12/25 15:31:05.22 JtKLD9Wt.net
これは針の上の天使問題の一つにだな。

720:デフォルトの名無しさん
15/12/25 20:26:11.52 P+AWGo7j.net
>>648で終わったら性的おじさんが
「終わりじゃねぇ!」って発狂した流れ

721:デフォルトの名無しさん
15/12/25 20:32:11.38 RqZZBlSb.net
Swiftのような本当の意味で型安全な言語って他にある?

722:デフォルトの名無しさん
15/12/25 21:04:06.54 VdtrNDQn.net
static-typeおじさんとかいう頭悪そうなレッテル貼りすこ

723:デフォルトの名無しさん
15/12/25 21:17:46.87 XvkCqMEu.net
っても最近の動的型はどんどん静的型の機能を取り入れている現実が有るわけだから
レッテル貼りしようにも、自分たちにも降りかかってくるんじゃないかね

724:デフォルトの名無しさん
15/12/25 21:19:31.49 JtKLD9Wt.net
型はカリーハワード対応で証明が出来るから安全なんだけど、C++とかはそういうことできないからな。

725:デフォルトの名無しさん
15/12/25 21:23:41.52 pExGh+/O.net
馬っ鹿野郎カーリーハワード対応なんてやりだしたら型推論もできなくなるじゃねえか。
まだ証明駆動開発に手を出すのは早いというか、現実とのすり合わせが欲しいところ。

726:デフォルトの名無しさん
15/12/25 22:45:11.43 cOtvUzth.net
気分はstatic-type!: 何度聞いても動的のメリットってピンとこないんです!

727:デフォルトの名無しさん
15/12/25 23:05:46.54 ya9ISuTA.net
極端な話、Cでシングルプロセッサの組み込み機材用の
小さなプログラム組んでる現場しか知らないプログラマが
C++もObjective-Cも"自分には必要のない機能"だから
関数で十分だろ!って言い張ってんのといっしょだからな。

728:デフォルトの名無しさん
15/12/25 23:07:42.36 H65SAupI.net
なら必要な理由を言うべきでは?w

729:デフォルトの名無しさん
15/12/25 23:14:42.64 VdtrNDQn.net
動的のメリットがピンとこないやつはそうそういないだろ
それ以上に静的のメリットが目立ってきただけで

730:デフォルトの名無しさん
15/12/25 23:19:44.67 NwxuBGdr.net
まだやってたのかい
おおいぬ座VY星の大きさにくらべたら
そんなちっぽけな事なんてどうでもいい話だぞ。

731:デフォルトの名無しさん
15/12/25 23:20:18.82 RqZZBlSb.net
今から5年後10年後を考えるともうプログラミング言語はSwift以外は必要ないんじゃない?

732:デフォルトの名無しさん
15/12/25 23:24:54.08 Zq2DCqaM.net
>>719
ふぞけんな
ガベージコレクション実装してくれたら考える
循環参照うざすぎ

733:デフォルトの名無しさん
15/12/25 23:30:22.04 O7yo+mtd.net
>>715
井の中の蛙に大海原でのサバイバルに必要な知恵を説いたところで、
「技術的に面白いってだけで実用性は無い」って一蹴されるのがオチ。
時間の無駄だと気付よ。www
そのカエルが想像力を欠いた思い込みの激しい自信たっぷりの頭の固いオッサンだったらなおさら。

734:デフォルトの名無しさん
15/12/25 23:39:55.58 H65SAupI.net
まず説明するべきだろうw

735:デフォルトの名無しさん
15/12/25 23:43:21.09 fIh1CtOA.net
このLISPロートルもC#を使ってりゃ
200行程度のコードのデバグ()に40時間も無駄にせんでも済んだのにな!
URLリンク(cybozushiki.cybozu.co.jp)

736:デフォルトの名無しさん
15/12/25 23:45:19.82 RqZZBlSb.net
>>720
メモリ管理もできない雑魚プログラマにとってGCは生命線なんだろうけど、
あらゆる環境で動作する、これからのIoT時代を考えると、
プログラマの意図しないところで勝手に動作するGCを言語仕様に組み込まなかったのはSwiftの数多くの英断のうちのひとつ

737:デフォルトの名無しさん
15/12/25 23:59:15.15 ZRRrPEfi.net
>>723
おもしろい!

738:デフォルトの名無しさん
15/12/26 00:05:35.63 X/dp4KOm.net
>>720
pythonみたいに参照カウントをベースに循環参照も破棄できるようになればいいのにね!

739:デフォルトの名無しさん
15/12/26 00:08:12.89 ZXEkf1l0.net
SwiftもまずはWinとLinuxでしっかり動くようにしないと言語仕様に関係なくお話にならない
.NETは今必死に他環境に移植してるけど、結果がどうなるか

740:デフォルトの名無しさん
15/12/26 00:12:29.18 AIAsWwFm.net
Windowsは既にプラットフォームとして終わっているから問題ない
OSXは誰もが最新を使っているが、Win10入れてるやつがどれだけいる?

741:デフォルトの名無しさん
15/12/26 00:22:19.00 h8/CI80S.net
>>724
> メモリ管理もできない雑魚プログラマにとってGCは生命線なんだろうけど、
体育会系かな?
やらなくてもいいことを頑張っても
評価されないよw

742:デフォルトの名無しさん
15/12/26 00:25:35.01 AIAsWwFm.net
>>729
Swiftには明示的なメモリ管理は必要ないよ
頭の中にマシンを思い描けば、あとは勝手にSwiftがメモリを管理してくれる
イマジンからバイトコードを作る、これまでのプログラミング言語と一次元違う生産性を与えてくれる言語だね
循環参照に困ってるようなプログラマは、結局マシンと繋がってない2流なんだよ
何の言語やってもゴミだと思うよ

743:デフォルトの名無しさん
15/12/26 00:27:11.73 h8/CI80S.net
>>730
あんまりおもしろくないかな。

744:デフォルトの名無しさん
15/12/26 00:29:13.18 ZXEkf1l0.net
>>728
少し調べるとMacでも最新は半分とかいうデータもあるが・・・
少し古くなると無言でアップデートが降ってこなくなるのはどうにかしろよ

745:デフォルトの名無しさん
15/12/26 02:08:48.33 fgdYsfOp.net
>>731
なんか露骨にシャドーボクサーが敵だと思う相手のモノマネ始めた…って感じだよなぁw

746:uy ◆Qawu9.2l1E
15/12/26 05:47:09.22 FnXDSeGk.net
アスペしかいないなこのスレ

747:デフォルトの名無しさん
15/12/26 09:17:49.02 Pbxj7UC/.net
静的動的のメリットデメリットの項目を挙げていくと
静的型付けが大差をつけて勝ってると思うのに、
自分で実際に開発すると動的型言語を使ったときのほうが
明らかに生産性が高いのが腑に落ちない
あ、ちなみに静的動的両方使ってます日常的に

748:デフォルトの名無しさん
15/12/26 09:53:04.49 btZXIc4v.net
>>700
「このC#erは、動的機能なんか仕事じゃ使わない。 あれは曲芸のためのもんだと決めつける。
それにLispとかSmalltalkみたいな極端な動的言語でアプリやシステムをきちんと動かしたことがあるって実例を知らないよ。
そもそも、動的言語にはC#にある型チェックや完璧なインテリセンスが理論上作れないもんな。
「このC#erが動的言語を見くだしている時、もちろん彼にはそうしているという自覚がある。
C#よりも型付けの弱い言語は、 明らかに力が弱い。彼が慣れ親しんだ安全性・利便性がないからだ。
しかし、このC#erは反対の立場から見られるとき、彼は自分が見下されているのだということには気付かない。
彼が耳にするのは、自分には無用な変てこりんな機能や使い方ばかり。
どうやらそれらをC#で出来ることと引き換えにできるくらいパワフルと勘違いする馬鹿もいるようだが、
やつらは目的と手段をはき違えている。真摯に耳を傾けようにも俺の現場では有り得ない想定が出てくるばかり、
と思うだろう。
「彼にとってはC#で十分なのだ。何故なら彼にとってC#で十分な仕事がすべてだから。

749:デフォルトの名無しさん
15/12/26 09:58:56.71 NGJJ2lD8.net
静的型付けは処理系のための技術。ベンチマークやエラー検出などカタログスペック的なメリットを挙げやすい。
動的型付けはプログラマのための技術。良さが工学的な指標に直接現れにくい。
だから>>735は至極自然なこと。
matzがよく言う「書いていて気持ちいい言語」もそういうこと。

750:デフォルトの名無しさん
15/12/26 10:16:26.79 h8/CI80S.net
>>736
> このC#erは、動的機能なんか仕事じゃ使わない。 あれは曲芸のためのもんだと決めつける。
決めつけてるんじゃないよ。
お前が曲芸の話しかしないからだろう?
停止して修正しても同じことができる。
停止しないで修正する。以外のことは何一つ言ってない。

751:デフォルトの名無しさん
15/12/26 10:17:43.34 h8/CI80S.net
>>737
> 静的型付けは処理系のための技術。ベンチマークやエラー検出などカタログスペック的なメリットを挙げやすい。
客観的にメリットをあげられる。
> 動的型付けはプログラマのための技術。良さが工学的な指標に直接現れにくい。
主観による好みしか無い

なるほどねぇw

752:デフォルトの名無しさん
15/12/26 10:18:26.61 EXUTS9i+.net
Swiftってそんなにすごいのか
フォートランぶち転がせるかな

753:デフォルトの名無しさん
15/12/26 10:43:34.57 CL7rBGr9.net
>>717
残念ながら多いみたいだよ。
>>739
指標化しずらくても大事な事はあるって言う当たり前のことからまずは目を向けようか。

754:デフォルトの名無しさん
15/12/26 10:47:22.39 KNyipM+p.net
このスレのstatic-typeおじさんはプログラム書いたこと無さそうな感じするわ
webの記事だけ読んでカタログスペック語っちゃってるってことか

755:デフォルトの名無しさん
15/12/26 11:33:23.04 h8/CI80S.net
>>741
まず「大事なことはあるんだ!(完)」じゃなくて
説明することから始めような?

756:デフォルトの名無しさん
15/12/26 14:00:14.24 JNqWY34w.net
説明してもらえる態度から始めような。おっさん。

757:デフォルトの名無しさん
15/12/26 14:17:21.38 lwOCx2j3.net
メリット、デメリットと言っても、チューリング完全ならどの言語を使ったって同じだからなぁ
ラーメンタイマーを作るのに態々コンパイラを引っ張り出してくるなんて馬鹿らしい事をするのか?
EXCELのデータを加工するのに、C#使って加工するのか?

758:デフォルトの名無しさん
15/12/26 14:44:09.10 NGJJ2lD8.net
>>738
>停止して修正しても同じことができる。
停止したらできないことは多い。君がそのどれにも気付いていないだけ。
気付かないのは、それだけ経験が浅いということ。
君は素人だから仕方ない。だから責めはしない。
しかし自分の無知は自覚しておきなさい。

759:デフォルトの名無しさん
15/12/26 15:16:22.31 cLEQ3vA1.net
経験が~ってこれ
言い出すほうがザコっぽいよねいつもw

760:デフォルトの名無しさん
15/12/26 15:19:49.45 h8/CI80S.net
> 停止したらできないことは多い。君がそのどれにも気付いていないだけ。
いっつもこればっかりだよなw
具体的な説明はしない(できない)
説明しないくせに、理解できないのは他人のせいw

761:デフォルトの名無しさん
15/12/26 15:21:01.87 MxaSLHJT.net
例えば、乱択アルゴリズムでのコーナーケースのデバッグは、
修正後の動作確認するには元の実行状態を完全に復元しないと無理だわな。

762:デフォルトの名無しさん
15/12/26 15:27:36.14 MxaSLHJT.net
自分の管理下にないサーバとのチャレンジ/レスポンスでのデバッグも
一旦プログラムを実行中断してしまうとサーバ側が同じチャレンジをしてくれないな。
他にも、実行状態を中断せずに修正して動作確認したいケースは多々ある。
1つも挙げられない人って、プログラマとしてどうなんだろうね?

763:デフォルトの名無しさん
15/12/26 15:28:32.73 h8/CI80S.net
>>749
元の実行状態を完全に復元したら、
次の乱数の値は同じものが出現するってこと?
それでデバッグできるってことは、そういうことなんだろうね。
乱数の値が、前の状態によって決まるのであれば、
一番最初の状態を一つ定義するだけで、同じ状態が復元できるのでは?w

764:デフォルトの名無しさん
15/12/26 15:30:11.50 h8/CI80S.net
>>750
> 自分の管理下にないサーバとのチャレンジ/レスポンスでのデバッグも
> 一旦プログラムを実行中断してしまうとサーバ側が同じチャレンジをしてくれないな。
では、動的言語にすると、サーバー側は同じチャレンジをしてくれる、というのかね?

765:デフォルトの名無しさん
15/12/26 16:08:40.09 sP1JXdgY.net
職業プログラマが出てこないでよ。
仕事の話しないでよ。

766:デフォルトの名無しさん
15/12/26 16:11:36.35 7h5tLOzP.net
だめだこのおっさん。自分の思考が停止してることにぜんぜん気付いてない。www

767:デフォルトの名無しさん
15/12/26 16:16:43.64 h8/CI80S.net
「私はこういう意見がある!(ドンッ)」
ほう、言ってみ?
「自分で考えろ!(ドンッ)」
だめだこりゃwwww

768:デフォルトの名無しさん
15/12/26 17:01:59.36 7h5tLOzP.net
緩募
Aという状況に対処することの必要性を
Aという状況を想定できないおっさんに説明する方法
Bという方法で対処できる事態においてBが有効であるということを
Bを無意識に選択肢から排除して疑問を持たないおっさんに説明する方法
あるいは
端から話を聞く気がないわりにこまめに絡んでくる痛いアスペのおっさんに退場いただく方法

769:デフォルトの名無しさん
15/12/26 17:13:02.19 vJHNtaLI.net

スレタイ嫁
(ここは静的型付の優位性を論じるスレではない)

770:デフォルトの名無しさん
15/12/26 17:20:46.23 gCn4MbmU.net
>>757
クソがクソ溜めでクソな話して楽しんでるのに横槍いれんじゃねえ
帰れアスペ野郎

771:デフォルトの名無しさん
15/12/26 18:20:09.09 lipwm7l1.net
>>749-750それができるのは動的型付けだからか?perlでもphpでもできるのか?CommonLispとSmalltalkはできるけど。
CommonLispで>>749-750ができるのはデバッガが充実してるからで、オブジェクト指向は関係無いな。

772:デフォルトの名無しさん
15/12/26 18:40:19.19 AIAsWwFm.net
今の職業プログラマは10年したら「プログラミングネイティブ」世代に置いてけぼりにされるのにね
今でも、できる中年プログラマはマイコンやMSXでBASICとかやってた人なんだろうとは思うんだけど、
かつては金持ちの道楽だったプログラミングが次世代からはいっきに敷居が下がる
「仕事では使えない言語」という評価は、「その言語を使えるレベルの高い人がいない」という人月による奴隷労働の生む現象だけど、
5年もしたら奴隷階級でも、"流行の言語を10代から遊び感覚で使ってきた"、プログラミングネイティブ世代に置き換わる

773:デフォルトの名無しさん
15/12/26 18:55:24.91 h8/CI80S.net
>>759
良い指摘だねw
そう。それはデバッガの機能
URLリンク(msdn.microsoft.com)
> 次に実行されるステートメントを設定する
>
> デバッガーを中断した後、実行ポイントを移動して、コードの次に
> 実行されるステートメントを設定できます。ソース ウィンドウまたは
> [逆アセンブル] ウィンドウのマージンに表示される黄色の矢印は、
> 次に実行されるステートメントの位置を示します。
>
> この矢印を移動すると、コードの一部をスキップしたり、前に実行した行に戻ったりできます。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 既知のバグを含むコードのセクションをスキップするなどの場合に利用できます。

774:デフォルトの名無しさん
15/12/26 18:56:29.15 OdF2h8JB.net
構造化プログラミングでのgoto排除ですら
実は"人間の都合"であって最速最良を追求するならgotoあったほうがいいわけで
つまり性的おじさんの必死で主張してる効率の良さは
下からどんどんコンパイラ最適化でいままさに
人工知能に機械的に喰われてる部分であって。
アセンブラと動的な抽象化の間でなにをのたうっているのかと…

775:デフォルトの名無しさん
15/12/26 18:58:53.84 EXUTS9i+.net
(今度は静的言語の速さを話題にシャドーボクシング始めたぞ)

776:デフォルトの名無しさん
15/12/26 19:01:08.59 h8/CI80S.net
>>763
そうなんだよねw
上で俺はマッチポンプって書いたけど、
「静的厨はこういうことを言ってるんだ!」と
自分で言っておいて、それを叩くというわけのわからんことをやってる

777:デフォルトの名無しさん
15/12/26 19:07:23.46 h8/CI80S.net
前にも書いたと思うけど、>>761を出したついでに関連してこれもかいておくか。 エディット コンティニュ https://msdn.microsoft.com/ja-jp/library/bcew296c.aspx > Visual Studio 2015 その他のバージョン > > エディット コンティニュを使用すると、プログラムが中断モードのときにソース コードを > 変更できるため、時間を節約できます。 Continue や Step などの実行コマンドを選択して > プログラムの実行を再開すると、一定の制限の下で、エディット コンティニュがコードの > 変更を自動的に適用します。このため、デバッグ セッション中にコードを変更できます。 > デバッグ セッションをいったん停止し、プログラム全体を再コンパイルしてからデバッグ セッションを再開する必要がありません。



779:デフォルトの名無しさん
15/12/26 19:10:09.63 OdF2h8JB.net
swiftにシャドー挑んだスマホで書き込んで
即座に切り替えて自分で自分に
「そうなんだよね」ワロタ

780:デフォルトの名無しさん
15/12/26 19:16:55.46 EXUTS9i+.net
自分が自演してるからって人もしてると思ってんじゃねーよ
あとフォートランが死なない理由は速いからと思ってるようだけどどちらかというと遺産が多過ぎるから、老害の使用率が高すぎるからだぞ
そしてこれはシャドーとは言わない

781:デフォルトの名無しさん
15/12/26 19:37:51.44 E3MIEZFa.net
どちらにしても、動的型がどんどん静的型を取り込んでいる現状があるのにそれを無視してもな
静的型にメリットが無いなら、本来静的型がなくても動く動的型が
わざわざ静的型を取り込むわけ無いということぐらい直ぐにわかるのに

782:デフォルトの名無しさん
15/12/26 19:40:22.05 OdF2h8JB.net
それが3つめのでしょ?すぐわかんだよね…

783:デフォルトの名無しさん
15/12/26 19:54:49.37 EXUTS9i+.net
このスレに書き込んでるのは二人だけってマジ?

784:デフォルトの名無しさん
15/12/26 20:01:24.61 h8/CI80S.net
>>770
他人にそれを判断することは不可能だよ。
(あったら説明して納得させてみいw)
だから思い込みと見て間違いない

785:デフォルトの名無しさん
15/12/26 20:06:55.31 EXUTS9i+.net
>>771
それも俺なんでしょ?すぐわかるんだよね…

786:デフォルトの名無しさん
15/12/26 20:40:10.56 NGJJ2lD8.net
>>759
CLとSTの両方とも動的型付けだというのは偶然ではないと思うぞ。
OCamlのような実行時型情


787:報を持たない言語/処理系で 実行中に修正して継続実行することは非常に困難であり、 かつ、型の制約が強すぎて修正できる部分は非常に限定される。 修正前後での型の一貫性を保てない修正ができないから。 以上の理由から、動的型付けの利点と言っていいと思うが、どうよ?



788:デフォルトの名無しさん
15/12/26 20:42:16.15 NGJJ2lD8.net
>>761
コードの実行中でのコード修正&実行継続と
単なるデバッガ中でのステップ実行の区別もつかない人は
黙ってたほうがいいと思うよ?

789:デフォルトの名無しさん
15/12/26 21:08:32.92 6DkdQBNB.net
エディット コンティニュはデバッグ ビルドでのみ動作します。wwwww
エディット コンティニュは 64 ビット コードでは使用できない wwwww

790:デフォルトの名無しさん
15/12/26 21:09:02.33 KNyipM+p.net
OCamlのデバッガに1ステップ前に戻る(ステップ実行の反対の)操作があるのスゴイ

791:デフォルトの名無しさん
15/12/26 21:11:28.36 MxaSLHJT.net
>>765
動的言語の単なるアクロバットの実用価値がやっとわかって静的言語にも取り込もうとしている現状にやっと気付きはじめたんだねw
実行時変更にメリットがないなら静的型がわざわざ実行時変更を取り込むわけ無いことぐらい直ぐにわかるのにwww

792:デフォルトの名無しさん
15/12/26 21:16:27.69 EXUTS9i+.net
>>777
ちなみにこれも俺なんです。すぐにわかるんだよね…

793:デフォルトの名無しさん
15/12/26 21:16:30.94 6DkdQBNB.net
URLリンク(msdn.microsoft.com)
デバッグ セッション中に C# コードに適用できない変更は、次のとおりです。
- 現在のステートメントまたはその他のアクティブ ステートメントに対する変更。
- アクティブ ステートメントには、現在のステートメントを取得するために呼び出される、
 呼び出し履歴上の関数内に存在するすべてのステートメントが含まれます。
- ソース ウィンドウ内では、現在のステートメントは黄色の背景で示されます。
 その他のアクティブ ステートメント (読み取り専用) は、網かけの背景で示されます。
 これらの既定の色は、[オプション] ダイアログ ボックスで変更できます。
- 型のシグネチャの変更
- 以前にキャプチャされていない変数をキャプチャする匿名メソッドの追加。
- 属性の追加、削除、変更。
- using ディレクティブの追加、削除、変更。
- アクティブ ステートメントの周囲への foreach、using、または lock の追加。
じゃあ、なになら出来るんだよwwwwww

794:デフォルトの名無しさん
15/12/26 21:44:49.52 gbQMSnGA.net
>>776
>1ステップ前に戻る(ステップ実行の反対の)操作がある
すごいな。
URLリンク(d.hatena.ne.jp)
ほんとだ。実行時コンテキストはどうやって巻き戻しているの?

795:uy ◆Qawu9.2l1E
15/12/26 22:25:14.87 4ahr08St.net
このスレの奴12/25までケンカしてたんだな・・・
お疲れとしか

796:デフォルトの名無しさん
15/12/26 22:58:18.55 lipwm7l1.net
>>773 多分、プログラミングとは何か、実行環境とは何かっていう部分が違うんだと思う。
超強力なデバッガを持っているCLやSTだと、絶賛稼働中の環境でも修正できるのが単なるメリットではなく、
そういうやり方も当然あるものとして開発を続けるのが普通、だと考えているのではないか。
根底にあるのは、プログラムを実行する人と開発者が分かれていない、分かれていてもそんなに遠くない関係のままであり続ける(べき)というスタンスなんじゃないかと。
特にSmallTalkは(というよりアラン・ケイが)そういう考え方の元で作られた言語+環境だから、
SmallTalkerにとっては実行時の型情報が重要だし、動的型付けも必須だと思う。むしろ空気のようなもんになっているんじゃないかと。
一方で、実行者にプログラミングの素養を期待しない、開発者は遠くの人、みたいな場合はデバッガなんて実行時にあるだけ無駄だし、
開発者はバグが無いよう細心の注意を払うべきだし、言語はそれをサポートする機能を持つべき、っていう考え方の人もいる。
そういう人は強い静的型付けで型システムが豊かな言語が魅力的に見える。
コードの再利用のために継承を欲しがり、ついでにオブジェクト指向も入れてしまった言語…黙秘します。語るべきじゃない。

797:デフォルトの名無しさん
15/12/27 00:25:42.92 LQildC0d.net
>>775
現在では64bitにも相当まで対応してるはず
リリースビルドは動的型と比べて自由度と柔軟性を捨てて速度を選ぶんだから、しょうがない
やってみるとわかるけど、VisualStudioの出来の良さも含めて案外使い物になるよ

798:デフォルトの名無しさん
15/12/27 00:45:39.53 K/y89QOU.net
>>782
議論の参考になるか分かりませんが、アラン・ケイが出してた
動的にやれることのメリットとしてはこんなのがあります。
例えば、あるプロジェクトを一年以上続けていて、
沢山の大切な物が出来上がっているとする。
何万もの動いているオブジェクトがあるクラスに、
システムを破壊せずにいくつかのインスタンス変数を追加して、
動的にそれらを再構成する事は出来るだろうか?
ただあくまで彼は早期結合に批判的なのであって、(静的)型に必ずしも反対しているわけではないようです。
きっと遅延結合をサポートできる柔軟で賢い型システムが出てくれば歓迎するでしょう。

799:uy ◆Qawu9.2l1E
15/12/27 00:50:00.24 Dbb+2cjN.net
URLリンク(www.ruby-lang.org)

800:デフォルトの名無しさん
15/12/27 01:10:47.29 si7ncwl4.net
まあこのスレみてて一番の収穫は
静的、動的に異常にこだわる馬鹿はプロジェクトから排除するべき
っていうことがよくわかったってことだな。

801:デフォルトの名無しさん
15/12/27 03:45:03.72 DLk3aEoT.net
少しPharo Smalltalkを触ってみた感じでは、Pharoだけで閉じたシステムなら稼働中のシステムの改修も簡単にできるように見えた。
来歴の異なる2つのアイデアに同じオブジェクト指向という名前を使うのはやめて欲しいと思った。批判がぼやけるし、反論もぼやける。
Smalltalkの徹底している(ように見える)メッセージ指向は面白い。
ただ、速度を稼ぎたいっていう需要は相変わらずあるし、速度も安全性も欲しいっていう需要もある。
Smalltalkで頑張るより最初っから速い言語で書く方が楽な部分もある。
>>784
アラン・ケイのその例はちょいとSmalltalk過ぎて、自分の好きな言語でどう言い直せる問題なのかすぐに出てこない。すまん。

802:デフォルトの名無しさん
15/12/27 10:55:29.62 iIeA3jAx.net
インテリセンスのためにコメントに型を書いてる言語みると笑いが込み上げるよね

803:デフォルトの名無しさん
15/12/27 17:28:53.36 Uc9cUKER.net
型にこだわる奴はB型なんだけどな。

804:デフォルトの名無しさん
15/12/27 17:52:14.76 Uc9cUKER.net
以下の文はソース
>B型の特徴 マイルールで動きわけのわからないこだわり持つ

805:デフォルトの名無しさん
15/12/27 17:54:46.05 6NYNO2+5.net
お前が一番「型」にこだわってるじゃねーか

806:デフォルトの名無しさん
15/12/27 18:22:52.04 1oZy+T7E.net
最低なのはアホで愚鈍でキチガイのO型
手続き型のA型は実直だけど神経質
おおらかでダイナミックだけど個性的なB型
ハイブリッドマルチパラダイムで最強のAB型

807:デフォルトの名無しさん
15/12/27 18:55:00.45 LQildC0d.net
>>788
たしかに、動的型でコメントに型を書くぐらいなら言語の機能でかければいいのにと思う反面、それやると全てに型を書くように言うやつが出て動的の利点が失われるというジレンマ

808:デフォルトの名無しさん
15/12/27 19:09:57.62 qllk89hj.net
O型はA型やB型に輸血すると動的に型が変わる最強型
A型は他の血液型入れるとすぐクラッシュして死ぬ愚鈍

809:デフォルトの名無しさん
15/12/27 19:45:26.36 /O53e43E.net
>>788
pythonのことか…

810:デフォルトの名無しさん
15/12/27 19:45:47.84 si7ncwl4.net
オブジェクト指向のスレかと思ってたらいつのまに血液型スレになってた。。
何を言っているのかわからねーと思うが おれも何をされたのわからなかった。。

811:デフォルトの名無しさん
15/12/27 20:02:57.80 r1oeWZPX.net
>>794
うお!血液型って変化するんか今更知ったわw
調べたら、O型の人は赤血球ならば他の型へ与えることができるが、逆に血漿は誰にも与えられないのね
URLリンク(ja.wikipedia.org)

812:デフォルトの名無しさん
15/12/27 20:30:46.78 1oZy+T7E.net
>>794
原始人なんじゃねO型って

813:デフォルトの名無しさん
15/12/27 20:52:21.13 si7ncwl4.net
ほんとにプログラム書く上で役に立たないどころか害になりそうな議論しかないところが凄いね。

814:デフォルトの名無しさん
15/12/27 21:29:05.69 AYt5UEwr.net
SmalltalkやCommon Lisp(?)で何作ってんの?
ていうか本当に使ってんの?

815:デフォルトの名無しさん
15/12/27 22:29:14.19 NuWA0y2P.net
C#erのオッサンが、たいして知りもしないSmalltalkとかCommon Lispに難癖つけてて草

816:デフォルトの名無しさん
15/12/27 22:47:34.86 g/r0v/P2.net
>>800
CLerはともかくSmalltalkerは
一匹やってくるとワサワサ増殖して空気読まないレス連発するので不用意に呼び寄せないで欲しい

817:デフォルトの名無しさん
15/12/27 23:13:17.05 Yse7GotI.net
Objective-Cだとなんでもクラスというかちょっとデータ数あったらすぐ
NSObjectを継承して動的に生成され管理されるクラスにデータ入れて渡すから
言語的に言語仕様で定められた"型"の判別がどーとかより
現在使ってるフレームワークで"クラス"がどう定義されてるかになって
話が言語の方にこないっつか。
>>784の想定してる問題がよくわからんがクラスで受け渡してるものに
なにか新しいデータ要素を足すってのは、Obj-C的には
トラックの荷台に新しく置くものが増えるぐらいの感じで
別にそれでどこか別の部分に問題が出たりするシステムの方が
逆によくわからない。それの積み下ろしに関係してないとこはもともと利害ないし
新しく積み下ろす関連のとこだけ直せば動作に問題出ないし。
ちなみにクラス自体は内部的にはポインタ渡しのメモリブロック扱い。

818:デフォルトの名無しさん
15/12/27 23:29:58.30 f7J7LqC1.net
ちっ

819:デフォルトの名無しさん
15/12/27 23:48:44.46 K/y89QOU.net
>>803
>トラックの荷台に新しく置くものが増えるぐらいの感じ
論よりコードで、とりあえずSmalltalkの>>680をObj-Cでやるとどんな感じ?

820:デフォルトの名無しさん
15/12/27 23:54:26.71 TQTcd7lL.net
なんでゴキブリって全員がゴキブリ語を解する前提なんだろ

821:デフォルトの名無しさん
15/12/28 00:03:12.16 CKLu8anb.net
ゴキブリがしゃべってるのが見えるんですね?
お薬ちゃんと飲んでますかー?

822:デフォルトの名無しさん
15/12/28 00:11:06.21 02492xEu.net
>>806
低レベルと見下した意味での「ゴキブリ」なら、解するのもわけないのでは?
そもそも、解する、解さない以前に気にする必要自体ないでしょう? 役立つ情報がないんだから。
得体が知れないという意味なら、Smalltalkはすごくシンプルな言語なので(マクロがない分、Lispよりシンプル)、
さして苦労はせずに読むことくらいはできるようになれますよ。
URLリンク(amber-lang.net)

823:デフォルトの名無しさん
15/12/28 00:12:56.26 KeqGm6Du.net
Smalltalkerにとって>>680は相当にお気に入りみたいだね
ああいうトイコードを書いてはニヤニヤしちゃってるのかな

824:デフォルトの名無しさん
15/12/28 00:20:38.75 02492xEu.net
>>809
基本的にSmalltalkのコードはシステムブラウザを使って書くので、こういうことをあえてすることはないですね。
ただ、内部的にはやはりこうした動きなのと、動的遅延結合性の要素がそれなりに盛り込まれているので
こういうことが無理なく出来る言語なら、使ってもストレスはあまり感じずに済むかなとは思います。

825:デフォルトの名無しさん
15/12/28 00:24:42.85 ESQO+1YW.net
>>800
ホントにこれ
Lispはmathematica様の原料だからわからんでもないけど
実際どこで役立ってるのか紹介せずにアンテナ弱いとかの煽りしか飛んでこないのホント害悪

826:デフォルトの名無しさん
15/12/28 00:38:13.00 w2hqGr/u.net
絞り出したのが「Lispはmathematica様の原料」って、そりゃあんたさすがにアンテナ低すぎだろ…
せめてルンバがLispで動いている(噂レベル)とか、Yahoo!Storeが当初Lispで書かれてたくらいは出そうよ

827:デフォルトの名無しさん
15/12/28 00:40:37.42 i875NmCw.net
動的遅延結合性なんかいらんだろ
エラーが分かるのが遅くなるだけ
だいたい粒度の問題というものは常々なんにでも付きまとっていて
要するに、オブジェクトという細かな粒度でそんな機能は必要とされてないのだ
>>309でも指摘されているだろ

828:デフォルトの名無しさん
15/12/28 00:45:15.64 ESQO+1YW.net
かなり分かりやすい具体例をあげたらそっちからアンテナ低いと叩かれるとか頭おかしい

829:デフォルトの名無しさん
15/12/28 00:47:03.54 ESQO+1YW.net
Mathematical じゃなくてmaximaだったか
これは叩かれても致し方なし

830:デフォルトの名無しさん
15/12/28 00:54:33.76 ESQO+1YW.net
とはいえやっぱりlispみたいなラテン語並みの言語の使い道知らなくても叩かれるいわれはないぞ

831:デフォルトの名無しさん
15/12/28 01:07:18.94 02492xEu.net
LispでMaximaの例がわかりやすいのなら、Smalltalkの場合たとえば
Rubyの処理系のひとつがSmalltalkで書かれているとかではどうですか?
URLリンク(maglev.github.io)
言語処理系では他に SlateとかNewspeakとか、Scratch(1.4まで)とかありますが、まあ、
Smalltalk よりマイナーな言語だと挙げても意味ないかとも。
スマホ向けソフトでも、そう多くはないですが Smalltalk で書かれているものがあります。
URLリンク(www.drgeo.eu)
ネットサービスでPharoを使っているとかならスタートアップでいくつかあるのですがやはりマイナーな用途ですよね?
URLリンク(pharo.org)
URLリンク(www.sorabito.com)
メジャーどころに買い取られた(まあ実際は飼い殺し)のだと、
Twitterに買われたDabbleDB URLリンク(www.youtube.com) とか
VMwareに買われたGemStone URLリンク(www.vmware.com) とか
基幹だと
OOCL の GemStone活用 URLリンク(smalltalk.cincom.jp) とか
J.P.モルガンの VisualWorks活用 URLリンク(smalltalk.cincom.jp) とか
が有名どころです。参考まで。

832:デフォルトの名無しさん
15/12/28 01:09:54.97 KeqGm6Du.net
(1)無停止が要求されるシステムで
(2)プログラマが本番稼働中のシステムに直接パッチ当てることが許されてて
(3)Smalltalkで開発されてる
(1)と(2)が両立するだけでも信じ難いレベルなのに、3つ全部揃ってるってどんだけレアなの

833:デフォルトの名無しさん
15/12/28 01:36:15.43 02492xEu.net
>>818
Smalltalk が目指す無停止っていうのは、サーバーの無停止とはちょっと意味合いが違うんですよね。
インターネットが(ノードレベルでは停止することはあっても)全体として無停止とか、そういうのに似ています。
OS だと、アップデートで再起動がいらないとか以前に、そもそも再起動を想定しないシステム作りとかそういう方向性です。

834:デフォルトの名無しさん
15/12/28 01:56:46.03 ESQO+1YW.net
>>817
すごいなあこれ
Smalltalkを勉強するメリットはあんまり伝わってこなかったけど、Smalltalkに関する情熱はすごくよく伝わってきた
ID:02492xEuさんの主張がまだよく分からないのですが、Smalltalkは学ぶべき実用言語なのですか?それとも敬意を払うべき古典なのですか?それまた考え方の基礎として知っておくべき教養なのですか?

835:デフォルトの名無しさん
15/12/28 02:01:33.32 9w43khSU.net
20年前はどうだった?
どいつもこいつの禿様、オブジェクト指向様と拝んでたくせに

糞共が

836:デフォルトの名無しさん
15/12/28 02:05:36.29 9w43khSU.net
どいつもこいつの → どいつもこいつも

837:uy ◆Qawu9.2l1E
15/12/28 03:03:19.88 9q5IGdq7.net
マイナー言語で何かが作られてたとしても、
その言語が凄いってわけじゃなくて、
その言語を得意としてる奴の中に凄いのが混ざってただけ
人によって使いやすい言語構文は違うというuyの主張

838:デフォルトの名無しさん
15/12/28 03:04:13.01 8sKUVUhj.net
使いやすいかどうかは、慣れでしかない。

839:デフォルトの名無しさん
15/12/28 03:06:45.15 02492xEu.net
>>820
Smalltalkは我々使い手にとっても「来なかった未来」なので、それが何かを知らない人があえて学ぶ価値はないです。^^;
ただ処理系のアップデートは続いていますので、よく知らないくせに「(役目を終えた)教育向け」とか「さび付いた
言語」とかレッテルを貼って馬鹿にされると、いささかむかつきますけどね。
歴史的には、WIMPなGUIとか、MVCとか、IDE、XP/TDD/アジャイルとか、最近ではTraitsとかClassboxesとか
流行になる程度に影響がある技術や手法のゆりかごや先駆けみたいな存在ではあるので、
それらの出自やメリットデメリット、デメリットに対して試みられた対策をきちんと知っておこうという意識高い系には
教養・基礎知識として学習しておくのはありかと思います。
あと、徹底した動的結合性の(失敗して、アラン・ケイに見捨てられたりはしましたが)チャレンジの一応の成果ではあるので、
繰り返し同じ失敗をしないための反面教師であったり、さらにこのチャレンジを進めるためのたたき台としては
大いに学ぶ価値はあるかと。もちろんそこまで背負い込まなくても、落ち穂拾いとか宝探し(ゴミあさり?)感覚で、
まだ手垢の付いていない有用な技術や機能、ノウハウのネタ元を探す目的で学ぶというスタンスも面白いと思います。

840:デフォルトの名無しさん
15/12/28 03:09:49.59 8sKUVUhj.net
じゃあレッテルじゃない事実を
SmalltalkはOSとIDEとエディタと言語を統合させてしまうという
間違った設計をしたため(言語ではなく)運用面で柔軟性にかける言語

841:デフォルトの名無しさん
15/12/28 03:10:28.44 8sKUVUhj.net
訂正
SmalltalkはOSとIDEとデバッガと言語を統合させてしまうという

842:uy ◆Qawu9.2l1E
15/12/28 03:23:50.08 7qtNlkA2.net
今でこそ間違いだと分かるものの
黎明期に作られた言語なんて、何と何を分離したらいいか分からなかったんだろう
その中でたまたま目瞑って石投げたら当たったみたいな言語が生き残った感じ

843:デフォルトの名無しさん
15/12/28 03:31:14.07 8sKUVUhj.net
動的言語の特徴とSmalltalkの特徴がごっちゃになってる人がいるんだよからなぁw
Smalltalkはこういうことができる!これは動的言語だからできるんだ。と
言い出すが、これは他の動的言語では出来ず。
IDE(エディタ+デバッガ)の機能だよねそれ?
Visual Studioでもデバッグ中にソースコード編集できたり
好きな行から再実行とかできるから、静的言語でも実現可能な機能だし。
URLリンク(msdn.microsoft.com)
> 次に実行されるステートメントを設定する
>
> デバッガーを中断した後、実行ポイントを移動して、コードの次に
> 実行されるステートメントを設定できます。ソース ウィンドウまたは
> [逆アセンブル] ウィンドウのマージンに表示される黄色の矢印は、
> 次に実行されるステートメントの位置を示します。
>
> この矢印を移動すると、コードの一部をスキップしたり、前に実行した行に戻ったりできます。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 既知のバグを含むコードのセクションをスキップするなどの場合に利用できます。

それで、エディタやデバッガの機能じゃなくて、動的言語どれにでもあてはまる
動的言語の特徴は何なの?というと結局答えは出てないし。

844:デフォルトの名無しさん
15/12/28 04:07:47.35 02492xEu.net
>>826
はて。それこそ Smalltalk をたんなる処理系と誤解した人が好んで貼りがちなレッテルのひとつですよね?
Smalltalk は Smalltalk-72 のごく初期の時点で今で言うスクリプト言語のようなスタイルでこそありましたが
その後は 70年代を通じ、一貫して OS(ダイナブック向けを想定していたので風変わりではありますが)
として作られたソフトウエアです。
URLリンク(web.archive.org)
仮想マシンベースになってから、移植性が高まり他の OS 内で仮想環境(VMwareのような)として
動作できるようになったのは処理系や IDE が固まった後の話であり、処理系や IDE は、OS の機能の一環として
その OS 上に当然のごとく構築されたものにすぎません。
OS の構造を、将来他の OS の仮想環境のひとつとして機能させるためにモジュラリティーを持たせておく
設計にしなかったから駄目だ、という指摘なら分かりますが、ある OS 上に(それ自身を記述する)処理系や IDE を
構築したことを設計ミスと断じるのは、いささか無理があるように思いますがいかがでしょう。
もちろん現状で専用のハードを持たない以上、他の OS を渡り歩く仮想環境として運用されることが運命づけられた今、
モジュラリティーに欠ける点が言語処理系として振る舞う際に運用上のデメリットとして明らかなことには異論ありません。

845:デフォルトの名無しさん
15/12/28 04:12:26.80 WNJ7FWNN.net
>>823
> その言語を得意としてる奴の中に凄いのが混ざってただけ
その「凄いの」がなぜその言語を選択したのかを無視して
目先の流行の表層だけを見てその背後にある本質に目を閉ざしているから
君はいつまでも初心者レベルだということにいい加減気付け。

846:デフォルトの名無しさん
15/12/28 04:20:58.33 WNJ7FWNN.net
>>829
特定の言語機能が単体で可能なことしかその言語機能の利点と認めないことの愚かさに気づかないの?
プログラミング言語では複数の言語機能の相互作用で可能になることも多いし、
STやCLの利点は言語と環境とライブラリが総合的にデザインされているところ。
君にはその利点を理解する能力が欠如している。それだけの話。
> IDE(エディタ+デバッガ)の機能だよねそれ?
静的型付け言語向けに作ってみたら制限だらけの劣化コピーになっちゃいました、という実例だよなー。

847:デフォルトの名無しさん
15/12/28 04:24:42.29 WNJ7FWNN.net
>>829
>それで、エディタやデバッガの機能じゃなくて、動的言語どれにでもあてはまる
>動的言語の特徴は何なの?というと結局答えは出てないし。
じゃあ、エディタやコンパイラや型推論の機能じゃなくて、
静的型付言語どれにでもあてはまる静的型付言語の特徴は何なの?
FORTRANにもOcamlにもCにも当てはまる利点を挙げてみろよw

848:デフォルトの名無しさん
15/12/28 04:28:38.00 WNJ7FWNN.net
言語機能を個別に切り出して評価できると思ってる時点で
言語設計が何もわかってないってことだw

849:デフォルトの名無しさん
15/12/28 04:42:40.88 WNJ7FWNN.net
言語と環境とライブラリを統合することが間違いだという人達は
もちろんemacsなんて使ってないよね?
もちろんIDE(「統合」開発環境)なんて使わないよね?
記述対象の言語を想定したエディタ機能なんて使わないよね?
シンタックスハイライトも構文チェックもフォーマッタも使わないよね?
ソース上の識別子の型情報を見る機能なんて利用しないよね?
cabalやgemのような対象言語に特化したパッケージ管理ツールなんて使わないよね?
仮想マシンのディスクイメージを構成するために言語ごとのランタイム環境を指定して
自動的にデプロイしたりしないよね?
言語と環境とライブラリを統合することが間違いなら、上記はどれも当然のことだよね?

850:デフォルトの名無しさん
15/12/28 04:44:48.24 8sKUVUhj.net
>>833
> 静的型付言語どれにでもあてはまる静的型付言語の特徴は何なの?
システム全体のモジュールの結合性、インターフェースの不一致を
実行前に検出することができる。

851:デフォルトの名無しさん
15/12/28 04:45:33.44 WNJ7FWNN.net
>>836
Cで?

852:デフォルトの名無しさん
15/12/28 04:47:15.02 8sKUVUhj.net
> 言語と環境とライブラリを統合することが間違いだという人達は
> もちろんemacsなんて使ってないよね?
emacs使ってないし、それは関係ない。
emacsはC言語で作られているが、それはそれとして
emacsはOSとは統合されていない。IDEも一緒。
OSと言語は統合してはならない。
OSはSmalltalk以外の言語も動くものでなければならない。
そしてOSはいろんな言語で作られたアプリを相互に連携させて
動かす事ができないといけない

853:デフォルトの名無しさん
15/12/28 04:48:34.11 8sKUVUhj.net
>>837
できるよw
言っておくけど、あんたが出来ない例を示したとしても、
全体的にできるならば「できる」とみなす。
どんなものでも例外はある。

854:デフォルトの名無しさん
15/12/28 04:51:56.55 WNJ7FWNN.net
>>838
> OSと言語は統合してはならない。
まさか、Unixなんて使ってないよね?

855:デフォルトの名無しさん
15/12/28 04:54:39.35 8sKUVUhj.net
>>840
UnixはOSと言語は統合されていない。

856:デフォルトの名無しさん
15/12/28 05:00:26.10 8sKUVUhj.net
例えば、プログラミングをする時のエディタは
好みのエディタを使えなければいけない。
言語専用のエディタを用意するのは構わないが、
その他のエディタ、例えばメモ帳であっても
プログラミングできないといけない。
SmalltalkはSmalltalk専用の使い慣れていないエディタを
強要されてしまう。こういう密結合なシステムはよくない。
柔軟な変更に耐えられなくなる。
言語ではなくて、システム全体の柔軟性が欠けている言語

857:デフォルトの名無しさん
15/12/28 05:03:48.42 WNJ7FWNN.net
Smalltalk環境上でもSmalltalk以外の言語を使えるし、
エディタもSmalltalk専用のエディタなんて使う必要ないし、
君、本当にSmalltalk使ったことあるの?

858:デフォルトの名無しさん
15/12/28 05:07:09.65 8sKUVUhj.net
当たり前だがソフトウェアの開発とバージョン管理システムは切り離せない。
そしてソフトウェアの開発は複数の人でやるものである。
つまりはgitを使う。マージを行う。
(内部的に)ソースコードの差分を出してパッチを当てるような形で
複数の人が書いた複数のコードを統合していく。
いつからバグが入ったのかかを調べるために、特定のコードに巻き戻して再実行したり
複数のブランチで複数のバージョンを平行して開発したり
こういった当たり前の作業がSmalltalkでは非常にやりづらい。
言語ではなくて、システム全体の柔軟性が欠けている言語

859:デフォルトの名無しさん
15/12/28 05:09:49.64 WNJ7FWNN.net
Unix環境上でシステムコールの呼出し規約を守れば色々な言語のコンパイラを使えるのと同じように、
Smalltalk環境上でも仮想マシンの仕様に則ったバイトコードを出力するコンパイラを書けばいいだけだし。
例えば URLリンク(tinlizzie.org) とかあるし。
そういうこと知った上で
「Smalltalkは言語とOSが統合されてるからだめ」
「UnixはCと統合されていない」
とか言っちゃうのかなあ?

860:デフォルトの名無しさん
15/12/28 05:10:40.73 WNJ7FWNN.net
もしかして、Smalltalkではgitを使えないと思い込んでる人?

861:デフォルトの名無しさん
15/12/28 05:17:53.48 WNJ7FWNN.net
Smalltalkにも向かない応用というのは、確かにある。
例えば、Smalltalkはお客さん根性全開なプログラマーには向かない。
自分で解決する気はないが文句を言っておけば誰かが解決してくれると思っている人には向かない。

862:デフォルトの名無しさん
15/12/28 09:09:02.56 tjw+19nB.net
WindowsやLinuxで動く他言語のプログラムをわざわざSmalltalk仮想環境上で動かすメリットって存在するか?
>>845のリストにある言語もどれだけマトモに動くか分からんし
そんで例えば、他のいろんな言語と同じくソースはgitで管理します、CIツールにJenkins使います、アプリはDockerで動かします
ってなったら、このスレで書かれてるSmalltalk固有のメリットって何一つ発揮できないと思うよ

863:デフォルトの名無しさん
15/12/28 09:29:47.14 teguHjPL.net
あんまり言語仕様がいろいろ混じってると上手く行かない印象だけどね。
c や javascriptくらいスモールに作っておけばツールなんかは後から誰かが作ってくれる。

864:デフォルトの名無しさん
15/12/28 09:37:56.90 WNJ7FWNN.net
>>848
どうしてこのスレで書かれてるSmalltalk固有のメリットって何一つ発揮できないと思うのかな?
むしろDockerなどで遠隔サーバに自動デプロイした時のデバッグで
Smalltalkのように問題発生時に自動的にスナップショットを保存して
実行状態を手元の開発機でほぼ完全に再現できる環境はとても便利なんだけど?

865:デフォルトの名無しさん
15/12/28 09:42:56.78 WNJ7FWNN.net
このスレの静的厨の書き込みを読んでいると、
「生まれてこのかたウンコしか食ったことない人は
他人がどんなに旨い料理を出してきても
自分が気に入っている最高のウンコと見た目が違っているという理由で
こんなものが旨いわけがないと思ってしまうのだろうな」
と思わざるをえないw

866:デフォルトの名無しさん
15/12/28 09:43:55.33 WNJ7FWNN.net
好きなだけウンコを食べて生きていけばよろしいw

867:デフォルトの名無しさん
15/12/28 09:45:55.52 MpvL/SZu.net
反対の意見を言うというアルゴリズムで動いているだけ。

868:デフォルトの名無しさん
15/12/28 09:46:14.25 tjw+19nB.net
Dockerイメージだけから実行状態を再現できないってことは、アプリが稼働中に何か状態を持ってしまってるってこと?
それじゃハードウェアやネットワーク障害が起きた時に別のノードに切り替えられないじゃん
使い方間違ってるよ

869:デフォルトの名無しさん
15/12/28 09:55:09.76 MpvL/SZu.net
頭悪いんだから無理しなくていいよ

870:デフォルトの名無しさん
15/12/28 09:59:04.88 teguHjPL.net
自分が使ってないツールは馬鹿だから使ってるとでも思ってるんだろう。
そういう傲慢さが見える。

871:デフォルトの名無しさん
15/12/28 12:16:47.06 VijL79y/.net
>>850
> むしろDockerなどで遠隔サーバに自動デプロイした時のデバッグで
だからDockerがあれば十分でしょw
つーか、自動テストしてるんだよね。だから、同じ状態を作るのは簡単。
テストを再実行するだけでいい。
だいたいさ、デバッグっていうのはバグでおかしくなった "原因" を
取り除く行為であって、バグでおかしくなった "状態" を修復することじゃない。
バグが起きたあとの情報を保存しても意味ないんだよ。
具体例出す? バグで100を加える所に、200を加えてしまった。
数値がおかしい!と気づいた時には、もう手遅れでその状態を保存することに意味は無い。
異常な状態になる前を保存するならまだ意味はわかるけどさ。
異常状態になったら、その結果を破棄して、最初から同じことを繰り返す。
つまり自動テストな。これが必要なものであって、異常データの保存じゃないから。
Dockerもそう。Dockerは今の状態を保存するものではなくて、
Dockerfileという定義ファイルから、ゼロの状態から同じ実行環境を作り出すもの。

872:デフォルトの名無しさん
15/12/28 12:35:09.10 Tl4NM7En.net
つーか実際死んでるだしこれ以上死体叩きしても意味ないだろ
ネクロマンサーもネクロマンサーでみんながそれに興味ないのにムカつくのは分かるけど、いくらその死体が高貴だからと言って死んでるのを認めずに生者の世界に持ち込むもんじゃない

873:デフォルトの名無しさん
15/12/28 13:30:49.05 WNJ7FWNN.net
> つーか、自動テストしてるんだよね。だから、同じ状態を作るのは簡単。
> テストを再実行するだけでいい。
ああ、やっぱり問題をまるで理解していないw
同じ状態をつくるのは本当に簡単なのかな?
簡単って言ってるうちはド初心者だよw

874:デフォルトの名無しさん
15/12/28 13:35:19.93 VijL79y/.net


875:ef="../test/read.cgi/tech/1450153388/859" target="_blank">>>859 理解してないのはお前だろ。 > 同じ状態をつくるのは本当に簡単なのかな? 同じ状態を作れないとテストにならん。 バグった状態のデータを持ってこられても意味ない。 同じ状態になる手順を再現できんとバグの修正なんぞできん。 それにそもそも異常な状態を保存した所で 意味は無いといったばかりだ。 > 簡単って言ってるうちはド初心者だよw またいつものやつだねw 「俺が正しい、なぜならば・・・その説明はしない!」



876:デフォルトの名無しさん
15/12/28 13:35:24.50 WNJ7FWNN.net
でも死体から派生してきたTraitsとか、スクリプトによる仮想イメージ構築とかは、
「わーい、最新技術だー」とか飛びつくんでしょ?
くすくす

877:デフォルトの名無しさん
15/12/28 13:37:51.01 VijL79y/.net
話をすり替え始めたかw
自分で、Dockerを持ってきて、Dockerの話に
俺がついてこれるもんだから、
自分が持ってきた最新技術(笑)を叩き始めたな。

878:uy ◆Qawu9.2l1E
15/12/28 13:44:54.53 FI1ndW8l.net
そこのアスペ2人はコテつけてくんない?

879:uy ◆Qawu9.2l1E
15/12/28 13:45:25.55 KRgYgwWB.net
アスペ2人がレスバトルしてるのはスレの最初のほうから分かってるけど流れがわかりにくい

880:デフォルトの名無しさん
15/12/28 13:56:26.18 Ieq5nvcS.net
>>861
そりゃそうだろ。それが本当に最新技術なのかはさておき偉大なる歴史上の死人から得るものは使うだろ
ただ、まるでその人がまだ現役であるかのように語るから話がこじれるわけで

881:デフォルトの名無しさん
15/12/28 14:01:17.54 gtimbSrX.net
>>845
>Unix環境上でシステムコールの呼出し規約を守れば色々な言語のコンパイラを使えるのと同じように、
>Smalltalk環境上でも仮想マシンの仕様に則ったバイトコードを出力するコンパイラを書けばいいだけだし。
ふーん。そーなんだー。

で、出てきた例がこれ
>例えば URLリンク(tinlizzie.org) とかあるし。

ショボすぎるw
Unixでどれだけの言語が動くと思ってんだ
絵に描いた餅で対抗しようとすんな

誰も使ってないSmalltalk環境でSmalltalkの為だけの仮想イメージを作れても意味ないんだよ
色んな言語の色んなアプリが動くLinuxで作れることに価値がある

882:デフォルトの名無しさん
15/12/28 14:22:51.43 WNJ7FWNN.net
>>860
> 同じ状態を作れないとテストにならん。
で、サーバ内のプログラムの実行コンテキストがどういう状態だったかをどうやって知るのかな?
どういう状態だったかがわかったとしてもそれを実行コンテキスト上に再現するのは簡単じゃないけどなw
それにしても「同じ状態をつくる」なんて簡単に言っちゃうなんて、
君はプログラミングを習いはじめて3秒目ぐらいの初心者かい?
初心者としてもバカすぎてお話にならないw

883:デフォルトの名無しさん
15/12/28 14:27:53.96 WNJ7FWNN.net
>>866
君の言う通りだよ。Smalltalkはもう死んだということで結構だよ。
だから君は消費者としてMSやAppleの開発環境でモンスタークレーマーになっていなさい。
君はただ上を向いて口をポカーンと開けて、処理系開発者様がスプーンで食べ物を与えてくれるのを
ブーブーと文句を言いながら待ち続けていなさい。
間違ってもプログラマーなんて名乗らないように。

884:デフォルトの名無しさん
15/12/28 14:35:23.75 i875NmCw.net
Smalltalkの人がいくら遅延結合がどうとか生態系がどうとか言っても
世間で使われてないということは現実に合っていないということ、これが全て
Smalltalkの人は現実の生態系の話を持ちだしてアレコレ言うが、それはマヤカシで
そんなに現実に有っているならもっと使われているはずということ
つまりは生態系云々の話はプロセスとかサービスとかサーバーとか
そういう大きな粒度で扱う物事であってオブジェクトのような小さな粒度に持ち込んでも
現実に合っていない、人間社会の仕事の流れにマッチしていない、だから使われない
極端な話、1+1のようなプリミティブな計算に生態系のような壮大な理屈は必要ない
ということは、バカにでも分かる
何度も言うが現実に合っていないから使われていないのだ
これはまさに一般的なサラリーマンの家庭に4トントラックを売り込んで居るようなもので
生活スタイルにマッチしていないから売れないし、そんなことは当たり前でバカにでも分かる
マッチしていれば売れるし、マッチしていなければ売れない
大きさとか、粒度とか、そういう問題は何にでも存在していて、ラジコンを拡大しても乗用車にはならない
ラジコンにはラジコンのやり方、乗用車には乗用車のやり方がある
そんなバカにでも分かる簡単なんことが分からないのが、このスレで暴れているSmalltalker
こんな調子だから世間でSmalltalkは使われてないし
使われていないのは現実にマッチしていないから、ということすらわからない
現実世界の生態系を模範したつもりが、粒度やスケールを間違っていてアンマッチになった悲しい言語

885:デフォルトの名無しさん
15/12/28 15:00:43.88 kIejf3VS.net
>>868
便利を求める奴はプログラマーじゃないということ?

886:デフォルトの名無しさん
15/12/28 15:06:42.69 VijL79y/.net
>>867
> で、サーバ内のプログラムの実行コンテキストがどういう状態だったかをどうやって知るのかな?
> どういう状態だったかがわかったとしてもそれを実行コンテキスト上に再現するのは簡単じゃないけどなw
だから実行された後の状態を保存したって、何の意味もないだろ。
おかしくなったデータを再現したって、それでどうするんだよ。
ログって知ってるか?ログって。デバッグするためには、
実行結果じゃなくて、実行の仮定が記録されてないと意味ないんだよ。
だいたい、いつどうやってデータ保存するんだ?おかしくなったデータを
保存しているサーバーに入って、実行プロセスを停止してデバッグでも始めるのか?
俺なら普通にデータベースのデータ見るわw

887:デフォルトの名無しさん
15/12/28 15:10:28.69 VijL79y/.net
>>867
> それにしても「同じ状態をつくる」なんて簡単に言っちゃうなんて、
同じ状態を作るのが簡単なんて言った覚え無いけど?w
お前はすぐに思い込む、俺が言ったことにするよな?

俺が言ってるのは、同じ状態を作っても、それでデバッグするのは難しいってこと。
状態をすべてのリアルタイム記録し続けてるわけじゃないだろ。
バグを実行して、おかしくなったデータの状態を取るのが精一杯だろ。
(ログは状態の一部とはいえ、記録し続けてるからデバッグの役に立つ)
それと同じ状態を作るのが難しかろうが、それをやってバグになる手順を再現できないとダメ
難しいから何? 難しいのをやるのがプロってもんだ。

888:デフォルトの名無しさん
15/12/28 15:17:13.08 pElGsOOM.net
>>805
>論よりコードで、とりあえずSmalltalkの>>680をObj-Cでやるとどんな感じ?
Objective-Cはsmalltalk式のクラス取り回しができるCだから
NSObjectのxを宣言してメソッドも値もない空のオブジェクト作って~から
>>666の「そのままデバッガで~」辺りまでは書き方違うだけでいっしょかなぁ。
動的にシステムデバッガ?でやらないで段階ごとにコンパイルしながらだけど。
むしろそのあたりまでは>>666のなにが他の言語だとできないのかがピンとこない。
例外が~あたりはメソッドだけ書いてreturn @"quuuex"とかしとけばいいのかしら…
「xをXに~」あたりはデバッガでクラス名を一括で変えてるってこと?
永続化はたぶんcoredataフレームワークあたりだろうけどiOSアプリ程度だと
システムのwillterminateメッセージに対応して最終情報をセーブぐらいで済んでるから
あんまり使ってる人見ないなぁ…
coredata自体はレジュームとかiOSの背後に回ったアプリのフリーズドライ
(休眠アプリを圧縮してテンポラリ退避してメモリ空ける)でOSには大規模に使われてるけど。

889:デフォルトの名無しさん
15/12/28 15:26:59.27 VijL79y/.net
Smalltalkはデータを保存できるというけれど、
それはSmalltalkプロセスのメモリ内だけの話。
データはデータベースに保存する。
RDBMSだったりNoSQLだったりAmazonのs3だったり。
Smalltalk内だけプロセスの状態を保存できても意味は殆ど無い。

890:デフォルトの名無しさん
15/12/28 15:32:46.87 MpvL/SZu.net
長くて中身スカスカのコード書いてるとこうなる。

891:デフォルトの名無しさん
15/12/28 15:40:15.68 2PxLG9dT.net
>>872
> 同じ状態を作るのが簡単なんて言った覚え無いけど?w
> お前はすぐに思い込む、俺が言ったことにするよな?
ウ ソ つ き m9( ̄ー ̄)
>>857
>>>850
>> むしろDockerなどで遠隔サーバに自動デプロイした時のデバッグで
>
>だからDockerがあれば十分でしょw
>
>つーか、自動テストしてるんだよね。だから、同じ状態を作るのは簡単。
>テストを再実行するだけでいい。

892:デフォルトの名無しさん
15/12/28 15:41:16.89 on1WoP30.net
> 極端な話、1+1のようなプリミティブな計算に生態系のような壮大な理屈は必要ない
> ということは、バカにでも分かる
バカだからこそ、そう「分かる」のだよ

893:デフォルトの名無しさん
15/12/28 15:48:25.44 VijL79y/.net
>>876
おや?w
「自動テストしてるから」って文字が見えない?
自動テストしてるから同じ状態を作るのが簡単って言ったんだよ?
あんた、自動テストしてるのに、同じ状態作れないの?
そして自動テストをしていなければ、同じ状態を作るのは大変だよ?
テストコードを書いてテストデータを用意しなければいけない。
でもそれは、プロなら当たり前にやることなんだよね。

894:デフォルトの名無しさん
15/12/28 16:07:25.43 5gREh2gG.net
>>873
いろいろ説明してもらっているのをむげにするようで申し訳ないのですが、どうも齟齬があるようなのと、
それを含め「論」より「コード」の方がはっきりするので、Objective-C の動作するコードを示してもらえますか?
もしおっしゃるとおり Objective-C が Smalltalk と同じようなことを単に書き方が違うだけで書けるのなら、
たかだか 2~30行程度だと思うので、ぜひ、お願いします。デバッガでの作業と永続化は無視して残りの
> なにが他の言語だとできないのかがピンとこない
という部分をベタに main に書いてもらってかまいません。忠実でなくとも、インスタンス特異的なメソッドおよび
プロパティの動的追加、そのインスタンスに特異的なクラスに名前をつけて参照できるようにする手続きを
新たに書き下ろしもらうのでもかまいません。よろしくお願いします。

895:デフォルトの名無しさん
15/12/28 16:09:29.00 ylUAFX7e.net
プロ降臨ですかwww
動的言語の話題になってからはずっと傍観してたが、もう業界全体が狂ってるな!

896:デフォルトの名無しさん
15/12/28 16:12:08.36 VijL79y/.net
>>878
> という部分をベタに main に書いてもらってかまいません。忠実でなくとも、インスタンス特異的なメソッドおよび
> プロパティの動的追加、そのインスタンスに特異的なクラスに名前をつけて参照できるようにする手続きを
> 新たに書き下ろしもらうのでもかまいません。よろしくお願いします。
もちろん、静的言語だからソースコードを
修正して対応するのも全然OKですよね!

897:デフォルトの名無しさん
15/12/28 16:16:22.55 VijL79y/.net
そういやPythonで特異メソッドできたっけと思って検索したら
URLリンク(doloopwhile.hatenablog.com)
> しかし「Pythonで特異メソッドはこう書く!」といった記事はそれなりに見かけますが、
>
> 「Pythonで特異メソッドを使えばこんなにハッピーですよ!」という記事は見たことがありません(僕は)。
>
> 新しいメソッドが必要なら、クラスを継承して新しいクラスを作ればいいだけなので、特異メソッドはさほど重要ではないのかもしれません。
ワロタw
全くもってそのとおりなんだよなw

898:デフォルトの名無しさん
15/12/28 16:29:19.49 MpvL/SZu.net
そんなつまらないことで笑えるなんて人生幸せだな。

899:デフォルトの名無しさん
15/12/28 16:33:18.43 5gREh2gG.net
>>878
横ですが、
自動テストで再現できる程度のバグなら、Smalltalkでもいちいちイメージを保存する必要はないと思います。
自動テストでは出てきにくい、めったに出会えないバグに出くわすことってありますよね。
あまり適切な例を思いつきませんが、たとえば100時間動かさないと出ないバグとか。
そういうのを捕まえて潰すときに実効コンテキストがオブジェクトでその永続化もデフォになっていると助かるんです。

900:デフォルトの名無しさん
15/12/28 16:39:23.46 f/yDa8Ky.net
MOO(目を覆いたくなるような汚物)

901:デフォルトの名無しさん
15/12/28 16:40:26.91 5gREh2gG.net
>>881
いえ、この方は Objective-C のランタイムの柔軟性に言及しておられるので、
当方としては、それがどの程度のものかに大変興味があり、できれば main に過程を順次記述していただきたいところです。
C# にはこのような動作はいっさい必要ないことを表明していただけているので、お手を煩わせる必要はなさそうです。
ありがとうございます。

902:デフォルトの名無しさん
15/12/28 16:41:37.60 MpvL/SZu.net
話す相手がいなくて寂しいのかな。

903:デフォルトの名無しさん
15/12/28 16:46:15.15 pElGsOOM.net
>>879
「えっ?スマホからコードを!?」
だいたいそんな感じ。
昨日もテキストエディット開いたけどめんどくさくなって寝た。
URLリンク(developer.apple.com)

904:デフォルトの名無しさん
15/12/28 17:09:04.61 VijL79y/.net
>>884
> あまり適切な例を思いつきませんが、たとえば100時間動かさないと出ないバグとか。
100時間待たないとテストできない事自体が良くないだろ?
待たずにできるような設計にするんだよ。

905:デフォルトの名無しさん
15/12/28 18:04:56.19 2PxLG9dT.net
>>889
待たずにできるような設計をしたらメモリリークは絶対に発生しないのか?
いいかげん自分のみっともなさに気付け

906:デフォルトの名無しさん
15/12/28 19:23:32.98 ekUA2Lsj.net
メモリリークならスナップショットよりgcログの方が100倍役立つよ
何時頃からヒープ使用量が増えてるのか、gc発生頻度はどのくらいか等の時系列データによって
どれだけの事が分かるか
逆に落ちた時のスナップショットだけあっても仕方無かろうが
それに、今時サーバ機なら256GBとかメモリ乗ってんだけど、
それがメモリリークで落ちた時の仮想イメージを
開発機で動かしてステップ実行すんの?
ステップ実行したいからサーバ機と同じメモリを開発機に下さい、って?w

907:デフォルトの名無しさん
15/12/28 21:42:04.14 VijL79y/.net
>>890
メモリリークの話なんて全くしてないんだけどw
一体どこから出てきたのやら。

908:デフォルトの名無しさん
15/12/29 06:19:00.32 SDUTcqS5.net
>>892の�


909:モ訳 「ぼくはウソつきな上に馬鹿です」



910:デフォルトの名無しさん
15/12/29 07:07:46.23 pIdKf0tH.net
その証拠にメモリリークがどこから来たのか説明してみせます!
説明できなかったら、逃げたと思ってください!

911:デフォルトの名無しさん
15/12/29 07:30:34.54 5QScXVkF.net
わからないのかw

912:デフォルトの名無しさん
15/12/29 07:52:05.41 S7hPg+te.net
基本ですよね。
「あーだこーだそーだ!」
つまりどういうこと?
「わからないのか?w」

913:デフォルトの名無しさん
15/12/29 08:23:56.16 /0pFLROb.net
後で面倒なことになったら人のせいにできる素晴らしい戦略ですね

914:デフォルトの名無しさん
15/12/29 10:25:20.46 w25+nhsP.net
わからない人もいるっていう諦めみたいなものも重要

915:デフォルトの名無しさん
15/12/29 10:42:36.95 S7hPg+te.net
メモリリークで検索すれば、誰が話を始めたのかなんて
一目瞭然だろw
最初に話を始めたのは>>890だな。
892 自分:デフォルトの名無しさん[sage] 投稿日:2015/12/28(月) 21:42:04.14 ID:VijL79y/ [11/11]
>>890
メモリリークの話なんて全くしてないんだけどw
まったくもってその通りだなw

916:デフォルトの名無しさん
15/12/29 11:02:19.92 pO0KAO0+.net
>>891
メモリリークの原因を探すためにはスナップショットのほうが数段便利だ。
実行中のサーバを止めることなくスナップショットだけ取って手元で復元すれば
どのオブジェクトがメモリを占有していて、
そのオブジェクトへの参照が残っているオブジェクトを簡単に見つけることができる。
ちなみに開発機ではメモリが足りないということは、
よほど貧弱な開発機でなければまず起こらない。

917:デフォルトの名無しさん
15/12/29 11:14:37.65 a4Pra08x.net
最初からメモリリークしない言語使えば?
Swiftとか

918:デフォルトの名無しさん
15/12/29 11:19:51.72 cKcX4pC+.net
ウチのサーバはメモリ2テラあるけど

919:デフォルトの名無しさん
15/12/29 12:09:09.23 Tk7GRC+0.net
普通1プロセスがそこまでメモリ食わないように何らかの処置はするだろ。
linux なら ulimit 使うなりしてさ。

920:デフォルトの名無しさん
15/12/29 12:47:18.60 QDDW5ibj.net
Smalltalkおじさんは仮想イメージをダンプする前にプロセス殺されてオロオロしてそうなイメージ

921:デフォルトの名無しさん
15/12/29 13:24:54.68 S7hPg+te.net
>>900
> そのオブジェクトへの参照が残っているオブジェクトを簡単に見つけることができる。
どうやって?

別にスナップショット云々は、これ関係ないのよ。
だってスナップショットとらなくても、
該当マシンでやればいいだけなんだから。

922:デフォルトの名無しさん
15/12/29 13:29:28.22 S7hPg+te.net
ちなみにJavaだとこんな感じみたいやな
URLリンク(software.fujitsu.com)
C#だとこんな感じか?
URLリンク(troushoo.blog.fc2.com)

923:デフォルトの名無しさん
15/12/29 16:47:31.74 pO0KAO0+.net
どっちのツールもSmalltalkの機能限定劣化コピーだなw

924:デフォルトの名無しさん
15/12/29 17:35:11.54 uPOyITuG.net
どうせSmalltalkでfizzbuzzとかクイックソートとか素数判定とか竹内関数とかの
トイプログラムしか書いてないんだろうから
無理に業務っぽい話に付き合わなくて良いのに

925:デフォルトの名無しさん
15/12/29 18:04:16.69 S7hPg+te.net
>>907
またでたよw
何も言わないくせに、Smalltalkの方が優れてるっていうやつw
何が優れてるの?ッて聞いたら、
自分で調べろ(逆ギレ)なんでしょう?w

926:デフォルトの名無しさん
15/12/29 20:13:59.08 5QScXVkF.net
>>905
ProtoObject>>pointersTo でそのオブジェクトへの全ての参照が得られる。
もちろんエスケープしたクロージャにキャプチャされたスタックフレームからの参照も含めて。

927:デフォルトの名無しさん
15/12/29 20:16:44.20 5QScXVkF.net
>>909
あなたのようなキチガイがいつまでも相手にされると思わないほうがいいよ。

928:デフォルトの名無しさん
15/12/29 20:48:51.46 uPOyITuG.net
Facebookはコードを解析してバグを発見する静的コード解析ツール「Infer」をオープンソースで公開しました。
Inferが対応するコードはAndroidのJavaとiOSのObjective-C、およびC。現時点ではAndroidとJavaではNullPointerExceptionおよびリソースのリーク。iOSとCコードではメモリーリークを発見してくれます。

URLリンク(www.publickey1.jp)

929:デフォルトの名無しさん
15/12/29 20:55:27.15 a4Pra08x.net
Swiftでは理論的にnullバグやメモリリークが起きないので解析ツールも不要

930:デフォルトの名無しさん
15/12/29 21:04:09.67 QDDW5ibj.net
>>910
わざわざ馬鹿でかいメモリ確保したプロセス実行しないと調べられないなら
Javaのヒープダンプ以下じゃんバカじゃね

931:デフォルトの名無しさん
15/12/29 21:04:49.17 +ubDtqOv.net
>>913
あれ?SwiftのGCって素朴参照カウンタ方式なので循環参照を解放できないんじゃなかった?

932:デフォルトの名無しさん
15/12/29 21:16:32.89 a4Pra08x.net
>>915
循環参照はそうプログラマが実装したからであってメモリリークではない

933:デフォルトの名無しさん
15/12/29 21:24:11.66 3lUD69g2.net
>>915
そのおじさんは「マカー!w出てこい!!www」ってそれっぽいワードを連呼してシャドーしてるだけだから…

934:デフォルトの名無しさん
15/12/29 21:24:13.02 +ubDtqOv.net
>>916
循環参照の解消を失敗したらメモリ解放されないってことになるじゃん?
それってメモリリーク起きるってことだと思うの

935:デフォルトの名無しさん
15/12/29 21:26:18.34 +ubDtqOv.net
>>917
シャドーボクサーなのか、じゃあしょうがない。

936:デフォルトの名無しさん
15/12/29 21:53:55.37 TkQKXDX9.net
>>918
それはプログラマの意図通りの動作だから問題ない。
やはりMacは最強やで。

937:デフォルトの名無しさん
15/12/29 22:06:59.32 +ubDtqOv.net
>>920
さようか、ならば拙者の出番はござらんな
食パンをかじるとしようか

938:デフォルトの名無しさん
15/12/30 00:22:58.02 wAoiK+Ar.net
>>911
キチガイ

939:デフォルトの名無しさん
15/12/30 00:42:06.75 vy2SBag0.net
どや?メモリリークは動的言語じゃないと検出できないやろが?

940:uy ◆Qawu9.2l1E
15/12/30 00:52:45.09 LyNr/J1x.net
年末までイライラしてる奴みると、やはりプログラマってカスだなって

941:デフォルトの名無しさん
15/12/30 03:13:52.72 gralCRA1.net
912-924 を読むと静的言語使う奴は頭悪いんだなってわかるから晒しageておこう

942:デフォルトの名無しさん
15/12/30 03:21:56.86 uNQALYUc.net
>>925
なんか悔しそうだなw
俺も晒し上げておこう

943:デフォルトの名無しさん
15/12/30 09:54:14.97 CpjDneg5.net
オブジェクト指向vs関数型でも
動的vs静的でもなくなって
アラン・ケイかぶれのSmalltalkerを弄るスレになってる

944:デフォルトの名無しさん
15/12/30 10:27:37.76 pdPeyHKo.net
ドヤー言いたいだけの糞スレ

945:デフォルトの名無しさん
15/12/30 11:34:54.78 CpjDneg5.net
RESTful APIこそが分散・動的遅延結合・関数型を全て満たす技術なんだよね
apiは好きな言語で書いたら良いよ

946:デフォルトの名無しさん
15/12/31 17:45:37.66 Sddj+QCE.net
さすがに裸でちんこブラブラさせながら
「これは釣りだ!これは釣りだ!!」って子
相手にするのみんな飽きたっぽい。

947:デフォルトの名無しさん
15/12/31 19:49:47.40 xdIQXsvm.net
プログラマの最大の問題点は技術貧乏性に陥ってしまうこと。
せっかく覚えた技術だからってなってしまう。

948:デフォルトの名無しさん
15/12/31 20:49:23.71 CMQb/rzM.net
作りたいものが無いと特にそうなりがちだね

949:デフォルトの名無しさん
16/01/01 11:18:10.89 5V2XLG/V.net
最大の問題は力量が見えないことだと思う
相手の力量も自分の力量も見えてはいない
ただし、自分が通ってきた道にまだ居るやつのことはなんとなくわかる

950:デフォルトの名無しさん
16/01/01 13:06:36.54 jvRJIema.net
せっかくだから板のオブジェクト指向スレ全部消費してくれんかね

951:uy ◆Qawu9.2l1E
16/01/01 19:58:04.75 xHNmPQBx.net
老害PGは新たに技術覚える事よりも
覚えてる知識を使って何か作る事に重点置き始めるから
もうついてこれてないよ
本人のほうは何故か「過去に自分が通った道にまだいるのか・・・」みたいな事思ってる

952:デフォルトの名無しさん
16/01/01 21:31:11.46 aa4Vn7fE.net
>>935
キミは周回遅れを自覚しよう

953:uy ◆Qawu9.2l1E
16/01/02 04:14:26.00 o7gA3Ogh.net
「時代によって高めるべきスキル」は違うのだから、もうそっちには誰もいかないよ
しかし、老害PGは「なんでこの初心者たちはいつまでも自分のレベルに追いついてこないんだ?」と、思ってる
まぁITに限らず老人でそういう病気発症してる奴って割と多いから
みんな分かって放置してると思う
良いです?
今の時代は他人の作ったツールのインストールと設定をするスキルが重要だから
オブジェクト指向の細かいところなんて余暇でやっとけば良い事なのに
それの細かい部分を覚えている事に価値を見出してるアホは多い
大学で一時期ブームになってたJAVA世代かな?って思う
自分が学生時代に教わった事が、もはや大部分無意味になりかけてるなんて、思いたくはないだろうけど真実
オブジェクト指向がゴミになったという事ではなく、
○○指向とか、一々意識しなくてもアプリが完成する時代
アルゴリズムの内部実装を見ないで最上位をコーディングするように
○○指向という部分を見ない、さらに最上位(設定ファイル記入とマウスポチポチ)で、完成してしまう

ゆえに「オブジェクト指向」よりも上位のレイヤー。設定ファイルマウスポチポチ指向が出来た今、
今まで最上位だったものがひとつ下になり、そこの知識の詳細を
いくら老害PGが重要だと叫ぼうと、それはかつてのアセンブラ/C言語のエキスパートの断末魔のような叫びでしかない

まとめると、
オブジェクト指向とかもうどうでも良い

954:デフォルトの名無しさん
16/01/02 05:15:23.75 6gE2bY5L.net
3周遅れかよw

955:デフォルトの名無しさん
16/01/02 09:14:36.51 Dnf2flaM.net
>>937
プロが仕事で扱う技術に興味ないし、2chで話題にすることじゃないから出ていってほしいな

956:デフォルトの名無しさん
16/01/02 10:13:19.29 By+Z3RvH.net
設定ファイルを書くだけで完成するラッパーが開発される
=> 設定ファイルで設定可能な項目がドンドン細かく詳細になる
=> 設定ファイルの記述言語がついにチューリング完全になる
=> 普通の開発と変わらなくなる

いままでの歴史はこれの繰り返し

957:デフォルトの名無しさん
16/01/02 11:16:24.48 yVCWJ6yH.net
>>940
> いままでの歴史はこれの繰り返し

例えば?

958:デフォルトの名無しさん
16/01/02 12:12:13.20 uD+WV8wT.net
シューティングゲームで設定ファイルを読み込むんじゃなくてスクリプトを読み込ますようにした話は聞いたことある。

959:デフォルトの名無しさん
16/01/02 12:14:26.09 bBqG9oIx.net
普通ゲームはスクリプトでレベルデザインするだろ

960:デフォルトの名無しさん
16/01/02 12:22:58.34 uD+WV8wT.net
>>943 例えば?

961:デフォルトの名無しさん
16/01/02 12:34:30.17 s06XmGKr.net
歴史から学んでる人達は最初から設定ファイルをスクリプトで書けるようにしてる
luaやpythonがよく使われる

962:デフォルトの名無しさん
16/01/02 12:39:42.04 wx4DxJpH.net
歴史から学ぶまでもなく、そんなのはちょっと考えれば分かることで、
Smalltalk環境の設定は70年代からSmalltalkで書かれてるけどな。

963:デフォルトの名無しさん
16/01/02 12:39:57.90 VM0jeeLd.net
Apacheの設定ファイルはなんであんなにクソなんだろう
久しぶりに触ったら超クソだった、ぐぐっても古い情報ばっかだし
やっぱりVagrantで貰ってくるのがええな

964:デフォルトの名無しさん
16/01/02 12:58:28.15 s06XmGKr.net
>>946
設定ファイルを書くスクリプトの選択に失敗すると
アプリ自体が使われなくなるって事を
Smalltalker以外は歴史から学んだよ

965:デフォルトの名無しさん
16/01/02 14:25:54.16 wq9oS32E.net
>>948
Pythonの創始者はSmalltalkから学んだらしいよ。
学んでいないのはあなたのほうだね。
URLリンク(python-history.blogspot.jp)
Smalltalk's bytecode was a bigger influence of Python's bytecode though.
I'd read about it in a book by Adele Goldberg and others, I believe
"Smalltalk-80: The Language and its Implementation"

966:デフォルトの名無しさん
16/01/02 14:42:01.72 s06XmGKr.net
bytecodeは参考にしても構文なんかは似せなかった
Smalltalkの構文が一般受けしないのは歴史的に明らかだったから

967:デフォルトの名無しさん
16/01/02 14:50:11.87 EIjeZ5je.net
キレッキレの>>948に対して>>949はあまりにもお粗末
毎回ソース貼るのは偉いけどなんか論点ズレてるんだよな

968:デフォルトの名無しさん
16/01/02 14:50:12.97 wq9oS32E.net
まさかObj-Cがあんなに使われることになるなんて思わなかったわけだ.
本当に何も学んでいないねw

969:デフォルトの名無しさん
16/01/02 14:59:24.77 rRDwNu+s.net
iOS開発で他の選択肢を選ばせなかったObj-Cを持ち出すとか無いわー
ただのAppleのゴリ押しやん

970:デフォルトの名無しさん
16/01/02 15:07:13.82 6gE2bY5L.net
Objective-CはAppleのゴリ押しだから除外とか言ってたら
Cが普及したのもUnixのゴリ押しだし
登場時にはCとの互換性を売りにしたC++も同罪だし
MLもMilnerの型理論によるゴリ押しだし
その派生言語であるOCamlも同罪だし
きりがないだろ。
正直、バッカじゃねーのとしか言いようがない。

正月から馬鹿晒しておめでとう。

971:デフォルトの名無しさん
16/01/02 15:14:52.72 JOPuE3fj.net
c みたいなメモリだけ意識したアセンブラ風言語は c が登場しなくても
出てきたんじゃないかと思わせる必然性がある。
まあシンタックスは変わってたかもしれんが。

972:デフォルトの名無しさん
16/01/02 15:25:30.97 TGliTIeD.net
言語がどうたらチャラチャラしてる奴が、数匹いるな。
仕様もない糞蠅どもだ

973:デフォルトの名無しさん
16/01/02 15:28:09.21 gWTZIavc.net
>>955
実際Bとかそうだろ

974:デフォルトの名無しさん
16/01/02 15:36:15.19 F8jCIFTt.net
>まあシンタックスは変わってたかもしれんが。

今はまさにそのシンタックスの話だな

975:デフォルトの名無しさん
16/01/02 15:37:27.22 F8jCIFTt.net
> まあシンタックスは変わってたかもしれんが。

今はまさにそのシンタックスの話だな

976:デフォルトの名無しさん
16/01/02 16:33:04.71 oYZFkiTO.net
Swiftが出たら速攻でランク下がりまくって
トップ10圏内から大幅に落ちた上にSwiftにも抜かれた
Objective-Cがどうしたの?

URLリンク(www.tiobe.com)

977:デフォルトの名無しさん
16/01/02 16:53:54.23 wq9oS32E.net
幼稚w

978:デフォルトの名無しさん
16/01/02 17:16:09.12 Dz9NJ2ny.net
動的遅延結合性厨としては
[ ] のなかでメッセージ式が書けるってだけで
Objective-C を Smalltalk と絡めて語ら(騙ら)ないで欲しい

979:デフォルトの名無しさん
16/01/03 00:07:21.72 qiKwbZ3e.net
>>960
アセンブラwww

980:デフォルトの名無しさん
16/01/03 02:31:26.65 mP6eBLwc.net
>>960
いちおーゆーとくとObjective-Cのランク低下は昨秋ランキングアルゴリズム変えて
オンラインリファレンスへのアクセスを計算から外したからなので。
ネットで話題の言語という意味では原点回帰ではあるけれど
オフィシャル系を計算から外したら
逆にそれはネットのどこで何を話題にしてる人々を計算してるんだろう?
という気もせんでもない。

981:デフォルトの名無しさん
16/01/03 02:49:42.24 zEXG4Enn.net
CORBAとか憎しみしか湧かないんでJavaオワコンになって欲しい

982:デフォルトの名無しさん
16/01/03 02:51:53.93 IPqSvD5Q.net
>>964
URLリンク(www.tiobe.com)

アルゴリズム変更で一気に減ったというより、
徐々に減ってるようにしか見えないけど

983:デフォルトの名無しさん
16/01/03 09:49:24.29 jofq69+t.net
いくら現実から目を背けても、Swiftの発表後にObj-Cのランクが急下降してるのは
グラフ見れば一目瞭然
しょせんAppleのゴリ押しで使われてた言語だから、ハシゴ外されたらそりゃ逃げ出すわな

Cは相変わらず人気だから、要するにSmalltalk由来のキモいメッセージ式に
皆がNoを突きつけてるんだね

984:デフォルトの名無しさん
16/01/03 10:16:30.86 43bxFPSU.net
オブジェクト指向のスレってどれも途中でsmalltalkの人が出てきて言語スレになっちゃうよね

985:デフォルトの名無しさん
16/01/03 10:36:43.03 lX/fUZIn.net
日本人は抽象的に物事を捉えるのが苦手ですぐに実例を持ち出したがるからな。

986:デフォルトの名無しさん
16/01/03 10:59:34.96 AcAiI181.net
Objective-CてObjectPascalジャン
CをPascalの焼きまはし

987:デフォルトの名無しさん
16/01/03 18:55:56.78 xRSYAQBp.net
>>969
逆に良い具体例を思いつく能力がなくて抽象論で済まそうとする奴のが多いと思うが。

988:デフォルトの名無しさん
16/01/03 19:35:49.76 SliObw4t.net
実例を敢えて隠したまま抽象論で煙にまくパターンもあるよね
大人ってずるいよね

989:デフォルトの名無しさん
16/01/03 20:54:23.23 RgnbI7tp.net
日本人は~
現実は~
Smalltalkerは~

990:デフォルトの名無しさん
16/01/03 21:53:42.64 72y0mus1.net
ミス
日本人は~
現実は~
smalltalkこそ~

991:デフォルトの名無しさん
16/01/03 22:20:33.26 RgnbI7tp.net


992:デフォルトの名無しさん
16/01/03 23:43:02.17 mP6eBLwc.net
なりすますよねw

993:デフォルトの名無しさん
16/01/04 17:16:32.24 3ZgV6wyG.net
結局1スレまるまる消費してSmalltalkのゴミっぷりを確認しただけか...

994:デフォルトの名無しさん
16/01/04 17:18:16.68 2J2/85DZ.net
Smalltalkのゴミっぷりなんて確認するまでもなく、今回我々が確認したことはSmalltalkに固執するよくわからない人種の生態である

995:デフォルトの名無しさん
16/01/04 17:26:48.98 5zLqhTS3.net
オブジェクト施工より関数施工の方が強度がいいん?

996:デフォルトの名無しさん
16/01/04 18:00:32.11 RY1Mzif4.net
そろそろ次スレのタイトル考えようか。

997:デフォルトの名無しさん
16/01/04 18:09:04.30 gy+jtI5Z.net
「1+1まで動的遅延結合にするのは愚かな考え。1+1は計算式」かな

998:uy ◆Qawu9.2l1E
16/01/04 18:15:40.14 zTvWipKl.net
Smalltalk・Haskell・Prologあたりは変な奴が多いから即NG推奨

999:デフォルトの名無しさん
16/01/04 18:49:11.00 eUmPlviF.net
1+1はコンパイラが最適化して定数2にするのでは?

1000:デフォルトの名無しさん
16/01/04 18:54:33.40 CWcw2pew.net
いいからocaml使ってみろよ

1001:デフォルトの名無しさん
16/01/04 19:17:55.99 WGHaUWWr.net
>>982
それにuyってコテハンも追加しておくと吉

1002:デフォルトの名無しさん
16/01/04 19:18:26.04 RY1Mzif4.net
なんか最近Cが気になりだしてきたvoid *型があれば何でもできる気がしてきた。

1003:デフォルトの名無しさん
16/01/04 19:32:16.26 WGHaUWWr.net
>>981
「1+1」よりは「3+4」だな。初期のSmalltalk-72で最初に評価された式らしいので。

1004:デフォルトの名無しさん
16/01/04 19:43:44.60 RY1Mzif4.net
ラムダ計算ではgotoを使ったプログラムは絶対に掛けないからな。 gotoとvoid *を使えばどんなプログラム言語でも書けない様なプログラムが掛ける、assemblerはつかいたくないけれどC使いたければ。

1005:デフォルトの名無しさん
16/01/04 19:46:16.51 u97FRQbx.net
>>986
そのとおりだ
抽象的/総称的に void * を使えるようになったらしめたもの
標準ライブラリにある qsort() を実装してみるといいだろう

1006:デフォルトの名無しさん
16/01/04 20:43:11.15 bvuJFWqO.net
>>988
>gotoとvoid *を使えばどんなプログラム言語でも書けない様なプログラムが

聞き捨てならんな。w たとえばどんな?

1007:デフォルトの名無しさん
16/01/04 21:00:40.38 RY1Mzif4.net
掛けない様なとはいってるけれど書けないとはいってないだろ。

1008:uy ◆Qawu9.2l1E
16/01/04 21:31:38.10 M6WjdqoS.net
即逃げワロタ

1009:デフォルトの名無しさん
16/01/05 02:11:54.24 hJUQcrkl.net
次スレ

オブジェクト指向は愚かな考え。この世は計算式 ★3
スレリンク(tech板)

1010:デフォルトの名無しさん
16/01/06 11:55:28.58 nQqbz+/u.net
>>993


1011:uy ◆Qawu9.2l1E
16/01/07 03:27:34.74 VBUUQOGk.net
ts

1012:デフォルトの名無しさん
16/01/07 12:06:35.18 6ZkPklY8.net
仮想関数テーブルが別管理で
クラスのインスタンス全体をmemset 0相当できる言語ってある?

1013:デフォルトの名無しさん
16/01/07 20:59:56.11 90bWN72u.net
それは俺も考えたことあるな
結局多態は、ポインタか参照使って呼び出す場合しか意味ないんだから
オブジェクトがvtalbeを持つのではなくて
ポインタや参照に入っているオブジェクトの該当vtableを一緒に保持させれば良いんじゃないかってね
そうすればCの構造体のように本来vtableを持たないものにメソッドを追加したり多態させたりもできる

1014:デフォルトの名無しさん
16/01/07 21:00:47.85 90bWN72u.net
イメージとしてはこんな感じ
struct ptr_t
{

1015:デフォルトの名無しさん
16/01/07 21:02:38.75 90bWN72u.net
イメージとしてはこんな感じ
struct ptr_t
{
void *object;
void *v_table;
};

1016:デフォルトの名無しさん
16/01/08 13:12:26.75 QFsBcVlK.net
一千。

1017:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

1018:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch