1 名前:デフォルトの名無しさん [2015/12/15(火) 13:23:08.06 ID:Rib62xXq.net] オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。 https://twitter.com/ProgrammingMono/status/665702678006140928 研究グループは、血管新生注において血管が伸長する際の血管内皮細胞注運動を制御するしくみを、生物学と数理モデル・ コンピュータシミュレーションを融合させた先端的な研究手法により明らかにしました。 生物は、最小の機能単位である細胞が寄り集まった多細胞体です。しかし、細胞の集まりが、組織や器官といった 秩序ある形態や構造をつくり機能するしくみはほとんど分かっていません。中でも血管は、体中の全組織に十分な 酸素や栄養源を効率よく供給するため、組織や組織の間に入り込み、血管外の環境との相互作用により、巧妙な 枝分かれ構造をとっています。 これまでに本研究グループは、新しく血管がつくられる(血管新生)際の細胞の動きに着目し、特に血管内皮細胞の 動きをリアルタイムで可視化し、定量的に捉えることを可能にしてきました。 今回さらに、血管の伸長を制御するしくみについて、細胞が自発的に自らを制御して動く過程(自律的過程)と、 隣接した細胞から適宜影響を受けて動く過程(協調的過程)がうまく共存することで、全体の動きが巧みに統制 されていることを世界に先駆けて実証しました。 興味深いことに、血管内皮細胞が前後したり、お互いに追い抜きあったりという血管新生で見られる複雑な細胞集団の 動きを制御している中枢部分は、細胞一つ一つの動き(スピードと方向性)の「確率的な変化」として十分説明できる ことをコンピュータシミュレーションで実証しました。 www.jst.go.jp/pr/announce/20151120-2/#YOUGO3 前スレ オブジェクト指向は愚かな考え。この世は計算式 peace.2ch.net/test/read.cgi/tech/1447990379/
545 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 08:28:48.27 ID:+daiOjD/.net] × 実行時に型に関するエラーが発生しないことを保証できる ○ 静的時に型に関する不整合があった時にエラーがわかるからバグを早く修正できる。 (例えば弱か型付けでのC言語などに当てはまる) × 型さえ合わせればモジュールを安全に結合できる ○ 問題に関する問題が解決するから、より安全に結合できる。(問題の全てが解決するなんて言っていない) (例えば弱か型付けでのC言語などに当てはまる) × 型により間違いを検出できるから変更時にデグレしにくい ○ その通り。だが問題の全てが解決するなんて言っていない (例えば弱か型付けでのC言語などに当てはまる) 静的型付けだと、単体テスト+型解析によって、 単体テストのみの動的型付けよりも、より安全になる (完璧など無いから、より安全であることが重要) 何度もいいましたよね? なんで勝手に解釈を変更するんですか?
546 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 08:31:44.33 ID:0ZC/YhCb.net] >>536 つまり前言撤回するわけねw あんた、バカというよりキチガイの領域だよ?
547 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 08:32:10.02 ID:eRscblyy.net] Cの上位互換のObjective-Cも静的型付けって事になったんだから、もうケンカする必要なくなって良かったじゃ無いか
548 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 08:32:39.88 ID:+daiOjD/.net] こいつのやり口はいつも同じなんだよな。 こっちは「比べてより安全。よりコストが低い。より信頼性が高い」って 話をしているのに、変ないちゃもんをつけてくるんだよな。 動的厨「静的言語は完璧っていいましたよね?(←言ってない) こういう場合完璧じゃないじゃないですか!」 動的厨「静的言語はバグ無いいましたよね?(←言ってない) こういう場合バグあるじゃないじゃないですか!」 動的厨「動的言語ではできないって言いました?(←言ってない) 動的言語でもできるんですが!」 勝手に他人が言ってないことを、言ったと思い込んで、 その自分の思い込みを叩いてる。
549 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 08:33:14.42 ID:+daiOjD/.net] >>537 > つまり前言撤回するわけねw 前言も何も、最初から言っていること。 「前言」ってどれだよ?言ってみなw
550 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 08:44:39.41 ID:0ZC/YhCb.net] 思いっきり書いてあるねえ >>439 > 実行時で型に関するエラーが起きないってのは、 > 起きないよう注意を払ってプログラムを書くことができる、じゃなくて、 > 原理的に起こせない、っていう意味で言ったんだけど、分かる?
551 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 08:46:51.27 ID:+daiOjD/.net] >>541 そいつ明らかに動的厨じゃないかw
552 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 08:47:42.61 ID:0ZC/YhCb.net] で、Cのような、コンパイルで型のウォーニングすら出なくても 型安全を破ることができてしまう言語が安全性において優れていると? あんた、完全に頭おかしいよw >>427 > 静的型は型エラーであるもの、つまりアプリのバグ。 > そのアプリのバグを静的型は実行すること無く検出できる。
553 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 08:47:45.08 ID:+daiOjD/.net] というか、本人かな? マッチポンプってやつだろうなw
554 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 08:48:34.89 ID:+daiOjD/.net] >>543 だから、完璧な
555 名前:て言ってないって(笑) より安全。より。何度も言うよ? より安全。 [] [ここ壊れてます]
556 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 08:50:35.73 ID:0ZC/YhCb.net] >>542 バーカ、ちゃんと読めよw 同じIDが>>419 を書いているぞwww
557 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 08:53:32.33 ID:0ZC/YhCb.net] >>545 君は自分が何を言っているのか理解できない類の人らしいね。 君の主張は、 「型安全を確保できない弱い静的型付言語は 型安全を確保できている強い動的型付言語よりも 安全である」だよ? バファオーバランを起こしても 「型に関するエラー」じゃないもん! とか言い出すの? ほんとバカというよりキチガイの極みだなw
558 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 09:17:33.38 ID:MZJ58G0+.net] ほんとにもうこの話題は終わりにしてオブジェクト指向の話に戻してくれ
559 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 10:32:20.23 ID:zDlwL3aM.net] Cが安全でコストが安くて信頼性が高い ちょっと何言ってるのか分からないですね
560 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 13:02:34.89 ID:GTqqbOlK.net] 自分は最初っから、>>419 でも>>439 でも実行時に型情報がいらない言語OCamlについて話をしていたんだけどな。 JavaもC#も不正なキャストを許す型システムを採用していて、型が保証する安全性は小さいが、 こいつらに当てはまる問題点が静的型付け全部にあるわけじゃない。 それを分かっているくせに今度はCの問題点を静的型付け全般に言及しようとする?卑怯な言い分は変わらないのな。 逆に、静的型付けとひとくくりにして優位性を主張し、動的型付けを無理矢理に貶めようとする卑怯者もいるから面倒。 静的解析の優位性とか型システムが提供する安全性なんて、言語によって大きく違うのにな。 IdrisやCoqやAgdaはテストすら要らないくらいの安全性を持ってるけど、それを静的型付け全部の性質にしちゃ駄目だよな。 だから自分はOCamlやれって言ってる。 静的型付けで型システムが強力で実行時に型エラーが起きない&オブジェクト指向をサポートしている言語だから。 やればオブジェクト指向と関数型は決して対立軸にはならないことが分かるから。
561 名前:uy ◆Qawu9.2l1E mailto:sage [2015/12/23(水) 13:14:24.78 ID:uhnrlQdn.net] 飛行機なんて落ちたっていいじゃん
562 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 13:19:23.85 ID:DDf47SHC.net] 順番が逆。 2パラグラフ目にあるような、オール・オア・ナッシングで動的型付き言語を 罵倒するだけの不毛な状況の反論で、ちょっと行き過ぎてファールラインを 超える奴がでただけの話。 あと、オブジェクト指向と関数型どころか、静的型/動的型だって対立概念じゃない。 多くの言語や処理系は静的型付けと動的型情報の両方を扱う。
563 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 13:19:25.16 ID:+daiOjD/.net] >>547 > バファオーバランを起こしても 今度は話をバッファーオーバーランにすり替えたか。 本当にこいつは卑怯w
564 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 13:22:01.38 ID:+daiOjD/.net] >>550 お前の「安全」の定義が違ってるんだよ。 お前は、アプリが不正なエラーで落ちるかどうかの話をしてるだろ。 こっちは最初からそんな話をしていない。 俺が言ってる安全っていうのは、アプリをバグなく 修正できるって話をしてる。 だから、例外で落ちるのも、俺にとっては安全ではない。 アプリが正常に動かないからだ。
565 名前:デフォルトの名無しさん [2015/12/23(水) 13:23:30.17 ID:2bKYe5U2.net] >>551 みつをみたいw
566 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 13:28:32.11 ID:+daiOjD/.net] あー、また揚げ足取られそうだから修正しておくわ × 例外で落ちるのも ○ 例外でアプリが正常に動作しないのも こいつは、例外がでてトラップして画面にエラーですって表示したり エラーを握りつぶしてログを出さずに動かなくても 仕様通りです。ってユーザーに言うようなやつだからなw
567 名前:uy ◆Qawu9.2l1E mailto:sage [2015/12/23(水) 13:36:09.42 ID:xOYwyJJS.net] プログラマが入れたバグのせいで飛行機が落ちました では逆に、プログラマが飛行機を落とす事を考えてはどうだろう? それによって現実世界にある飛行機という乗り物がいかに不備のあるものかが露呈する 飛行機という存在を根底から作り直す必要がある つまりエンジンが止まっても、誤動作しても、人命が助かる作りへと変わっていく どんどん墜落させれば世界は変わる
568 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 13:50:11.47 ID:WSDJ3sSn.net] 文法的に日本語では曖昧な議論しか出来ない。今から英語で議論しよう。
569 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 13:52:00.44 ID:IsVfil8S.net] どうして ID:+daiOjD/ は自ら晒されにくるの?
570 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 13:57:58.13 ID:+daiOjD/.net] >>559 うっぜーからID変えるね(笑)
571 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 14:38:21.71 ID:cD3wXPE+.net] 静的に型検査できる余地が多いから C#が動的型より安全と言ったんだから、 C#よりも静的に型安全なOcaml使いにC#を批判されたら それを認めないとダメだな。矛盾してる。
572 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 14:46:21.55 ID:+NQ/xqJl.net] こういう輩にいくら矛盾を突きつけてもどうにもならんけどね。
573 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 14:51:05.22 ID:+NQ/xqJl.net] そんなに静的言語のが圧倒的に良いなら 動的言語がこんなに使われる訳ないだろっていう 現実をまず見ようよ。
574 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 15:00:05.77 ID:v4yXy6ML.net] ウェブ以外の世界では静的型が圧倒的に多いけどな。
575 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 15:01:46.32 ID:v4yXy6ML.net] >>561 C#の話をしている人って誰だ? 自分でC#を持ってきて自分でC#を批判してるのか?
576 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 15:12:37.90 ID:oeWwCbV9.net] >>565 いや、きみが自分でIDEが簡単に補完してくれるから静的言語はスゴイ! とか謎の珍説を長々開陳してたから 「なんだそれ?w」「当てはまるのって"VC#をVSでWindows"ぐらいだからそれだなw」 って全員判断しただけじゃw
577 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 15:16:08.81 ID:v4yXy6ML.net] >>566 が思いついたのがC#だけで、 知識ないのが露呈しているだけだなw
578 名前:uy ◆Qawu9.2l1E mailto:sage [2015/12/23(水) 15:20:54.46 ID:y3L2qmhF.net] 死ねアスペ
579 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 15:43:40.82 ID:oeWwCbV9.net] >>567 では、そのすごい知識で自分が推してる環境をくわしくw IDを変えてはふんわりざっくり 「どこの静的とぼくのかんがえた動的の話だよw」って ツッコミ入りまくりの話しか君しないでしょw
580 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 15:46:57.79 ID:v4yXy6ML.net] 「C#と全員判断した」とか言うけれど、自分以外の人の判断が 何かわかるはずもない。ただ言えるのは>>566 がそう判断したという事実なだけ。 そこから、>>566 が無知であることが見事に証明されたんだよ。 静的言語でIDEで補完できない言語の方が少ないぐらいなのにな。
581 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 16:14:59.12 ID:hnWS8bx3.net] C#の話をしてたかどうかじゃなく、 C#がOcamlより劣ったゴミ言語と認めるかどうかの 話なんだけどな 必死に話を逸らしてる人がいるね
582 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 16:18:49.87 ID:v4yXy6ML.net] つまりこういうことけ? Ocaml > C# > 動的言語
583 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 16:20:24.44 ID:v4yXy6ML.net] 訂正 OCaml(強い静的型付け) > C#(強い静的型付け) >>>>>>> 動的型付け
584 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 16:31:04.85 ID:hnWS8bx3.net] てわけで、静的型付け派もOcamlがC#, Javaより優れてると認めたんだから これからはOcaml vs Smalltalkでやりなさい 間違ってもC#を攻撃して静的型全体を貶めることの無いようにね
585 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 16:35:08.21 ID:v4yXy6ML.net] だから誰もC#の話なんてしてねーってのw
586 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 16:50:59.04 ID:uhnrlQdn.net] 1人か2人が周りがどんなレスをしても自分の言いたい事散らばしながら、さらに周囲のレスから用語をピックアップして 無関係の用語同士を繋げて、レス安価したりしてるからごっちゃごちゃ 今までに見た事ないタイプのガイジだな
587 名前:uy ◆Qawu9.2l1E mailto:sage [2015/12/23(水) 16:52:15.12 ID:PjxVSF2U.net] 死ねアスペ
588 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 17:02:19.48 ID:iZy07rlJ.net] OCaml vs Smalltalk 、いいね。 同じ厨の意見なら C#厨なんかよりはるかに勉強になる。
589 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 17:05:26.00 ID:v4yXy6ML.net] ほらな。誰もC#の話をしていないって 言ってるのに、さもC#の話をしていたかのような 誤解を与える文章を書くわけさ >>576 ほんとひどいよねw
590 名前:デフォルトの名無しさん [2015/12/23(水) 17:22:26.94 ID:SBD3pGKR.net] そんな誰も使ってない言語同士の対決とか草生える
591 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 17:47:45.23 ID:iZy07rlJ.net] 使ってるし、お前が著しくアンテナ低いか、単に理解不能な低能なだけだろ。 C#だなんて、MS自体が危うい言語の独りよがりな自慢話のほうが痛いよ
592 名前:デフォルトの名無しさん [2015/12/23(水) 17:54:11.80 ID:2bKYe5U2.net] >>581 C#に黒歴史でもあるのか?いい言語じゃないか。使っておやり。
593 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 18:35:00.90 ID:DDf47SHC.net] >>578 どっちもオブジェクト指向じゃねーか
594 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 18:46:04.87 ID:iZy07rlJ.net] 「オブジェクト指向」っても出自の異なる2つの系統があってだな 両者は「クラス」とか「オブジェクト」とかの言語機能は共通しているけど やろうとしていることは静的と動的で真逆なの
595 名前:uy ◆Qawu9.2l1E mailto:sage [2015/12/23(水) 18:49:30.03 ID:PjxVSF2U.net] 神オブジェクト指向だろ
596 名前:uy ◆Qawu9.2l1E mailto:sage [2015/12/23(水) 18:53:46.61 ID:PjxVSF2U.net] 静的で出来るものは、 本来すべて静的でやるべきなんだよ ただしそれは、アルゴリズムを走らせる事よりも、 難解な初期化作業になる場合あるから そういう部分においてある程度の妥協をして、動的生成をする事で現実的な作業量になる 動的言語とはいわば、世界の妥協の集合知なのです
597 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 19:16:24.47 ID:WSDJ3sSn.net] 4 返信:uy ◆Qawu9.2l1E [sage] 投稿日:2015/12/23(水) 19:11:18.55 ID:PjxVSF2U [2/3] >>3 荒 らしは徹底スルー。厳守 でお願いします。 www wwwwwwwwwww wwwwwwww 荒ら しは徹底スルー。厳 守 でお願いします。 w w wwwwwwwww w wwwwwwwww w 荒らし は徹底スルー。 厳守で お願いします。 www wwwwwww www wwwwwww www 荒らしは 徹底スルー 。厳守でお 願いします 。 wwww wwwww wwwww wwwww wwww w 荒らしは徹 底スル ー。厳守でお願 いしま す。 wwwww www wwwwwww www wwwww w w 荒らしは徹底 ス ルー。厳守でお願い し ます。 wwwwww w wwwwwwwww w wwwwww w w w 荒らしは徹底ス ルー。厳守でお願いしま す。 wwwwwwwww wwwwwwwwwww www w w w w 5 名前:uy ◆Qawu9.2l1E [sage] 投稿日:2015/12/23(水) 19:12:50.88 ID:PjxVSF2U [3/3] _ ト,\ / _j;;;;;〉>'"⌒¨⌒>ー| >'" /| い 死 . / ミ/、 __ 〈;;j い ね 〈 /!ヾ "⌒ヾ < の ば ヽ. { / ト、 ∧ }| に / \Nレベ\ /_ { /ハ ね | /Yxxx \{⌒ヾ/〉 ハ l/∨\ ___ xxx/ 人l\___/ xく||>ゝ ノ--イ/ \ / Z ∧}_ / x=≠ヘ { Vハ {{\V 〃 ∧
598 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 19:20:48.25 ID:XPrkRHFD.net] >>584 もともと、「パーツの使い回し」と「分散処理」なんで趣向がだいぶ違うんだよな。 そして、動的は分散処理が最初から念頭にあるから 実行までに環境が変わることがあるのを最初から考慮に入れて さまざまな設計がなされてるってのに、静的側を這ってた奴らは それをいまごろになって副作用だの実行時解決だの言い出してのたうってるという… そして、その尻尾に至っては「静的にやってれば不具合は存在しない!」とか ここに至って言い張るという池沼ぶり…
599 名前:デフォルトの名無しさん [2015/12/23(水) 21:36:24.75 ID:SBD3pGKR.net] 誰もC#推してないのに一人でC#叩いてるシャドーボクサーおる
600 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 21:37:18.89 ID:L95mHKNc.net] >>586 hissi.org/read.php/tech/20151223/UGp4VlNGMlU.html
601 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 22:20:44.03 ID:i2+b/jX1.net] C#er、粘り強く静的型付け代表として戦ってきたが、C#しか知らないとネタが割れたらあっさり白旗か C#erさえも使っている言語の名前を恥ずかしすぎて出せない。C#って不憫だな…
602 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 22:43:34.79 ID:k0HavgjY.net] 動的型を使っていると性格がおかしくなるみたいですね 静的型の人は静的型のメリットを上げているだけなのにね 最近の動的型言語はどんどん静的型の機能を取り入れていっているというのに その現実を見ないふり
603 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 22:45:49.10 ID:oeWwCbV9.net] 相手にして欲しがりすぎだおまえ。
604 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 22:50:14.84 ID:pxGAUGCw.net] 特定の言語の欠点をあげて全体が悪いっていうのは変だろ 動的言語の中にも比較時に勝手に型変換するとか、必要な語が予約語になってないとか、理不尽な動作をする言語はいくらでもあるわけで
605 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 22:58:52.97 ID:k0HavgjY.net] 型安全を保ちつつ柔軟性も保つという相反するような命題にチャレンジするのは プログラミング言語の最先端の花の話題だ 静的に機械的にどれだけたくさんのバグを検出できるかというね 当然動的型言語界隈の人からも、こういうものはよく見えるし 面白そうな題材だから取り込もうとするわ 時代遅れな動的型一辺倒だけじゃ古臭いから 最先端な静的型システムを取り入れようとするわな C言語しか見当たらなかった時代には動的型は最先端に見えたんだろうけど 今じゃ全く逆だからな 今のトレンドなのに時代に取り残された一部の動的信者は頭が固くて可哀想だね
606 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 23:03:07.90 ID:pxGAUGCw.net] >>566 知名度の高い中でC#がわりとよくできてるからそれが例に上がるだけだろ 新しかったりしっかり設計されて、しっかり開発されてる静的言語なら程度の違いはあれ対応している
607 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 23:07:47.18 ID:i2+b/jX1.net] で、ID:k0HavgjY と ID:pxGAUGCw は何言語つかってんの? 言えないってことはC#なんだろうな…
608 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 23:16:12.53 ID:M5GRmAfS.net] ようよう! キャピュレットの!
609 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 23:22:43.24 ID:v4yXy6ML.net] > C#しか知らないとネタが割れた むしろC#しらないんだが?
610 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 23:24:31.14 ID:i2+b/jX1.net] へ? じゃ何を知って静的型付けかたってんの?
611 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 23:26:52.96 ID:i2+b/jX1.net] つーか、ID みたら、おめーには聞いてねーんだが? しゃしゃり出てくんなバカ
612 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 23:51:18.06 ID:hnWS8bx3.net] 実はJavaドカタだったら笑える
613 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 23:59:12.75 ID:XPrkRHFD.net] コンピュータサイエンス方向に詳しくないC++ドカタ上がりだとは思う
614 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 00:04:57.64 ID:ZIvzfH3j.net] >>597 メインはC#とかだけど、C/C++、Java、VB.NET、F#、TypeScript、ActionScriptとかでも型がきちんと指定されてれば補完とかリファクタリングのサポートとかは使えてる Rubyとかも、補完割と優秀だけど仕組み的に静的型ほどの質にはならないなーとか思いながら使ってる
615 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 00:13:04.51 ID:ndtshwiC.net] OCamlより優れた言語が一つもなくて笑った そりゃ恥ずかしくて言い出し難いわな
616 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 00:25:51.89 ID:TrbcLjcW.net] >595 逆とかじゃなくて動的静的でウゴウゴ言ってる奴自体が時代遅れだっつの。
617 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 00:29:15.71 ID:vhy24jAm.net] >>605 > OCamlより優れた言語が一つもなくて笑った OCamlが優れているっていうのなら、 その優れているところを言っていいんだよ。 君が本当にOCamlを知っているのならね。
618 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 00:31:03.47 ID:ZIvzfH3j.net] >>605 OCamlより素晴らしい言語ってなにをあげればよかったんだ 文法や考え方も重要だけどRubyのgemとか.NETのnugetみたいな豊富なライブラリができる程度に利用者がいない言語って触りにくいんだよなぁ CとかCOBOLとかFortranは過去の遺産使用のためにいまだに使われるし 新しい言語は他言語用のライブラリにただ乗りしていく方式が広まってほしい
619 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 00:37:37.29 ID:TrbcLjcW.net] scala か?あれはどれだけ成功しているんだろうか。
620 名前:デフォルトの名無しさん [2015/12/24(木) 01:02:41.26 ID:Q6U3kr4L.net] その点pythonは素晴らしいな
621 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 01:06:29.65 ID:vhy24jAm.net] >>608 どんな言語でもC言語用ライブラリは使えるでしょ?
622 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 02:05:42.62 ID:y9bYd1Em.net] OCamlやりなさいよと薦めた人間が言うのもアレだが、型システムだけで言語の優劣を判断しろというわけじゃないからね。 メジャーな言語は完成度の高い開発環境や充実したライブラリが沢山あるから、何か作るかってときの選択肢に常に入るし、 OCamlも開発してたら面倒臭い部分が一杯あるからね。 型システムに限って言えば、OCamlを魅力ある言語として挙げ続けるがね。 静的型付けだけど、オブジェクトがnominal subtypingじゃなくてstructual subtypingなのも面白いところだよ。
623 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 02:12:20.43 ID:vhy24jAm.net] それで言語厨はいらないんで、静的型付けのOcamlだと どういうことができるのかの話をしなさいって。 どうこういう言語だから面白いんだっていう言語厨の発言じゃなくて 言語のどうこういう機能が、実際の開発をこのように便利にしてくれるって 話をすれば、それはさらに動的言語に対するアドバンテージにもなるだろ?
624 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 02:50:45.74 ID:0ir5W3Vp.net] 「アドバンテージ」 w
625 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 03:54:04.19 ID:y9bYd1Em.net] 頭が静的/動的型付けの二元論の人には何も言うことないよ。 各言語で型が保証してくれる安全性はスペクトルを描くことが分かっていれば、ガッチガチに型で縛られることのメリットは想像できるはず。 型推論のおかげで型注釈は最小限で済むので、面倒な型注釈も最小限で済むよ。 処理内容についてアタリをつけられる程度に型をつくっていれば、コンパイルできたら大体意図通りに動くっていう安心感も、 objectを使うとメソッドの呼び出しにオーバーヘッドがあるから、late bindingが本当に必要なときだけそのコストを払おうっていうメンタルモデルも、 モジュールを上手に使えばオーバーヘッド無しに実装を置き換えられることも、 Expression Problemが超簡単に解決できることも、興味無いでしょ? REPLもあるから、LispやSmalltalkには及ばないながらもインタラクティブな開発ができるけど、興味無いでしょ?
626 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 04:25:47.27 ID:vhy24jAm.net] >>614 > 「アドバンテージ」 日本語にすると、有利な点,強み,長所 って意味だよ。
627 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 04:40:39.66 ID:0ir5W3Vp.net] そこじゃねーよw笑われてるのはw
628 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 04:50:56.56 ID:vhy24jAm.net] それ以外に笑う理由が見つかりませんが? 英語を使うのが苦手ですか?
629 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 05:55:42.72 ID:0ir5W3Vp.net] まるでわかってない。 君高卒か専門卒でしょう?
630 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 07:34:44.49 ID:UWoYNEvE.net] >>615 >REPLもあるから、LispやSmalltalkには及ばないながらもインタラクティブな開発ができるけど、興味無いでしょ? 無い。 静的型信奉者が、静的型チェックによるケアレスミスの排除とインテリセンスの完全性に過度に執着して すべてを動的遅延的かつシンプルに実現することによるメリットにまったく聞く耳を持たず、 時代遅れだと決めつけてバカにしまくるのと同程度に かくも不自然かつ複雑に多大なコストをかけてやっと実現される、にもかかわらず制限付きまくりの まがい物なんかにはこっちも興味は無い。
631 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 08:09:36.07 ID:j6+iXrTs.net] 「コスト」の時点でお里が知れてるんですが、それは…? 素直にVisualC#™️の宣伝してなさいな、君は
632 名前:uy ◆Qawu9.2l1E mailto:sage [2015/12/24(木) 08:22:19.14 ID:G+GnGNiW.net] 安全性とか効率の話をしているときに「○○が面白い」とか突然言い出す奴って邪魔だよね
633 名前:uy ◆Qawu9.2l1E mailto:sage [2015/12/24(木) 08:39:29.32 ID:CtNlYBZF.net] 動的言語でも型情報追っかけてコンパイルって可能じゃね? c = 1 c = "a" function(c) これを内部で Int c1 = 1 undef_var(c1) String c2 = "a" function(c2) こうやったらコンパイラ側は型知ってるじゃん
634 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 08:44:11.80 ID:TrbcLjcW.net] 江添亮なみの頭の悪さ
635 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 08:45:13.50 ID:PjvgHOdY.net] >>623 hissi.org/read.php/tech/20151223/UGp4VlNGMlU.html hissi.org/read.php/tech/20151223/bGd3LzFLdkk.html hissi.org/read.php/tech/20151223/dWhucmxRZG4.html hissi.org/read.php/tech/20151223/ZHBBcWUzY1o.html hissi.org/read.php/tech/20151223/Y0dyQzdxZWQ.html hissi.org/read.php/tech/20151223/eE9Zd3lKSlM.html hissi.org/read.php/tech/20151223/eTNMMnFtaEY.html hissi.org/read.php/tech/20151223/aDJKTXlFZk8.html hissi.org/read.php/tech/20151223/ZFV6WUFBZlg.html hissi.org/read.php/tech/20151223/UDZmKysxZks.html
636 名前:uy ◆Qawu9.2l1E mailto:sage [2015/12/24(木) 08:57:06.27 ID:QbSnczG6.net] c = 1 if rand(2) == 0 c = "a" end function(c) こういうコードを「型推論エラー」として扱うか、 それともコンパイラ側が関数多態化するかっていう話
637 名前:uy ◆Qawu9.2l1E mailto:sage [2015/12/24(木) 09:01:29.81 ID:yBEC7nO0.net] こういう規則を作る方法もある 「変数の初期化・変更は必ず同一のifブロック内で行う」 if rand(2) == 0 c = "a" else c = 1 end function(c) ↓ if (memo = rand(2) ) == 0 String c = "a" else Int c = 1 end if memo == 0 function_String(c) else function_Int(c) end
638 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 09:02:48.63 ID:TrbcLjcW.net] コードレビューして、そんな糞コード書いた奴を首にするのが一番。
639 名前:uy ◆Qawu9.2l1E mailto:sage [2015/12/24(木) 09:02:53.31 ID:Ecjqx/Av.net] ここまで書いて思ったけど型推論の技術がいずれ逆輸入されて終わりそうだな
640 名前:uy ◆Qawu9.2l1E mailto:sage [2015/12/24(木) 09:07:28.40 ID:IhMbbAWz.net] >>628 アスペはカキコしないでくれますか? 抽象化のコードをコードレビューて
641 名前:uy ◆Qawu9.2l1E mailto:sage [2015/12/24(木) 09:18:48.74 ID:g389+8X2.net] 完全に型をトレースする為にはすべての分岐をメモするしかない で、同じ形の分岐をそのまま持ってきて 条件のところを[ memo ]変数にし、 多態化したメソッドを配置して、 [ memo ]変数の中身に沿って実行していく しかしこれは「型安全性」ではなく、速度問題しか解決されない 型安全性は、動的言語のコンパイラの問題ではなくパラダイムの問題で 動的言語の上では、コンパイラを作り込んでも型安全性は得られない よって>>627 これは規則のプロトタイプでとてもひどいものだが、 型推論を確実に行うための何らかの「コーディング規則」は必要になる
642 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 09:22:51.71 ID:PjvgHOdY.net] >>631 hissi.org/read.php/tech/20151224/UWJTbmN6RzY.html hissi.org/read.php/tech/20151224/RWNqcXgvQXY.html hissi.org/read.php/tech/20151224/ZFVwRGxGWTE.html hissi.org/read.php/tech/20151224/Q3RObFlCWkY.html hissi.org/read.php/tech/20151224/RytHbkdOaVc.html hissi.org/read.php/tech/20151224/eHp0c0pWU3Y.html
643 名前:uy ◆Qawu9.2l1E mailto:sage [2015/12/24(木) 09:39:29.04 ID:yBEC7nO0.net] 無駄無駄
644 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 09:52:39.44 ID:8Q8CNXOF.net] 静的型付きがやっていることって、よく考えると動的が開拓したことの後追いなんだよね
645 名前:デフォルトの名無しさん [2015/12/24(木) 10:12:30.78 ID:P/dN5WcP.net] それを静的のスピードで実行出来るのが偉大なのでは
646 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 10:20:29.98 ID:ZIvzfH3j.net] >>620 動的型の言語のメリットを全く聞く耳持ってない人はほんの一部の行き過ぎな人だけだろ それと同程度ってことは静的言語のメリットは全く理解できないっていう極端な方ですか?
647 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 11:36:16.44 ID:acHF714F.net] >>624 質問ではない。
648 名前:uy ◆Qawu9.2l1E mailto:sage [2015/12/24(木) 15:48:25.48 ID:G+GnGNiW.net] 動的生成でやってる事を、静的生成にする事のほうが難しいから 技術を動的言語が開拓していくのは当たり前なんですけど しかし静的生成にする事で計算量が削れてくるから、動的な部分を出来る場所から静的にしていく流れが強いのであって その逆は弱い
649 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 16:23:46.71 ID:7vJ6cUbQ.net] 動的遅延結合的にやっていることを静的型付きで同じようにやろうとすると、 ひどく複雑な方法になる(もちろんその分コストもかかる)という印象の方が強い
650 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 16:24:05.94 ID:lTmsChXg.net] > 動的生成でやってる事 具体的には何?
651 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 16:24:41.70 ID:lTmsChXg.net] > 動的遅延結合的にやっていることを だから具体的には何?
652 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 17:07:23.44 ID:acHF714F.net] >>639 >同じようにやろうとすると 問題はここでは?
653 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 17:55:03.50 ID:J9J3Kh42.net] >>615 >REPLもあるから、LispやSmalltalkには及ばないながらもインタラクティブな開発ができるけど、興味無いでしょ? その「及ばない」程度をどう認識しているかの問題でしょう。 コマンドラインで満足できる人はREPLはインタラクティブと思うのだろうが、 Smalltalkを使う人にとってはREPLのインタラクションは到底我慢ならない。 Smalltalk環境をある程度以上使い込むと、 「この環境を静的型付言語上に実現することは とてつもなく困難(おそらく不可能)だ」と実感するんだよ。
654 名前:デフォルトの名無しさん [2015/12/24(木) 18:47:04.52 ID:ri4CJahT.net] Pythonで何か変更を加えた後、いちいちいろんなテストを書いて実行しないとプログラムが破綻してる場所がないか確認取れないのが腹立たしくて仕方ない この点においてはC++って神だわ
655 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 19:11:30.67 ID:acHF714F.net] 勝利もあれば敗北もある
656 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 19:27:06.30 ID:E5q4kG2K.net] >>644 なんで、変更の影響がそんな外にまで波及すんの。 設計の問題じゃねの。
657 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 19:44:55.51 ID:rA2ypWMt.net] そうか、C++ではロクにテストもせずに「できた」とか思っちゃうのか…こわっ!
658 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 20:08:47.22 ID:E5q4kG2K.net] もともと、大型コンピュータの時代に、ひとつのプロセスが 全CPUパワー使ったまま待ち受けとかしたらすんげぇ無駄だよね? TSS(タイムシェアリング)で複数のプロセスをできるとこから実行させてくとかするし ネットワークで処理分散して別のコンピュータに処理投げるとか いまの"密な関係"を前提としたプログラミングでやり続けるのは泥沼の道だよね? "真のコンピュータサイエンス"が実現するまでは次善の策として モジュール間の接続を疎にして、手続きの順番に強く縛られないプログラミングを やるしかないよね?ってのが40年以上も前のことで、 それが真のコンピュータサイエンスが出るどころかネットは発達するわ 普通の家庭用コンピュータが2コアだ4コアだってなってんのに 『密なプログラミング』の泥沼這ってた奴らはなんでその泥沼から 「キツイから動的からあれ持って来て足したわ、こんどはこれ足したわ これでどんどん"なんでもできるように増築"したから俺スゲー!」って自賛してんだよ。 おまえの棲んでるとこは泥沼なんだよ。泥はね散らかすな。
659 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 20:26:30.06 ID:DECH3WsR.net] >>611 それがそうでも C言語用ライブラリをそのまま使えるようにしようと思うと その言語がC言語のヘッダを理解できる必要がある ヘッダにはプロトタイプ宣言の他にも構造体とか定数とも定義してあるし さらに悪いことにC言語にはマクロが有るからCのソースの断片がそのまま ヘッダファイルに書いてあったりするから C言語のヘッダが理解できるということは、C言語の全部が理解できるということに他ならない C++やObjective-Cみたいな初めからC互換が念頭にある言語じゃないと厳しい 結局Cのヘッダをその言語用に移植してあげないと使えないんだよね windows.hの移植とか、考えただけでぞっとするよな
660 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 20:30:08.49 ID:DECH3WsR.net] >>648 お前の妄言にはなんの根拠もないわけだが 少なくとも最近の動的型界隈は静的型を取り入れるのがトレンドになっているし 実際にそういう言語がどんどん出てきているのは事実 事実は動かしようがない
661 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 20:59:23.91 ID:J9J3Kh42.net] >>649 Cのヘッダを読み込んで自動的に動的型言語用のFFIを定義するぐらい 遅くとも90年頃には実用されてたぞw 何週遅れなんだおまえは
662 名前:デフォルトの名無しさん [2015/12/24(木) 21:32:06.75 ID:Q6U3kr4L.net] >>646 完全に個人用のファイル生成ツールだから設計適当、バグどんとこいって感じで取り敢えず動けばいいって感じなんよ だからしばらく使わない機能とかあって、数ヶ月前に変更したところが変に効いてきたりするんよ ぶっちゃけ設計が悪いのはその通りだと思う
663 名前:デフォルトの名無しさん [2015/12/24(木) 21:41:12.91 ID:Q6U3kr4L.net] >>647 C++の業務プログラマーが適当なんじゃなくて俺が適当なだけなんだけど、もしかしてそんなことも分からず俺がC++代表だと思ってしまう雑魚?
664 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 22:45:00.81 ID:ZIvzfH3j.net] >>651 まじ?移植で純粋に面倒で困ってたんだ C以外ならなんでもいいから実装を見たい WindowsのヘッダならHIDA_GetPIDLItemとかのPIDL操作周りとかある?
665 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 22:57:46.42 ID:DECH3WsR.net] >>651 移植ヘッダがあちこちに上がっているけど 企業はそういうものを使いたがらないんだよね 純正じゃないから [] [ここ壊れてます]
667 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 23:01:53.68 ID:DECH3WsR.net] C用ヘッダの移植の話ならD言語すら苦しんでいる、というか苦しんでいた もう過去の言語で忘れ去られる存在だから過去形で良いよね とにかく全然普及しなかった C言語のライブラリが使えるっつったって ヘッダがそのまま使えないのであれば結局面倒なので普及しないのさ 結局C++を進化させる方向を時代は選択した
668 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 23:07:13.77 ID:Xid5FbCP.net] C用のヘッダを書けばブリッジできるSwiftはやはり未来を生きているな C++++の立ち位置はやはりこの言語か
669 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 23:08:30.65 ID:DECH3WsR.net] >>654 C以外なら何でも良いならC++だな Cのヘッダをそのまま読めるじゃないか C++のCの互換性は完璧じゃないけど Windowsのヘッダは両方に対応しているから問題ない 殆どのC用ライブラリはC++で使われることも想定しているから 大体は問題ない
670 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 00:08:28.55 ID:pGtNhFfn.net] まあなんでもかんでもコンパイラに任せりゃいいと思ってる馬鹿が熱心になるのが c++ なわけで、そもそもすべての仕様を満たしているコンパイラなんて存在しないっていう。 言ってみれば何でもかんでもプログラマに押し付けて、炎上しまくるクライアントみたいなもんだな。
671 名前:デフォルトの名無しさん [2015/12/25(金) 00:12:57.12 ID:v/Z7kcib.net] コンパイラに任せられるところは多ければ多いほど良いだろ
672 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 00:17:30.47 ID:XvkCqMEu.net]
673 名前:逆に実行時のランタイムに何でもかんでも任せれば良いと思っているバガが動的型言語なわけだが [] [ここ壊れてます]
674 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 00:32:53.45 ID:XvkCqMEu.net] 規格書の件も、規格書が実装に先行しているのは健全だろう 実装してみてあとから規格書を起こすのはXXXだよね 特にC++ならまずはBoostとかで実験して便利そうだったら規格に入れていくって フローが有って上手く行っているよね キッチリしているよね
675 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 02:25:48.96 ID:K0bEU4IZ.net] まあ、作る前にできあがる物がキッチリ決められる程度の物を作るなら静的で十分って話
676 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 02:27:22.36 ID:OJPyRqtL.net] できあがる物がキッチリ決められる程度? 出来上がるものがきっちり決められないものって何? そしてそれがなんで静的じゃ作れないの? 静的でも、コードを修正することで、 ありとあらゆる将来の変更に対応できるんだが? 君は、それじゃ無理という理由を書かないといけないね(笑)
677 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 03:11:44.03 ID:IhSwjExx.net] 人類はそろそろ静的型という野蛮な風習から卒業しなきゃな... 静的型なんて昭和までで見切りをつけるべきだった
678 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 04:07:09.91 ID:K9bgF2wt.net] >>664 じゃあ、非常に単純な例で。以下を忠実に静的型付き言語でやってみせて欲しい。 いい具合に君は今、これから何を作らされるかわからない状態だ。 とりあえずオブジェクト(何のクラスに属していてもいい。いや、クラスに属さずにいられるなら、 それでも構わない)を作ろう。 できたかな? 仮にこいつを x と呼称する。 では x に foo というメッセージを送ったら 'bar' と返してくるように振る舞いを加えてみよう。 他にも二つのオブジェクト、y と z が必要になった。これらも当初の x 同様に、現時点では何者でもない。 その後、両者ともプロパティとして x を保持し、片方は baz、もう一方的には qux というメッセージを送ると、 両者とも x を返すように決まったのでそれに従おう。 さらに x には quux というメッセージにも応答させる必要がここで生じた。 当然、今の段階で y.baz.quux を評価したら例外があがるから、そのままデバッガで 'quuux' を返す quux メソッドを定義しよう。 なんとなく各オブジェクトの輪郭がつかめてきたから、x のクラスは X 、y と z のクラスはそれぞれ Y、Z と名付けることにしよう。 念のため、z.qux.quux も 'quuux' を返すことを確認しておく。 これらは大事なオブジェクトだから、次回起動時にもそれぞれのアイデンティティと関係性を変えることなしに 開発を続けられるように永続化もしておこう。 「メッセージ送信」がお気に召さなければ「メソッド呼び出し」と適宜読み替えてもらって構わない。 メッセージ送信もしくはメソッド呼び出しの記法にもこだわらない。
679 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 04:13:00.59 ID:OJPyRqtL.net] > これから何を作らされるかわからない状態だ。 この時点で現実にありえない話だけどなw > では x に foo というメッセージを送ったら 'bar' と返してくるように振る舞いを加えてみよう。 そのようにコードを修正して完了 > 両者とも x を返すように決まったのでそれに従おう。 そのようにコードを修正して完了 > 当然、今の段階で y.baz.quux を評価したら例外があがるから、そのままデバッガで 'quuux' を返す quux メソッドを定義しよう。 そのようにコードを修正して完了 > 念のため、z.qux.quux も 'quuux' を返すことを確認しておく。 そのようにコードを修正して完了 > これらは大事なオブジェクトだから、次回起動時にもそれぞれのアイデンティティと関係性を変えることなしに > 開発を続けられるように永続化もしておこう。 そのようなことができる機能を追加して完了 何かできないことがある? 言ってることが冗長だよね できないこと「だけ」を指摘しなさい。 なお、目的と手段を履き違えないようにねw
680 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 04:20:04.95 ID:OJPyRqtL.net] 動的のメリットは、結局、やるひつようもない アクロバット開発ができるってことだけらしいよなw 綱渡りをしなさいっていう制約はないのに、 どれだけ綱を降りずに開発できるか。 自動テストを使えば、初期状態からもう一度再実行できるんだから デバッグしながら開発するんだ。デバッグを中断したら駄目だっていう 綱渡りな開発をする必要はないんやで?
681 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 04:26:13.87 ID:IhSwjExx.net] 静的脳は動的はバカ、 動的脳は静的は無能と思い込む。 現実は両方必要なのにねえ。
682 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 04:49:18.25 ID:8VJZxsHL.net] 両方必要なことは動的脳はわかってるだろ。 無理に動的なんかいらなイイイ!とか言ってる珍獣土方をからかってるだけで。
683 名前:ネットワークエンジニア(プロ)です [2015/12/25(金) 05:26:40.51 ID:0vV5tzYe.net] 両方必要とかばかじゃないの。 静的におけるディクショナリをお手軽に使えるのが動的だろ。 動的ってのは局所的に使うんだよ。 Webに収まってろよ。
684 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 06:36:40.94 ID:pGtNhFfn.net] >>662 きっちりしてるのに上手くいってないのがc++なわけだが。
685 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 07:21:54.97 ID:IvmyX9uA.net] >>667 「そのようにコードを修正して完了」の一行で済むのに…
686 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 07:27:52.90 ID:OJPyRqtL.net] >>673 煽るのが目的だからこれでいいw
687 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 07:34:07.95 ID:IvmyX9uA.net] >ありとあらゆる将来の変更に対応できるんだが? って大見得切ったわりにはお粗末だったな。インスタンスは作り直しだがとか苦しい言い訳しつつも クラス名の付け替えくらいは出してくるかと予想したが、まったく無しでコピペ返しとはね。
688 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 07:41:03.64 ID:OJPyRqtL.net] 何がお粗末なのか?事実を言ったまで。 ソースコードを修正で、ありとあらゆる将来の変更に対応できる。
689 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 07:41:38.82 ID:OJPyRqtL.net] > クラス名の付け替え それもソースコード修正で可能。 アクロバット(笑)をするのが 目的じゃないんだよw
690 名前:デフォルトの名無しさん [2015/12/25(金) 08:33:49.83 ID:b/ORJMNc.net] すまん、状況に応じて静的動的使い分けられない雑魚おる? どっちかに固執するアスペみたいな奴おるな
691 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 08:36:13.65 ID:hK6V4eA3.net] ITproでstaticおじさんがまた弄られている もう数年前だというのに、赦されるときは来るのか
692 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 09:09:22.55 ID: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 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 09:13:40.79 ID:OJPyRqtL.net] なぜそれを、デバッガを起動したまま 変更しないといけないのか?という問題が有るよな。 まずそこだよ。論点はw
694 名前:デフォルトの名無しさん [2015/12/25(金) 09:40:26.84 ID:b/ORJMNc.net] >>679 オブジェクト志向は愚かな考えというスレタイによくあった、今よりはいい話題を提供してくれるいい記事だ
695 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 10:24:18.27 ID:IvmyX9uA.net] >>681 静的型付けでは「そのようにコードを修正して完了」なんだろ? いいじゃん、それで。なぜわざわざ蒸し返す?
696 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 11:15:03.59 ID:OJPyRqtL.net] >>683 そうなんだよね。手段と目的、デバッガを起動したままっていうのは手段であって 目的じゃない。目的はコードを修正することで、 静的型付けでもできることなんだよね。
697 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 11:22:07.51 ID:zlW/tpNm.net] 手段とか目的とか立場で変わることを言ってもしょうがないじゃんか
698 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 11:25:41.39 ID:JtKLD9Wt.net] ルビーで開発してる人が言ってたけど型エラーが投げられた事は一度もみたことないって言ってた。
699 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 11:26:33.01 ID:OJPyRqtL.net] じゃあ俺は言語を使ってアプリやシステムを作る人の立場で言うわw 最近ではシステムは停止することを前提として、クラウドで 多数のマシンを使って切り替えながらシステムを動作させるのが主流だからね。 一箇所を変えれば、修正が終わりって時代じゃなくなってる。 常に実行しながら行うのは技術的に面白いってだけで実用性は無い。
700 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 11:28:09.42 ID:OJPyRqtL.net] >>686 話しよく聞いてみ。 "型エラー"が投げられたことがないと言ってるだけで "エラー"が投げられたことがないとは言ってないから。 別の名前のエラーが投げられているが、 それは型エラーではないという屁理屈だよ。
701 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 11:33:07.93 ID:IvmyX9uA.net] >>687 それでいいんじゃない? キミの住む静的な閉じた幸せな世界ことで、これ以上何を議論する必要があるだろうか。いや無い。
702 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 11:35:15.65 ID:OJPyRqtL.net] >>689 あぁ、同じことが動的にも言えるね(笑) 動的の閉じた世界であーだこーだ言ってればいいんじゃないw どうせ、言語を使ってアプリやシステムを作らない人の オナニーでしょ?w
703 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 11:39:46.06 ID:JtKLD9Wt.net] ルビーの場合はコードの構造が型エラーを許さないようにできているから型エラーは起きないらしいね。
704 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 11:43:08.18 ID:OJPyRqtL.net] ちなみに、どのような構造だから型エラーを許さないかを 詳細に語って見せてというと・・・? 言えないんだな、これがw
705 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 11:48:11.81 ID:IvmyX9uA.net] 静的型付きでは普通やらないことは全部アクロバット そういうことやるやつは皆、アプリやシステムなんか作ってない奴 って妄想もすごいな
706 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 11:49:13.31 ID:JtKLD9Wt.net] 現実でよく使われてる言語の静的型付けはセキュリティーの助けになってないんだって。
707 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 11:51:54.57 ID:JtKLD9Wt.net] 型安全の安全は幻想であって、ルビーの型付けは安全かつ生産性が高いんだって。
708 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 11:52:57.87 ID:OJPyRqtL.net] そりゃセキュリティのためじゃないしw こういう「静的言語は○○が目的なんだ」←動的厨勘違い でも「静的言語は○○の役に立たないんだ!」 という、自分で間違ったことを言って、それは間違いだって 指摘するマッチポンプやめてくれないかね?w
709 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 11:57:12.88 ID:IvmyX9uA.net] 君はいったい何と戦っているんだい? 世のなか馬鹿ばっかりで、さぞや大変だろうね。そんなに頑張らなくてもいいんだよ。
710 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 11:58:07.60 ID:OJPyRqtL.net] 戦うというよりかあしらってるって感じだけどなw
711 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 11:59:19.48 ID:JtKLD9Wt.net] 誰もが初めは動的型付けなんて使ったら滅茶苦茶になるって思ってルービーを使ってみると誰もがその自由度に驚きその恐れは間違いだったことに気が付くんだって。
712 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 12:03:49.35 ID:OJPyRqtL.net] > 誰もがその自由度に さっきも、それは具体的にどういうことって聞いたけど、 見事に答えなかったでしょ? また今回も答えないよ。その自由度を。 あ、手段と目的を履き違えないでねw それを使って、何に役立てられるかを答えるように。
713 名前:ネットワークエンジニア(プロ)です [2015/12/25(金) 12:30:08.52 ID:0vV5tzYe.net] ruby? ああ、twitterが誤りに気づいて捨てられたやつか
714 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 13:13:35.65 ID:peTf9jy5.net] >>691 タイポとかで存在しないメソッドを呼んだときに静的型では型エラーになって、動的型では別のエラーになるということでしょ?
715 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 13:33:40.28 ID: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 名前:デフォルトの名無しさん [2015/12/25(金) 13:39:12.58 ID:b/ORJMNc.net] でも動的厨が叩いてるのC#じゃないっけ?
717 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 13:41:17.94 ID:W214cjQ2.net] 「static-typeおじさん」はなぜ自信満々なのか…
718 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 13:42:41.49 ID:H65SAupI.net] >>704 それは連想ゲームで叩いてるんだよw 動的型は型安全 → 静的型は型安全じゃない → 静的型のC/C++は型安全じゃない → 静的型は型安全じゃない → C#は静的型 → 静的型は型安全じゃない こんな感じでねw
719 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 15:31:05.22 ID:JtKLD9Wt.net] これは針の上の天使問題の一つにだな。
720 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 20:26:11.52 ID:P+AWGo7j.net] >>648 で終わったら性的おじさんが 「終わりじゃねぇ!」って発狂した流れ
721 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 20:32:11.38 ID:RqZZBlSb.net] Swiftのような本当の意味で型安全な言語って他にある?
722 名前:デフォルトの名無しさん [2015/12/25(金) 21:04:06.54 ID:VdtrNDQn.net] static-typeおじさんとかいう頭悪そうなレッテル貼りすこ
723 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 21:17:46.87 ID:XvkCqMEu.net] っても最近の動的型はどんどん静的型の機能を取り入れている現実が有るわけだから レッテル貼りしようにも、自分たちにも降りかかってくるんじゃないかね
724 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 21:19:31.49 ID:JtKLD9Wt.net] 型はカリーハワード対応で証明が出来るから安全なんだけど、C++とかはそういうことできないからな。
725 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 21:23:41.52 ID:pExGh+/O.net] 馬っ鹿野郎カーリーハワード対応なんてやりだしたら型推論もできなくなるじゃねえか。 まだ証明駆動開発に手を出すのは早いというか、現実とのすり合わせが欲しいところ。
726 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 22:45:11.43 ID:cOtvUzth.net] 気分はstatic-type!: 何度聞いても動的のメリットってピンとこないんです!
727 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 23:05:46.54 ID:ya9ISuTA.net] 極端な話、Cでシングルプロセッサの組み込み機材用の 小さなプログラム組んでる現場しか知らないプログラマが C++もObjective-Cも"自分には必要のない機能"だから 関数で十分だろ!って言い張ってんのといっしょだからな。
728 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 23:07:42.36 ID:H65SAupI.net] なら必要な理由を言うべきでは?w
729 名前:デフォルトの名無しさん [2015/12/25(金) 23:14:42.64 ID:VdtrNDQn.net] 動的のメリットがピンとこないやつはそうそういないだろ それ以上に静的のメリットが目立ってきただけで
730 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 23:19:44.67 ID:NwxuBGdr.net] まだやってたのかい おおいぬ座VY星の大きさにくらべたら そんなちっぽけな事なんてどうでもいい話だぞ。
731 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 23:20:18.82 ID:RqZZBlSb.net] 今から5年後10年後を考えるともうプログラミング言語はSwift以外は必要ないんじゃない?
732 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 23:24:54.08 ID:Zq2DCqaM.net] >>719 ふぞけんな ガベージコレクション実装してくれたら考える 循環参照うざすぎ
733 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 23:30:22.04 ID:O7yo+mtd.net] >>715 井の中の蛙に大海原でのサバイバルに必要な知恵を説いたところで、 「技術的に面白いってだけで実用性は無い」って一蹴されるのがオチ。 時間の無駄だと気付よ。www そのカエルが想像力を欠いた思い込みの激しい自信たっぷりの頭の固いオッサンだったらなおさら。
734 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 23:39:55.58 ID:H65SAupI.net] まず説明するべきだろうw
735 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 23:43:21.09 ID:fIh1CtOA.net] このLISPロートルもC#を使ってりゃ 200行程度のコードのデバグ()に40時間も無駄にせんでも済んだのにな! cybozushiki.cybozu.co.jp/articles/m000442.html
736 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 23:45:19.82 ID:RqZZBlSb.net] >>720 メモリ管理もできない雑魚プログラマにとってGCは生命線なんだろうけど、 あらゆる環境で動作する、これからのIoT時代を考えると、 プログラマの意図しないところで勝手に動作するGCを言語仕様に組み込まなかったのはSwiftの数多くの英断のうちのひとつ
737 名前:デフォルトの名無しさん [2015/12/25(金) 23:59:15.15 ID:ZRRrPEfi.net] >>723 おもしろい!
738 名前:デフォルトの名無しさん [2015/12/26(土) 00:05:35.63 ID:X/dp4KOm.net] >>720 pythonみたいに参照カウントをベースに循環参照も破棄できるようになればいいのにね!
739 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 00:08:12.89 ID:ZXEkf1l0.net] SwiftもまずはWinとLinuxでしっかり動くようにしないと言語仕様に関係なくお話にならない .NETは今必死に他環境に移植してるけど、結果がどうなるか
740 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 00:12:29.18 ID:AIAsWwFm.net] Windowsは既にプラットフォームとして終わっているから問題ない OSXは誰もが最新を使っているが、Win10入れてるやつがどれだけいる?
741 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 00:22:19.00 ID:h8/CI80S.net] >>724 > メモリ管理もできない雑魚プログラマにとってGCは生命線なんだろうけど、 体育会系かな? やらなくてもいいことを頑張っても 評価されないよw
742 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 00:25:35.01 ID:AIAsWwFm.net] >>729 Swiftには明示的なメモリ管理は必要ないよ 頭の中にマシンを思い描けば、あとは勝手にSwiftがメモリを管理してくれる イマジンからバイトコードを作る、これまでのプログラミング言語と一次元違う生産性を与えてくれる言語だね 循環参照に困ってるようなプログラマは、結局マシンと繋がってない2流なんだよ 何の言語やってもゴミだと思うよ
743 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 00:27:11.73 ID:h8/CI80S.net] >>730 あんまりおもしろくないかな。
744 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 00:29:13.18 ID:ZXEkf1l0.net] >>728 少し調べるとMacでも最新は半分とかいうデータもあるが・・・ 少し古くなると無言でアップデートが降ってこなくなるのはどうにかしろよ
745 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 02:08:48.33 ID:fgdYsfOp.net] >>731 なんか露骨にシャドーボクサーが敵だと思う相手のモノマネ始めた…って感じだよなぁw
746 名前:uy ◆Qawu9.2l1E mailto:sage [2015/12/26(土) 05:47:09.22 ID:FnXDSeGk.net] アスペしかいないなこのスレ
747 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 09:17:49.02 ID:Pbxj7UC/.net] 静的動的のメリットデメリットの項目を挙げていくと 静的型付けが大差をつけて勝ってると思うのに、 自分で実際に開発すると動的型言語を使ったときのほうが 明らかに生産性が高いのが腑に落ちない あ、ちなみに静的動的両方使ってます日常的に
748 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 09:53:04.49 ID:btZXIc4v.net] >>700 「このC#erは、動的機能なんか仕事じゃ使わない。 あれは曲芸のためのもんだと決めつける。 それにLispとかSmalltalkみたいな極端な動的言語でアプリやシステムをきちんと動かしたことがあるって実例を知らないよ。 そもそも、動的言語にはC#にある型チェックや完璧なインテリセンスが理論上作れないもんな。 「このC#erが動的言語を見くだしている時、もちろん彼にはそうしているという自覚がある。 C#よりも型付けの弱い言語は、 明らかに力が弱い。彼が慣れ親しんだ安全性・利便性がないからだ。 しかし、このC#erは反対の立場から見られるとき、彼は自分が見下されているのだということには気付かない。 彼が耳にするのは、自分には無用な変てこりんな機能や使い方ばかり。 どうやらそれらをC#で出来ることと引き換えにできるくらいパワフルと勘違いする馬鹿もいるようだが、 やつらは目的と手段をはき違えている。真摯に耳を傾けようにも俺の現場では有り得ない想定が出てくるばかり、 と思うだろう。 「彼にとってはC#で十分なのだ。何故なら彼にとってC#で十分な仕事がすべてだから。
749 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 09:58:56.71 ID:NGJJ2lD8.net] 静的型付けは処理系のための技術。ベンチマークやエラー検出などカタログスペック的なメリットを挙げやすい。 動的型付けはプログラマのための技術。良さが工学的な指標に直接現れにくい。 だから>>735 は至極自然なこと。 matzがよく言う「書いていて気持ちいい言語」もそういうこと。
750 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 10:16:26.79 ID:h8/CI80S.net] >>736 > このC#erは、動的機能なんか仕事じゃ使わない。 あれは曲芸のためのもんだと決めつける。 決めつけてるんじゃないよ。 お前が曲芸の話しかしないからだろう? 停止して修正しても同じことができる。 停止しないで修正する。以外のことは何一つ言ってない。
751 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 10:17:43.34 ID:h8/CI80S.net] >>737 > 静的型付けは処理系のための技術。ベンチマークやエラー検出などカタログスペック的なメリットを挙げやすい。 客観的にメリットをあげられる。 > 動的型付けはプログラマのための技術。良さが工学的な指標に直接現れにくい。 主観による好みしか無い なるほどねぇw
752 名前:デフォルトの名無しさん [2015/12/26(土) 10:18:26.61 ID:EXUTS9i+.net] Swiftってそんなにすごいのか フォートランぶち転がせるかな
753 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 10:43:34.57 ID:CL7rBGr9.net] >>717 残念ながら多いみたいだよ。 >>739 指標化しずらくても大事な事はあるって言う当たり前のことからまずは目を向けようか。
754 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 10:47:22.39 ID:KNyipM+p.net] このスレのstatic-typeおじさんはプログラム書いたこと無さそうな感じするわ webの記事だけ読んでカタログスペック語っちゃってるってことか
755 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 11:33:23.04 ID:h8/CI80S.net] >>741 まず「大事なことはあるんだ!(完)」じゃなくて 説明することから始めような?
756 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 14:00:14.24 ID:JNqWY34w.net] 説明してもらえる態度から始めような。おっさん。
757 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 14:17:21.38 ID:lwOCx2j3.net] メリット、デメリットと言っても、チューリング完全ならどの言語を使ったって同じだからなぁ ラーメンタイマーを作るのに態々コンパイラを引っ張り出してくるなんて馬鹿らしい事をするのか? EXCELのデータを加工するのに、C#使って加工するのか?
758 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 14:44:09.10 ID:NGJJ2lD8.net] >>738 >停止して修正しても同じことができる。 停止したらできないことは多い。君がそのどれにも気付いていないだけ。 気付かないのは、それだけ経験が浅いということ。 君は素人だから仕方ない。だから責めはしない。 しかし自分の無知は自覚しておきなさい。
759 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 15:16:22.31 ID:cLEQ3vA1.net] 経験が〜ってこれ 言い出すほうがザコっぽいよねいつもw
760 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 15:19:49.45 ID:h8/CI80S.net] > 停止したらできないことは多い。君がそのどれにも気付いていないだけ。 いっつもこればっかりだよなw 具体的な説明はしない(できない) 説明しないくせに、理解できないのは他人のせいw
761 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 15:21:01.87 ID:MxaSLHJT.net] 例えば、乱択アルゴリズムでのコーナーケースのデバッグは、 修正後の動作確認するには元の実行状態を完全に復元しないと無理だわな。
762 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 15:27:36.14 ID:MxaSLHJT.net] 自分の管理下にないサーバとのチャレンジ/レスポンスでのデバッグも 一旦プログラムを実行中断してしまうとサーバ側が同じチャレンジをしてくれないな。 他にも、実行状態を中断せずに修正して動作確認したいケースは多々ある。 1つも挙げられない人って、プログラマとしてどうなんだろうね?
763 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 15:28:32.73 ID:h8/CI80S.net] >>749 元の実行状態を完全に復元したら、 次の乱数の値は同じものが出現するってこと? それでデバッグできるってことは、そういうことなんだろうね。 乱数の値が、前の状態によって決まるのであれば、 一番最初の状態を一つ定義するだけで、同じ状態が復元できるのでは?w
764 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 15:30:11.50 ID:h8/CI80S.net] >>750 > 自分の管理下にないサーバとのチャレンジ/レスポンスでのデバッグも > 一旦プログラムを実行中断してしまうとサーバ側が同じチャレンジをしてくれないな。 では、動的言語にすると、サーバー側は同じチャレンジをしてくれる、というのかね?
765 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 16:08:40.09 ID:sP1JXdgY.net] 職業プログラマが出てこないでよ。 仕事の話しないでよ。
766 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 16:11:36.35 ID:7h5tLOzP.net] だめだこのおっさん。自分の思考が停止してることにぜんぜん気付いてない。www
767 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 16:16:43.64 ID:h8/CI80S.net] 「私はこういう意見がある!(ドンッ)」 ほう、言ってみ? 「自分で考えろ!(ドンッ)」 だめだこりゃwwww
768 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 17:01:59.36 ID:7h5tLOzP.net] 緩募 Aという状況に対処することの必要性を Aという状況を想定できないおっさんに説明する方法 Bという方法で対処できる事態においてBが有効であるということを Bを無意識に選択肢から排除して疑問を持たないおっさんに説明する方法 あるいは 端から話を聞く気がないわりにこまめに絡んでくる痛いアスペのおっさんに退場いただく方法
769 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 17:13:02.19 ID:vJHNtaLI.net] 答 スレタイ嫁 (ここは静的型付の優位性を論じるスレではない)
770 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 17:20:46.23 ID:gCn4MbmU.net] >>757 クソがクソ溜めでクソな話して楽しんでるのに横槍いれんじゃねえ 帰れアスペ野郎
771 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 18:20:09.09 ID:lipwm7l1.net] >>749-750 それができるのは動的型付けだからか?perlでもphpでもできるのか?CommonLispとSmalltalkはできるけど。 CommonLispで>>749-750 ができるのはデバッガが充実してるからで、オブジェクト指向は関係無いな。
772 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 18:40:19.19 ID:AIAsWwFm.net] 今の職業プログラマは10年したら「プログラミングネイティブ」世代に置いてけぼりにされるのにね 今でも、できる中年プログラマはマイコンやMSXでBASICとかやってた人なんだろうとは思うんだけど、 かつては金持ちの道楽だったプログラミングが次世代からはいっきに敷居が下がる 「仕事では使えない言語」という評価は、「その言語を使えるレベルの高い人がいない」という人月による奴隷労働の生む現象だけど、 5年もしたら奴隷階級でも、"流行の言語を10代から遊び感覚で使ってきた"、プログラミングネイティブ世代に置き換わる
773 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 18:55:24.91 ID:h8/CI80S.net] >>759 良い指摘だねw そう。それはデバッガの機能 https://msdn.microsoft.com/ja-jp/library/y740d9d3.aspx > 次に実行されるステートメントを設定する > > デバッガーを中断した後、実行ポイントを移動して、コードの次に > 実行されるステートメントを設定できます。ソース ウィンドウまたは > [逆アセンブル] ウィンドウのマージンに表示される黄色の矢印は、 > 次に実行されるステートメントの位置を示します。 > > この矢印を移動すると、コードの一部をスキップしたり、前に実行した行に戻ったりできます。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > 既知のバグを含むコードのセクションをスキップするなどの場合に利用できます。
774 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 18:56:29.15 ID:OdF2h8JB.net] 構造化プログラミングでのgoto排除ですら 実は"人間の都合"であって最速最良を追求するならgotoあったほうがいいわけで つまり性的おじさんの必死で主張してる効率の良さは 下からどんどんコンパイラ最適化でいままさに 人工知能に機械的に喰われてる部分であって。 アセンブラと動的な抽象化の間でなにをのたうっているのかと…
775 名前:デフォルトの名無しさん [2015/12/26(土) 18:58:53.84 ID:EXUTS9i+.net] (今度は静的言語の速さを話題にシャドーボクシング始めたぞ)
776 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 19:01:08.59 ID:h8/CI80S.net] >>763 そうなんだよねw 上で俺はマッチポンプって書いたけど、 「静的厨はこういうことを言ってるんだ!」と 自分で言っておいて、それを叩くというわけのわからんことをやってる
777 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 19:07:23.46 ID:h8/CI80S.net] 前にも書いたと思うけど、>>761 を出したついでに関連してこれもかいておくか。 エディット コンティニュ https://msdn.microsoft.com/ja-jp/library/bcew296c.aspx > Visual Studio 2015 その他のバージョン > > エディット コンティニュを使用すると、プログラムが中断モードのときにソース コードを > 変更できるため、時間を節約できます。 Continue や Step などの実行コマンドを選択して > プログラムの実行を再開すると、一定の制限の下で、エディット コンティニュがコードの > 変更を自動的に適用します。このため、デバッグ セッション中にコードを変更できます。 > デバッグ セッションをいったん停止し、プログラム全体を再コンパイルしてからデバッグ セッションを再開する必要がありません。 [] [ここ壊れてます]
779 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 19:10:09.63 ID:OdF2h8JB.net] swiftにシャドー挑んだスマホで書き込んで 即座に切り替えて自分で自分に 「そうなんだよね」ワロタ
780 名前:デフォルトの名無しさん [2015/12/26(土) 19:16:55.46 ID:EXUTS9i+.net] 自分が自演してるからって人もしてると思ってんじゃねーよ あとフォートランが死なない理由は速いからと思ってるようだけどどちらかというと遺産が多過ぎるから、老害の使用率が高すぎるからだぞ そしてこれはシャドーとは言わない
781 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 19:37:51.44 ID:E3MIEZFa.net] どちらにしても、動的型がどんどん静的型を取り込んでいる現状があるのにそれを無視してもな 静的型にメリットが無いなら、本来静的型がなくても動く動的型が わざわざ静的型を取り込むわけ無いということぐらい直ぐにわかるのに
782 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 19:40:22.05 ID:OdF2h8JB.net] それが3つめのでしょ?すぐわかんだよね…
783 名前:デフォルトの名無しさん [2015/12/26(土) 19:54:49.37 ID:EXUTS9i+.net] このスレに書き込んでるのは二人だけってマジ?
784 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 20:01:24.61 ID:h8/CI80S.net] >>770 他人にそれを判断することは不可能だよ。 (あったら説明して納得させてみいw) だから思い込みと見て間違いない
785 名前:デフォルトの名無しさん [2015/12/26(土) 20:06:55.31 ID:EXUTS9i+.net] >>771 それも俺なんでしょ?すぐわかるんだよね…
786 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 20:40:10.56 ID:NGJJ2lD8.net] >>759 CLとSTの両方とも動的型付けだというのは偶然ではないと思うぞ。 OCamlのような実行時型情
787 名前:報を持たない言語/処理系で 実行中に修正して継続実行することは非常に困難であり、 かつ、型の制約が強すぎて修正できる部分は非常に限定される。 修正前後での型の一貫性を保てない修正ができないから。 以上の理由から、動的型付けの利点と言っていいと思うが、どうよ? [] [ここ壊れてます]
788 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 20:42:16.15 ID:NGJJ2lD8.net] >>761 コードの実行中でのコード修正&実行継続と 単なるデバッガ中でのステップ実行の区別もつかない人は 黙ってたほうがいいと思うよ?
789 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 21:08:32.92 ID:6DkdQBNB.net] エディット コンティニュはデバッグ ビルドでのみ動作します。wwwww エディット コンティニュは 64 ビット コードでは使用できない wwwww
790 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 21:09:02.33 ID:KNyipM+p.net] OCamlのデバッガに1ステップ前に戻る(ステップ実行の反対の)操作があるのスゴイ
791 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 21:11:28.36 ID:MxaSLHJT.net] >>765 動的言語の単なるアクロバットの実用価値がやっとわかって静的言語にも取り込もうとしている現状にやっと気付きはじめたんだねw 実行時変更にメリットがないなら静的型がわざわざ実行時変更を取り込むわけ無いことぐらい直ぐにわかるのにwww
792 名前:デフォルトの名無しさん [2015/12/26(土) 21:16:27.69 ID:EXUTS9i+.net] >>777 ちなみにこれも俺なんです。すぐにわかるんだよね…
793 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 21:16:30.94 ID:6DkdQBNB.net] https://msdn.microsoft.com/ja-jp/library/ms164927.aspx デバッグ セッション中に C# コードに適用できない変更は、次のとおりです。 - 現在のステートメントまたはその他のアクティブ ステートメントに対する変更。 - アクティブ ステートメントには、現在のステートメントを取得するために呼び出される、 呼び出し履歴上の関数内に存在するすべてのステートメントが含まれます。 - ソース ウィンドウ内では、現在のステートメントは黄色の背景で示されます。 その他のアクティブ ステートメント (読み取り専用) は、網かけの背景で示されます。 これらの既定の色は、[オプション] ダイアログ ボックスで変更できます。 - 型のシグネチャの変更 - 以前にキャプチャされていない変数をキャプチャする匿名メソッドの追加。 - 属性の追加、削除、変更。 - using ディレクティブの追加、削除、変更。 - アクティブ ステートメントの周囲への foreach、using、または lock の追加。 じゃあ、なになら出来るんだよwwwwww
794 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 21:44:49.52 ID:gbQMSnGA.net] >>776 >1ステップ前に戻る(ステップ実行の反対の)操作がある すごいな。 d.hatena.ne.jp/mzp/20081225/ocamldebug ほんとだ。実行時コンテキストはどうやって巻き戻しているの?
795 名前:uy ◆Qawu9.2l1E mailto:sage [2015/12/26(土) 22:25:14.87 ID:4ahr08St.net] このスレの奴12/25までケンカしてたんだな・・・ お疲れとしか
796 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 22:58:18.55 ID:lipwm7l1.net] >>773 多分、プログラミングとは何か、実行環境とは何かっていう部分が違うんだと思う。 超強力なデバッガを持っているCLやSTだと、絶賛稼働中の環境でも修正できるのが単なるメリットではなく、 そういうやり方も当然あるものとして開発を続けるのが普通、だと考えているのではないか。 根底にあるのは、プログラムを実行する人と開発者が分かれていない、分かれていてもそんなに遠くない関係のままであり続ける(べき)というスタンスなんじゃないかと。 特にSmallTalkは(というよりアラン・ケイが)そういう考え方の元で作られた言語+環境だから、 SmallTalkerにとっては実行時の型情報が重要だし、動的型付けも必須だと思う。むしろ空気のようなもんになっているんじゃないかと。 一方で、実行者にプログラミングの素養を期待しない、開発者は遠くの人、みたいな場合はデバッガなんて実行時にあるだけ無駄だし、 開発者はバグが無いよう細心の注意を払うべきだし、言語はそれをサポートする機能を持つべき、っていう考え方の人もいる。 そういう人は強い静的型付けで型システムが豊かな言語が魅力的に見える。 コードの再利用のために継承を欲しがり、ついでにオブジェクト指向も入れてしまった言語…黙秘します。語るべきじゃない。
797 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 00:25:42.92 ID:LQildC0d.net] >>775 現在では64bitにも相当まで対応してるはず リリースビルドは動的型と比べて自由度と柔軟性を捨てて速度を選ぶんだから、しょうがない やってみるとわかるけど、VisualStudioの出来の良さも含めて案外使い物になるよ
798 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 00:45:39.53 ID:K/y89QOU.net] >>782 議論の参考になるか分かりませんが、アラン・ケイが出してた 動的にやれることのメリットとしてはこんなのがあります。 例えば、あるプロジェクトを一年以上続けていて、 沢山の大切な物が出来上がっているとする。 何万もの動いているオブジェクトがあるクラスに、 システムを破壊せずにいくつかのインスタンス変数を追加して、 動的にそれらを再構成する事は出来るだろうか? ただあくまで彼は早期結合に批判的なのであって、(静的)型に必ずしも反対しているわけではないようです。 きっと遅延結合をサポートできる柔軟で賢い型システムが出てくれば歓迎するでしょう。
799 名前:uy ◆Qawu9.2l1E mailto:sage [2015/12/27(日) 00:50:00.24 ID:Dbb+2cjN.net] https://www.ruby-lang.org/ja/news/2015/12/25/ruby-2-3-0-released/
800 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 01:10:47.29 ID:si7ncwl4.net] まあこのスレみてて一番の収穫は 静的、動的に異常にこだわる馬鹿はプロジェクトから排除するべき っていうことがよくわかったってことだな。
801 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 03:45:03.72 ID:DLk3aEoT.net] 少しPharo Smalltalkを触ってみた感じでは、Pharoだけで閉じたシステムなら稼働中のシステムの改修も簡単にできるように見えた。 来歴の異なる2つのアイデアに同じオブジェクト指向という名前を使うのはやめて欲しいと思った。批判がぼやけるし、反論もぼやける。 Smalltalkの徹底している(ように見える)メッセージ指向は面白い。 ただ、速度を稼ぎたいっていう需要は相変わらずあるし、速度も安全性も欲しいっていう需要もある。 Smalltalkで頑張るより最初っから速い言語で書く方が楽な部分もある。 >>784 アラン・ケイのその例はちょいとSmalltalk過ぎて、自分の好きな言語でどう言い直せる問題なのかすぐに出てこない。すまん。
802 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 10:55:29.62 ID:iIeA3jAx.net] インテリセンスのためにコメントに型を書いてる言語みると笑いが込み上げるよね
803 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 17:28:53.36 ID:Uc9cUKER.net] 型にこだわる奴はB型なんだけどな。
804 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 17:52:14.76 ID:Uc9cUKER.net] 以下の文はソース >B型の特徴 マイルールで動きわけのわからないこだわり持つ
805 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 17:54:46.05 ID:6NYNO2+5.net] お前が一番「型」にこだわってるじゃねーか
806 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 18:22:52.04 ID:1oZy+T7E.net] 最低なのはアホで愚鈍でキチガイのO型 手続き型のA型は実直だけど神経質 おおらかでダイナミックだけど個性的なB型 ハイブリッドマルチパラダイムで最強のAB型
807 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 18:55:00.45 ID:LQildC0d.net] >>788 たしかに、動的型でコメントに型を書くぐらいなら言語の機能でかければいいのにと思う反面、それやると全てに型を書くように言うやつが出て動的の利点が失われるというジレンマ
808 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 19:09:57.62 ID:qllk89hj.net] O型はA型やB型に輸血すると動的に型が変わる最強型 A型は他の血液型入れるとすぐクラッシュして死ぬ愚鈍
809 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 19:45:26.36 ID:/O53e43E.net] >>788 pythonのことか…
810 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 19:45:47.84 ID:si7ncwl4.net] オブジェクト指向のスレかと思ってたらいつのまに血液型スレになってた。。 何を言っているのかわからねーと思うが おれも何をされたのわからなかった。。
811 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 20:02:57.80 ID:r1oeWZPX.net] >>794 うお!血液型って変化するんか今更知ったわw 調べたら、O型の人は赤血球ならば他の型へ与えることができるが、逆に血漿は誰にも与えられないのね https://ja.wikipedia.org/wiki/%E8%A1%80%E6%B6%B2%E5%9E%8B#.E9.81.A9.E5.90.88.E6.80.A7
812 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 20:30:46.78 ID:1oZy+T7E.net] >>794 原始人なんじゃねO型って
813 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 20:52:21.13 ID:si7ncwl4.net] ほんとにプログラム書く上で役に立たないどころか害になりそうな議論しかないところが凄いね。
814 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 21:29:05.69 ID:AYt5UEwr.net] SmalltalkやCommon Lisp(?)で何作ってんの? ていうか本当に使ってんの?
815 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 22:29:14.19 ID:NuWA0y2P.net] C#erのオッサンが、たいして知りもしないSmalltalkとかCommon Lispに難癖つけてて草
816 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 22:47:34.86 ID:g/r0v/P2.net] >>800 CLerはともかくSmalltalkerは 一匹やってくるとワサワサ増殖して空気読まないレス連発するので不用意に呼び寄せないで欲しい
817 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 23:13:17.05 ID:Yse7GotI.net] Objective-Cだとなんでもクラスというかちょっとデータ数あったらすぐ NSObjectを継承して動的に生成され管理されるクラスにデータ入れて渡すから 言語的に言語仕様で定められた"型"の判別がどーとかより 現在使ってるフレームワークで"クラス"がどう定義されてるかになって 話が言語の方にこないっつか。 >>784 の想定してる問題がよくわからんがクラスで受け渡してるものに なにか新しいデータ要素を足すってのは、Obj-C的には トラックの荷台に新しく置くものが増えるぐらいの感じで 別にそれでどこか別の部分に問題が出たりするシステムの方が 逆によくわからない。それの積み下ろしに関係してないとこはもともと利害ないし 新しく積み下ろす関連のとこだけ直せば動作に問題出ないし。 ちなみにクラス自体は内部的にはポインタ渡しのメモリブロック扱い。
818 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 23:29:58.30 ID:f7J7LqC1.net] ちっ
819 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 23:48:44.46 ID:K/y89QOU.net] >>803 >トラックの荷台に新しく置くものが増えるぐらいの感じ 論よりコードで、とりあえずSmalltalkの>>680 をObj-Cでやるとどんな感じ?
820 名前:デフォルトの名無しさん [2015/12/27(日) 23:54:26.71 ID:TQTcd7lL.net] なんでゴキブリって全員がゴキブリ語を解する前提なんだろ
821 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 00:03:12.16 ID:CKLu8anb.net] ゴキブリがしゃべってるのが見えるんですね? お薬ちゃんと飲んでますかー?
822 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 00:11:06.21 ID:02492xEu.net] >>806 低レベルと見下した意味での「ゴキブリ」なら、解するのもわけないのでは? そもそも、解する、解さない以前に気にする必要自体ないでしょう? 役立つ情報がないんだから。 得体が知れないという意味なら、Smalltalkはすごくシンプルな言語なので(マクロがない分、Lispよりシンプル)、 さして苦労はせずに読むことくらいはできるようになれますよ。 amber-lang.net/learn.html
823 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 00:12:56.26 ID:KeqGm6Du.net] Smalltalkerにとって>>680 は相当にお気に入りみたいだね ああいうトイコードを書いてはニヤニヤしちゃってるのかな
824 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 00:20:38.75 ID:02492xEu.net] >>809 基本的にSmalltalkのコードはシステムブラウザを使って書くので、こういうことをあえてすることはないですね。 ただ、内部的にはやはりこうした動きなのと、動的遅延結合性の要素がそれなりに盛り込まれているので こういうことが無理なく出来る言語なら、使ってもストレスはあまり感じずに済むかなとは思います。
825 名前:デフォルトの名無しさん [2015/12/28(月) 00:24:42.85 ID:ESQO+1YW.net] >>800 ホントにこれ Lispはmathematica様の原料だからわからんでもないけど 実際どこで役立ってるのか紹介せずにアンテナ弱いとかの煽りしか飛んでこないのホント害悪
826 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 00:38:13.00 ID:w2hqGr/u.net] 絞り出したのが「Lispはmathematica様の原料」って、そりゃあんたさすがにアンテナ低すぎだろ… せめてルンバがLispで動いている(噂レベル)とか、Yahoo!Storeが当初Lispで書かれてたくらいは出そうよ
827 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 00:40:37.42 ID:i875NmCw.net] 動的遅延結合性なんかいらんだろ エラーが分かるのが遅くなるだけ だいたい粒度の問題というものは常々なんにでも付きまとっていて 要するに、オブジェクトという細かな粒度でそんな機能は必要とされてないのだ >>309 でも指摘されているだろ
828 名前:デフォルトの名無しさん [2015/12/28(月) 00:45:15.64 ID:ESQO+1YW.net] かなり分かりやすい具体例をあげたらそっちからアンテナ低いと叩かれるとか頭おかしい
829 名前:デフォルトの名無しさん [2015/12/28(月) 00:47:03.54 ID:ESQO+1YW.net] Mathematical じゃなくてmaximaだったか これは叩かれても致し方なし
830 名前:デフォルトの名無しさん [2015/12/28(月) 00:54:33.76 ID:ESQO+1YW.net] とはいえやっぱりlispみたいなラテン語並みの言語の使い道知らなくても叩かれるいわれはないぞ
831 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 01:07:18.94 ID:02492xEu.net] LispでMaximaの例がわかりやすいのなら、Smalltalkの場合たとえば Rubyの処理系のひとつがSmalltalkで書かれているとかではどうですか? maglev.github.io/ 言語処理系では他に SlateとかNewspeakとか、Scratch(1.4まで)とかありますが、まあ、 Smalltalk よりマイナーな言語だと挙げても意味ないかとも。 スマホ向けソフトでも、そう多くはないですが Smalltalk で書かれているものがあります。 www.drgeo.eu/ ネットサービスでPharoを使っているとかならスタートアップでいくつかあるのですがやはりマイナーな用途ですよね? pharo.org/success www.sorabito.com/allstocker.html メジャーどころに買い取られた(まあ実際は飼い殺し)のだと、 Twitterに買われたDabbleDB https://www.youtube.com/watch?v=MCVj5RZOqwY とか VMwareに買われたGemStone https://www.vmware.com/jp/company/acquisitions/gemstone とか 基幹だと OOCL の GemStone活用 smalltalk.cincom.jp/main/successes/shipping/ とか J.P.モルガンの VisualWorks活用 smalltalk.cincom.jp/main/successes/financial-services/ とか が有名どころです。参考まで。
832 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 01:09:54.97 ID:KeqGm6Du.net] (1)無停止が要求されるシステムで (2)プログラマが本番稼働中のシステムに直接パッチ当てることが許されてて (3)Smalltalkで開発されてる (1)と(2)が両立するだけでも信じ難いレベルなのに、3つ全部揃ってるってどんだけレアなの
833 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 01:36:15.43 ID:02492xEu.net] >>818 Smalltalk が目指す無停止っていうのは、サーバーの無停止とはちょっと意味合いが違うんですよね。 インターネットが(ノードレベルでは停止することはあっても)全体として無停止とか、そういうのに似ています。 OS だと、アップデートで再起動がいらないとか以前に、そもそも再起動を想定しないシステム作りとかそういう方向性です。
834 名前:デフォルトの名無しさん [2015/12/28(月) 01:56:46.03 ID:ESQO+1YW.net] >>817 すごいなあこれ Smalltalkを勉強するメリットはあんまり伝わってこなかったけど、Smalltalkに関する情熱はすごくよく伝わってきた ID:02492xEuさんの主張がまだよく分からないのですが、Smalltalkは学ぶべき実用言語なのですか?それとも敬意を払うべき古典なのですか?それまた考え方の基礎として知っておくべき教養なのですか?
835 名前:デフォルトの名無しさん [2015/12/28(月) 02:01:33.32 ID:9w43khSU.net] 20年前はどうだった? どいつもこいつの禿様、オブジェクト指向様と拝んでたくせに 糞共が
836 名前:デフォルトの名無しさん [2015/12/28(月) 02:05:36.29 ID:9w43khSU.net] どいつもこいつの → どいつもこいつも
837 名前:uy ◆Qawu9.2l1E mailto:sage [2015/12/28(月) 03:03:19.88 ID:9q5IGdq7.net] マイナー言語で何かが作られてたとしても、 その言語が凄いってわけじゃなくて、 その言語を得意としてる奴の中に凄いのが混ざってただけ 人によって使いやすい言語構文は違うというuyの主張
838 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 03:04:13.01 ID:8sKUVUhj.net] 使いやすいかどうかは、慣れでしかない。
839 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 03:06:45.15 ID:02492xEu.net] >>820 Smalltalkは我々使い手にとっても「来なかった未来」なので、それが何かを知らない人があえて学ぶ価値はないです。^^; ただ処理系のアップデートは続いていますので、よく知らないくせに「(役目を終えた)教育向け」とか「さび付いた 言語」とかレッテルを貼って馬鹿にされると、いささかむかつきますけどね。 歴史的には、WIMPなGUIとか、MVCとか、IDE、XP/TDD/アジャイルとか、最近ではTraitsとかClassboxesとか 流行になる程度に影響がある技術や手法のゆりかごや先駆けみたいな存在ではあるので、 それらの出自やメリットデメリット、デメリットに対して試みられた対策をきちんと知っておこうという意識高い系には 教養・基礎知識として学習しておくのはありかと思います。 あと、徹底した動的結合性の(失敗して、アラン・ケイに見捨てられたりはしましたが)チャレンジの一応の成果ではあるので、 繰り返し同じ失敗をしないための反面教師であったり、さらにこのチャレンジを進めるためのたたき台としては 大いに学ぶ価値はあるかと。もちろんそこまで背負い込まなくても、落ち穂拾いとか宝探し(ゴミあさり?)感覚で、 まだ手垢の付いていない有用な技術や機能、ノウハウのネタ元を探す目的で学ぶというスタンスも面白いと思います。
840 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 03:09:49.59 ID:8sKUVUhj.net] じゃあレッテルじゃない事実を SmalltalkはOSとIDEとエディタと言語を統合させてしまうという 間違った設計をしたため(言語ではなく)運用面で柔軟性にかける言語
841 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 03:10:28.44 ID:8sKUVUhj.net] 訂正 SmalltalkはOSとIDEとデバッガと言語を統合させてしまうという
842 名前:uy ◆Qawu9.2l1E mailto:sage [2015/12/28(月) 03:23:50.08 ID:7qtNlkA2.net] 今でこそ間違いだと分かるものの 黎明期に作られた言語なんて、何と何を分離したらいいか分からなかったんだろう その中でたまたま目瞑って石投げたら当たったみたいな言語が生き残った感じ
843 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 03:31:14.07 ID:8sKUVUhj.net] 動的言語の特徴とSmalltalkの特徴がごっちゃになってる人がいるんだよからなぁw Smalltalkはこういうことができる!これは動的言語だからできるんだ。と 言い出すが、これは他の動的言語では出来ず。 IDE(エディタ+デバッガ)の機能だよねそれ? Visual Studioでもデバッグ中にソースコード編集できたり 好きな行から再実行とかできるから、静的言語でも実現可能な機能だし。 https://msdn.microsoft.com/ja-jp/library/y740d9d3.aspx > 次に実行されるステートメントを設定する > > デバッガーを中断した後、実行ポイントを移動して、コードの次に > 実行されるステートメントを設定できます。ソース ウィンドウまたは > [逆アセンブル] ウィンドウのマージンに表示される黄色の矢印は、 > 次に実行されるステートメントの位置を示します。 > > この矢印を移動すると、コードの一部をスキップしたり、前に実行した行に戻ったりできます。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > 既知のバグを含むコードのセクションをスキップするなどの場合に利用できます。 それで、エディタやデバッガの機能じゃなくて、動的言語どれにでもあてはまる 動的言語の特徴は何なの?というと結局答えは出てないし。
844 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 04:07:47.35 ID:02492xEu.net] >>826 はて。それこそ Smalltalk をたんなる処理系と誤解した人が好んで貼りがちなレッテルのひとつですよね? Smalltalk は Smalltalk-72 のごく初期の時点で今で言うスクリプト言語のようなスタイルでこそありましたが その後は 70年代を通じ、一貫して OS(ダイナブック向けを想定していたので風変わりではありますが) として作られたソフトウエアです。 web.archive.org/web/20041016084842/http://marimpod.homeip.net/chomswiki/24# 仮想マシンベースになってから、移植性が高まり他の OS 内で仮想環境(VMwareのような)として 動作できるようになったのは処理系や IDE が固まった後の話であり、処理系や IDE は、OS の機能の一環として その OS 上に当然のごとく構築されたものにすぎません。 OS の構造を、将来他の OS の仮想環境のひとつとして機能させるためにモジュラリティーを持たせておく 設計にしなかったから駄目だ、という指摘なら分かりますが、ある OS 上に(それ自身を記述する)処理系や IDE を 構築したことを設計ミスと断じるのは、いささか無理があるように思いますがいかがでしょう。 もちろん現状で専用のハードを持たない以上、他の OS を渡り歩く仮想環境として運用されることが運命づけられた今、 モジュラリティーに欠ける点が言語処理系として振る舞う際に運用上のデメリットとして明らかなことには異論ありません。
845 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 04:12:26.80 ID:WNJ7FWNN.net] >>823 > その言語を得意としてる奴の中に凄いのが混ざってただけ その「凄いの」がなぜその言語を選択したのかを無視して 目先の流行の表層だけを見てその背後にある本質に目を閉ざしているから 君はいつまでも初心者レベルだということにいい加減気付け。
846 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 04:20:58.33 ID:WNJ7FWNN.net] >>829 特定の言語機能が単体で可能なことしかその言語機能の利点と認めないことの愚かさに気づかないの? プログラミング言語では複数の言語機能の相互作用で可能になることも多いし、 STやCLの利点は言語と環境とライブラリが総合的にデザインされているところ。 君にはその利点を理解する能力が欠如している。それだけの話。 > IDE(エディタ+デバッガ)の機能だよねそれ? 静的型付け言語向けに作ってみたら制限だらけの劣化コピーになっちゃいました、という実例だよなー。
847 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 04:24:42.29 ID:WNJ7FWNN.net] >>829 >それで、エディタやデバッガの機能じゃなくて、動的言語どれにでもあてはまる >動的言語の特徴は何なの?というと結局答えは出てないし。 じゃあ、エディタやコンパイラや型推論の機能じゃなくて、 静的型付言語どれにでもあてはまる静的型付言語の特徴は何なの? FORTRANにもOcamlにもCにも当てはまる利点を挙げてみろよw
848 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 04:28:38.00 ID:WNJ7FWNN.net] 言語機能を個別に切り出して評価できると思ってる時点で 言語設計が何もわかってないってことだw
849 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 04:42:40.88 ID:WNJ7FWNN.net] 言語と環境とライブラリを統合することが間違いだという人達は もちろんemacsなんて使ってないよね? もちろんIDE(「統合」開発環境)なんて使わないよね? 記述対象の言語を想定したエディタ機能なんて使わないよね? シンタックスハイライトも構文チェックもフォーマッタも使わないよね? ソース上の識別子の型情報を見る機能なんて利用しないよね? cabalやgemのような対象言語に特化したパッケージ管理ツールなんて使わないよね? 仮想マシンのディスクイメージを構成するために言語ごとのランタイム環境を指定して 自動的にデプロイしたりしないよね? 言語と環境とライブラリを統合することが間違いなら、上記はどれも当然のことだよね?
850 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 04:44:48.24 ID:8sKUVUhj.net] >>833 > 静的型付言語どれにでもあてはまる静的型付言語の特徴は何なの? システム全体のモジュールの結合性、インターフェースの不一致を 実行前に検出することができる。
851 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 04:45:33.44 ID:WNJ7FWNN.net] >>836 Cで?
852 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 04:47:15.02 ID:8sKUVUhj.net] > 言語と環境とライブラリを統合することが間違いだという人達は > もちろんemacsなんて使ってないよね? emacs使ってないし、それは関係ない。 emacsはC言語で作られているが、それはそれとして emacsはOSとは統合されていない。IDEも一緒。 OSと言語は統合してはならない。 OSはSmalltalk以外の言語も動くものでなければならない。 そしてOSはいろんな言語で作られたアプリを相互に連携させて 動かす事ができないといけない
853 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 04:48:34.11 ID:8sKUVUhj.net] >>837 できるよw 言っておくけど、あんたが出来ない例を示したとしても、 全体的にできるならば「できる」とみなす。 どんなものでも例外はある。
854 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 04:51:56.55 ID:WNJ7FWNN.net] >>838 > OSと言語は統合してはならない。 まさか、Unixなんて使ってないよね?
855 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 04:54:39.35 ID:8sKUVUhj.net] >>840 UnixはOSと言語は統合されていない。
856 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 05:00:26.10 ID:8sKUVUhj.net] 例えば、プログラミングをする時のエディタは 好みのエディタを使えなければいけない。 言語専用のエディタを用意するのは構わないが、 その他のエディタ、例えばメモ帳であっても プログラミングできないといけない。 SmalltalkはSmalltalk専用の使い慣れていないエディタを 強要されてしまう。こういう密結合なシステムはよくない。 柔軟な変更に耐えられなくなる。 言語ではなくて、システム全体の柔軟性が欠けている言語
857 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 05:03:48.42 ID:WNJ7FWNN.net] Smalltalk環境上でもSmalltalk以外の言語を使えるし、 エディタもSmalltalk専用のエディタなんて使う必要ないし、 君、本当にSmalltalk使ったことあるの?
858 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 05:07:09.65 ID:8sKUVUhj.net] 当たり前だがソフトウェアの開発とバージョン管理システムは切り離せない。 そしてソフトウェアの開発は複数の人でやるものである。 つまりはgitを使う。マージを行う。 (内部的に)ソースコードの差分を出してパッチを当てるような形で 複数の人が書いた複数のコードを統合していく。 いつからバグが入ったのかかを調べるために、特定のコードに巻き戻して再実行したり 複数のブランチで複数のバージョンを平行して開発したり こういった当たり前の作業がSmalltalkでは非常にやりづらい。 言語ではなくて、システム全体の柔軟性が欠けている言語
859 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 05:09:49.64 ID:WNJ7FWNN.net] Unix環境上でシステムコールの呼出し規約を守れば色々な言語のコンパイラを使えるのと同じように、 Smalltalk環境上でも仮想マシンの仕様に則ったバイトコードを出力するコンパイラを書けばいいだけだし。 例えば tinlizzie.org/ometa/ とかあるし。 そういうこと知った上で 「Smalltalkは言語とOSが統合されてるからだめ」 「UnixはCと統合されていない」 とか言っちゃうのかなあ?
860 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 05:10:40.73 ID:WNJ7FWNN.net] もしかして、Smalltalkではgitを使えないと思い込んでる人?
861 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 05:17:53.48 ID:WNJ7FWNN.net] Smalltalkにも向かない応用というのは、確かにある。 例えば、Smalltalkはお客さん根性全開なプログラマーには向かない。 自分で解決する気はないが文句を言っておけば誰かが解決してくれると思っている人には向かない。
862 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 09:09:02.56 ID:tjw+19nB.net] WindowsやLinuxで動く他言語のプログラムをわざわざSmalltalk仮想環境上で動かすメリットって存在するか? >>845 のリストにある言語もどれだけマトモに動くか分からんし そんで例えば、他のいろんな言語と同じくソースはgitで管理します、CIツールにJenkins使います、アプリはDockerで動かします ってなったら、このスレで書かれてるSmalltalk固有のメリットって何一つ発揮できないと思うよ
863 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 09:29:47.14 ID:teguHjPL.net] あんまり言語仕様がいろいろ混じってると上手く行かない印象だけどね。 c や javascriptくらいスモールに作っておけばツールなんかは後から誰かが作ってくれる。
864 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 09:37:56.90 ID:WNJ7FWNN.net] >>848 どうしてこのスレで書かれてるSmalltalk固有のメリットって何一つ発揮できないと思うのかな? むしろDockerなどで遠隔サーバに自動デプロイした時のデバッグで Smalltalkのように問題発生時に自動的にスナップショットを保存して 実行状態を手元の開発機でほぼ完全に再現できる環境はとても便利なんだけど?
865 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 09:42:56.78 ID:WNJ7FWNN.net] このスレの静的厨の書き込みを読んでいると、 「生まれてこのかたウンコしか食ったことない人は 他人がどんなに旨い料理を出してきても 自分が気に入っている最高のウンコと見た目が違っているという理由で こんなものが旨いわけがないと思ってしまうのだろうな」 と思わざるをえないw
866 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 09:43:55.33 ID:WNJ7FWNN.net] 好きなだけウンコを食べて生きていけばよろしいw
867 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 09:45:55.52 ID:MpvL/SZu.net] 反対の意見を言うというアルゴリズムで動いているだけ。
868 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 09:46:14.25 ID:tjw+19nB.net] Dockerイメージだけから実行状態を再現できないってことは、アプリが稼働中に何か状態を持ってしまってるってこと? それじゃハードウェアやネットワーク障害が起きた時に別のノードに切り替えられないじゃん 使い方間違ってるよ
869 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 09:55:09.76 ID:MpvL/SZu.net] 頭悪いんだから無理しなくていいよ
870 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 09:59:04.88 ID:teguHjPL.net] 自分が使ってないツールは馬鹿だから使ってるとでも思ってるんだろう。 そういう傲慢さが見える。
871 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 12:16:47.06 ID:VijL79y/.net] >>850 > むしろDockerなどで遠隔サーバに自動デプロイした時のデバッグで だからDockerがあれば十分でしょw つーか、自動テストしてるんだよね。だから、同じ状態を作るのは簡単。 テストを再実行するだけでいい。 だいたいさ、デバッグっていうのはバグでおかしくなった "原因" を 取り除く行為であって、バグでおかしくなった "状態" を修復することじゃない。 バグが起きたあとの情報を保存しても意味ないんだよ。 具体例出す? バグで100を加える所に、200を加えてしまった。 数値がおかしい!と気づいた時には、もう手遅れでその状態を保存することに意味は無い。 異常な状態になる前を保存するならまだ意味はわかるけどさ。 異常状態になったら、その結果を破棄して、最初から同じことを繰り返す。 つまり自動テストな。これが必要なものであって、異常データの保存じゃないから。 Dockerもそう。Dockerは今の状態を保存するものではなくて、 Dockerfileという定義ファイルから、ゼロの状態から同じ実行環境を作り出すもの。
872 名前:デフォルトの名無しさん [2015/12/28(月) 12:35:09.10 ID:Tl4NM7En.net] つーか実際死んでるだしこれ以上死体叩きしても意味ないだろ ネクロマンサーもネクロマンサーでみんながそれに興味ないのにムカつくのは分かるけど、いくらその死体が高貴だからと言って死んでるのを認めずに生者の世界に持ち込むもんじゃない
873 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 13:30:49.05 ID:WNJ7FWNN.net] > つーか、自動テストしてるんだよね。だから、同じ状態を作るのは簡単。 > テストを再実行するだけでいい。 ああ、やっぱり問題をまるで理解していないw 同じ状態をつくるのは本当に簡単なのかな? 簡単って言ってるうちはド初心者だよw
874 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 13:35:19.93 ID:VijL79y/.net]
875 名前:ef="../test/read.cgi/tech/1450153388/859" target="_blank">>>859 理解してないのはお前だろ。 > 同じ状態をつくるのは本当に簡単なのかな? 同じ状態を作れないとテストにならん。 バグった状態のデータを持ってこられても意味ない。 同じ状態になる手順を再現できんとバグの修正なんぞできん。 それにそもそも異常な状態を保存した所で 意味は無いといったばかりだ。 > 簡単って言ってるうちはド初心者だよw またいつものやつだねw 「俺が正しい、なぜならば・・・その説明はしない!」 [] [ここ壊れてます]
876 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 13:35:24.50 ID:WNJ7FWNN.net] でも死体から派生してきたTraitsとか、スクリプトによる仮想イメージ構築とかは、 「わーい、最新技術だー」とか飛びつくんでしょ? くすくす
877 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 13:37:51.01 ID:VijL79y/.net] 話をすり替え始めたかw 自分で、Dockerを持ってきて、Dockerの話に 俺がついてこれるもんだから、 自分が持ってきた最新技術(笑)を叩き始めたな。
878 名前:uy ◆Qawu9.2l1E mailto:sage [2015/12/28(月) 13:44:54.53 ID:FI1ndW8l.net] そこのアスペ2人はコテつけてくんない?
879 名前:uy ◆Qawu9.2l1E mailto:sage [2015/12/28(月) 13:45:25.55 ID:KRgYgwWB.net] アスペ2人がレスバトルしてるのはスレの最初のほうから分かってるけど流れがわかりにくい
880 名前:デフォルトの名無しさん [2015/12/28(月) 13:56:26.18 ID:Ieq5nvcS.net] >>861 そりゃそうだろ。それが本当に最新技術なのかはさておき偉大なる歴史上の死人から得るものは使うだろ ただ、まるでその人がまだ現役であるかのように語るから話がこじれるわけで
881 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 14:01:17.54 ID:gtimbSrX.net] >>845 >Unix環境上でシステムコールの呼出し規約を守れば色々な言語のコンパイラを使えるのと同じように、 >Smalltalk環境上でも仮想マシンの仕様に則ったバイトコードを出力するコンパイラを書けばいいだけだし。 ふーん。そーなんだー。 で、出てきた例がこれ >例えば tinlizzie.org/ometa/ とかあるし。 ショボすぎるw Unixでどれだけの言語が動くと思ってんだ 絵に描いた餅で対抗しようとすんな 誰も使ってないSmalltalk環境でSmalltalkの為だけの仮想イメージを作れても意味ないんだよ 色んな言語の色んなアプリが動くLinuxで作れることに価値がある
882 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 14:22:51.43 ID:WNJ7FWNN.net] >>860 > 同じ状態を作れないとテストにならん。 で、サーバ内のプログラムの実行コンテキストがどういう状態だったかをどうやって知るのかな? どういう状態だったかがわかったとしてもそれを実行コンテキスト上に再現するのは簡単じゃないけどなw それにしても「同じ状態をつくる」なんて簡単に言っちゃうなんて、 君はプログラミングを習いはじめて3秒目ぐらいの初心者かい? 初心者としてもバカすぎてお話にならないw
883 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 14:27:53.96 ID:WNJ7FWNN.net] >>866 君の言う通りだよ。Smalltalkはもう死んだということで結構だよ。 だから君は消費者としてMSやAppleの開発環境でモンスタークレーマーになっていなさい。 君はただ上を向いて口をポカーンと開けて、処理系開発者様がスプーンで食べ物を与えてくれるのを ブーブーと文句を言いながら待ち続けていなさい。 間違ってもプログラマーなんて名乗らないように。
884 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 14:35:23.75 ID:i875NmCw.net] Smalltalkの人がいくら遅延結合がどうとか生態系がどうとか言っても 世間で使われてないということは現実に合っていないということ、これが全て Smalltalkの人は現実の生態系の話を持ちだしてアレコレ言うが、それはマヤカシで そんなに現実に有っているならもっと使われているはずということ つまりは生態系云々の話はプロセスとかサービスとかサーバーとか そういう大きな粒度で扱う物事であってオブジェクトのような小さな粒度に持ち込んでも 現実に合っていない、人間社会の仕事の流れにマッチしていない、だから使われない 極端な話、1+1のようなプリミティブな計算に生態系のような壮大な理屈は必要ない ということは、バカにでも分かる 何度も言うが現実に合っていないから使われていないのだ これはまさに一般的なサラリーマンの家庭に4トントラックを売り込んで居るようなもので 生活スタイルにマッチしていないから売れないし、そんなことは当たり前でバカにでも分かる マッチしていれば売れるし、マッチしていなければ売れない 大きさとか、粒度とか、そういう問題は何にでも存在していて、ラジコンを拡大しても乗用車にはならない ラジコンにはラジコンのやり方、乗用車には乗用車のやり方がある そんなバカにでも分かる簡単なんことが分からないのが、このスレで暴れているSmalltalker こんな調子だから世間でSmalltalkは使われてないし 使われていないのは現実にマッチしていないから、ということすらわからない 現実世界の生態系を模範したつもりが、粒度やスケールを間違っていてアンマッチになった悲しい言語
885 名前:デフォルトの名無しさん [2015/12/28(月) 15:00:43.88 ID:kIejf3VS.net] >>868 便利を求める奴はプログラマーじゃないということ?
886 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 15:06:42.69 ID:VijL79y/.net] >>867 > で、サーバ内のプログラムの実行コンテキストがどういう状態だったかをどうやって知るのかな? > どういう状態だったかがわかったとしてもそれを実行コンテキスト上に再現するのは簡単じゃないけどなw だから実行された後の状態を保存したって、何の意味もないだろ。 おかしくなったデータを再現したって、それでどうするんだよ。 ログって知ってるか?ログって。デバッグするためには、 実行結果じゃなくて、実行の仮定が記録されてないと意味ないんだよ。 だいたい、いつどうやってデータ保存するんだ?おかしくなったデータを 保存しているサーバーに入って、実行プロセスを停止してデバッグでも始めるのか? 俺なら普通にデータベースのデータ見るわw
887 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 15:10:28.69 ID:VijL79y/.net] >>867 > それにしても「同じ状態をつくる」なんて簡単に言っちゃうなんて、 同じ状態を作るのが簡単なんて言った覚え無いけど?w お前はすぐに思い込む、俺が言ったことにするよな? 俺が言ってるのは、同じ状態を作っても、それでデバッグするのは難しいってこと。 状態をすべてのリアルタイム記録し続けてるわけじゃないだろ。 バグを実行して、おかしくなったデータの状態を取るのが精一杯だろ。 (ログは状態の一部とはいえ、記録し続けてるからデバッグの役に立つ) それと同じ状態を作るのが難しかろうが、それをやってバグになる手順を再現できないとダメ 難しいから何? 難しいのをやるのがプロってもんだ。
888 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 15:17:13.08 ID: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 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 15:26:59.27 ID:VijL79y/.net] Smalltalkはデータを保存できるというけれど、 それはSmalltalkプロセスのメモリ内だけの話。 データはデータベースに保存する。 RDBMSだったりNoSQLだったりAmazonのs3だったり。 Smalltalk内だけプロセスの状態を保存できても意味は殆ど無い。
890 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 15:32:46.87 ID:MpvL/SZu.net] 長くて中身スカスカのコード書いてるとこうなる。
891 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 15:40:15.68 ID:2PxLG9dT.net] >>872 > 同じ状態を作るのが簡単なんて言った覚え無いけど?w > お前はすぐに思い込む、俺が言ったことにするよな? ウ ソ つ き m9( ̄ー ̄) >>857 >>>850 >> むしろDockerなどで遠隔サーバに自動デプロイした時のデバッグで > >だからDockerがあれば十分でしょw > >つーか、自動テストしてるんだよね。だから、同じ状態を作るのは簡単。 >テストを再実行するだけでいい。
892 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 15:41:16.89 ID:on1WoP30.net] > 極端な話、1+1のようなプリミティブな計算に生態系のような壮大な理屈は必要ない > ということは、バカにでも分かる バカだからこそ、そう「分かる」のだよ
893 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 15:48:25.44 ID:VijL79y/.net] >>876 おや?w 「自動テストしてるから」って文字が見えない? 自動テストしてるから同じ状態を作るのが簡単って言ったんだよ? あんた、自動テストしてるのに、同じ状態作れないの? そして自動テストをしていなければ、同じ状態を作るのは大変だよ? テストコードを書いてテストデータを用意しなければいけない。 でもそれは、プロなら当たり前にやることなんだよね。
894 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 16:07:25.43 ID:5gREh2gG.net] >>873 いろいろ説明してもらっているのをむげにするようで申し訳ないのですが、どうも齟齬があるようなのと、 それを含め「論」より「コード」の方がはっきりするので、Objective-C の動作するコードを示してもらえますか? もしおっしゃるとおり Objective-C が Smalltalk と同じようなことを単に書き方が違うだけで書けるのなら、 たかだか 2〜30行程度だと思うので、ぜひ、お願いします。デバッガでの作業と永続化は無視して残りの > なにが他の言語だとできないのかがピンとこない という部分をベタに main に書いてもらってかまいません。忠実でなくとも、インスタンス特異的なメソッドおよび プロパティの動的追加、そのインスタンスに特異的なクラスに名前をつけて参照できるようにする手続きを 新たに書き下ろしもらうのでもかまいません。よろしくお願いします。
895 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 16:09:29.00 ID:ylUAFX7e.net] プロ降臨ですかwww 動的言語の話題になってからはずっと傍観してたが、もう業界全体が狂ってるな!
896 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 16:12:08.36 ID:VijL79y/.net] >>878 > という部分をベタに main に書いてもらってかまいません。忠実でなくとも、インスタンス特異的なメソッドおよび > プロパティの動的追加、そのインスタンスに特異的なクラスに名前をつけて参照できるようにする手続きを > 新たに書き下ろしもらうのでもかまいません。よろしくお願いします。 もちろん、静的言語だからソースコードを 修正して対応するのも全然OKですよね!
897 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 16:16:22.55 ID:VijL79y/.net] そういやPythonで特異メソッドできたっけと思って検索したら doloopwhile.hatenablog.com/entry/20090705/1275175768 > しかし「Pythonで特異メソッドはこう書く!」といった記事はそれなりに見かけますが、 > > 「Pythonで特異メソッドを使えばこんなにハッピーですよ!」という記事は見たことがありません(僕は)。 > > 新しいメソッドが必要なら、クラスを継承して新しいクラスを作ればいいだけなので、特異メソッドはさほど重要ではないのかもしれません。 ワロタw 全くもってそのとおりなんだよなw
898 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 16:29:19.49 ID:MpvL/SZu.net] そんなつまらないことで笑えるなんて人生幸せだな。
899 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 16:33:18.43 ID:5gREh2gG.net] >>878 横ですが、 自動テストで再現できる程度のバグなら、Smalltalkでもいちいちイメージを保存する必要はないと思います。 自動テストでは出てきにくい、めったに出会えないバグに出くわすことってありますよね。 あまり適切な例を思いつきませんが、たとえば100時間動かさないと出ないバグとか。 そういうのを捕まえて潰すときに実効コンテキストがオブジェクトでその永続化もデフォになっていると助かるんです。
900 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 16:39:23.46 ID:f/yDa8Ky.net] MOO(目を覆いたくなるような汚物)
901 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 16:40:26.91 ID:5gREh2gG.net] >>881 いえ、この方は Objective-C のランタイムの柔軟性に言及しておられるので、 当方としては、それがどの程度のものかに大変興味があり、できれば main に過程を順次記述していただきたいところです。 C# にはこのような動作はいっさい必要ないことを表明していただけているので、お手を煩わせる必要はなさそうです。 ありがとうございます。
902 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 16:41:37.60 ID:MpvL/SZu.net] 話す相手がいなくて寂しいのかな。
903 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 16:46:15.15 ID:pElGsOOM.net] >>879 「えっ?スマホからコードを!?」 だいたいそんな感じ。 昨日もテキストエディット開いたけどめんどくさくなって寝た。 https://developer.apple.com/jp/documentation/ObjC.pdf
904 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 17:09:04.61 ID:VijL79y/.net] >>884 > あまり適切な例を思いつきませんが、たとえば100時間動かさないと出ないバグとか。 100時間待たないとテストできない事自体が良くないだろ? 待たずにできるような設計にするんだよ。
905 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 18:04:56.19 ID:2PxLG9dT.net] >>889 待たずにできるような設計をしたらメモリリークは絶対に発生しないのか? いいかげん自分のみっともなさに気付け
906 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 19:23:32.98 ID:ekUA2Lsj.net] メモリリークならスナップショットよりgcログの方が100倍役立つよ 何時頃からヒープ使用量が増えてるのか、gc発生頻度はどのくらいか等の時系列データによって どれだけの事が分かるか 逆に落ちた時のスナップショットだけあっても仕方無かろうが それに、今時サーバ機なら256GBとかメモリ乗ってんだけど、 それがメモリリークで落ちた時の仮想イメージを 開発機で動かしてステップ実行すんの? ステップ実行したいからサーバ機と同じメモリを開発機に下さい、って?w
907 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 21:42:04.14 ID:VijL79y/.net] >>890 メモリリークの話なんて全くしてないんだけどw 一体どこから出てきたのやら。
908 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 06:19:00.32 ID:SDUTcqS5.net] >>892 の
909 名前:モ訳 「ぼくはウソつきな上に馬鹿です」 [] [ここ壊れてます]
910 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 07:07:46.23 ID:pIdKf0tH.net] その証拠にメモリリークがどこから来たのか説明してみせます! 説明できなかったら、逃げたと思ってください!
911 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 07:30:34.54 ID:5QScXVkF.net] わからないのかw
912 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 07:52:05.41 ID:S7hPg+te.net] 基本ですよね。 「あーだこーだそーだ!」 つまりどういうこと? 「わからないのか?w」
913 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 08:23:56.16 ID:/0pFLROb.net] 後で面倒なことになったら人のせいにできる素晴らしい戦略ですね
914 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 10:25:20.46 ID:w25+nhsP.net] わからない人もいるっていう諦めみたいなものも重要
915 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 10:42:36.95 ID:S7hPg+te.net] メモリリークで検索すれば、誰が話を始めたのかなんて 一目瞭然だろw 最初に話を始めたのは>>890 だな。 892 自分:デフォルトの名無しさん[sage] 投稿日:2015/12/28(月) 21:42:04.14 ID:VijL79y/ [11/11] >>890 メモリリークの話なんて全くしてないんだけどw まったくもってその通りだなw
916 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 11:02:19.92 ID:pO0KAO0+.net] >>891 メモリリークの原因を探すためにはスナップショットのほうが数段便利だ。 実行中のサーバを止めることなくスナップショットだけ取って手元で復元すれば どのオブジェクトがメモリを占有していて、 そのオブジェクトへの参照が残っているオブジェクトを簡単に見つけることができる。 ちなみに開発機ではメモリが足りないということは、 よほど貧弱な開発機でなければまず起こらない。
917 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 11:14:37.65 ID:a4Pra08x.net] 最初からメモリリークしない言語使えば? Swiftとか
918 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 11:19:51.72 ID:cKcX4pC+.net] ウチのサーバはメモリ2テラあるけど
919 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 12:09:09.23 ID:Tk7GRC+0.net] 普通1プロセスがそこまでメモリ食わないように何らかの処置はするだろ。 linux なら ulimit 使うなりしてさ。
920 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 12:47:18.60 ID:QDDW5ibj.net] Smalltalkおじさんは仮想イメージをダンプする前にプロセス殺されてオロオロしてそうなイメージ
921 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 13:24:54.68 ID:S7hPg+te.net] >>900 > そのオブジェクトへの参照が残っているオブジェクトを簡単に見つけることができる。 どうやって? 別にスナップショット云々は、これ関係ないのよ。 だってスナップショットとらなくても、 該当マシンでやればいいだけなんだから。
922 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 13:29:28.22 ID:S7hPg+te.net] ちなみにJavaだとこんな感じみたいやな https://software.fujitsu.com/jp/manual/manualfiles/m140003/b1ws1040/04z200/b1040-a-06-05.html C#だとこんな感じか? troushoo.blog.fc2.com/blog-entry-131.html
923 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 16:47:31.74 ID:pO0KAO0+.net] どっちのツールもSmalltalkの機能限定劣化コピーだなw
924 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 17:35:11.54 ID:uPOyITuG.net] どうせSmalltalkでfizzbuzzとかクイックソートとか素数判定とか竹内関数とかの トイプログラムしか書いてないんだろうから 無理に業務っぽい話に付き合わなくて良いのに
925 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 18:04:16.69 ID:S7hPg+te.net] >>907 またでたよw 何も言わないくせに、Smalltalkの方が優れてるっていうやつw 何が優れてるの?ッて聞いたら、 自分で調べろ(逆ギレ)なんでしょう?w
926 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 20:13:59.08 ID:5QScXVkF.net] >>905 ProtoObject>>pointersTo でそのオブジェクトへの全ての参照が得られる。 もちろんエスケープしたクロージャにキャプチャされたスタックフレームからの参照も含めて。
927 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 20:16:44.20 ID:5QScXVkF.net] >>909 あなたのようなキチガイがいつまでも相手にされると思わないほうがいいよ。
928 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 20:48:51.46 ID:uPOyITuG.net] Facebookはコードを解析してバグを発見する静的コード解析ツール「Infer」をオープンソースで公開しました。 Inferが対応するコードはAndroidのJavaとiOSのObjective-C、およびC。現時点ではAndroidとJavaではNullPointerExceptionおよびリソースのリーク。iOSとCコードではメモリーリークを発見してくれます。 www.publickey1.jp/m/blog/15/facebook_infer.html
929 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 20:55:27.15 ID:a4Pra08x.net] Swiftでは理論的にnullバグやメモリリークが起きないので解析ツールも不要
930 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 21:04:09.67 ID:QDDW5ibj.net] >>910 わざわざ馬鹿でかいメモリ確保したプロセス実行しないと調べられないなら Javaのヒープダンプ以下じゃんバカじゃね
931 名前:デフォルトの名無しさん [2015/12/29(火) 21:04:49.17 ID:+ubDtqOv.net] >>913 あれ?SwiftのGCって素朴参照カウンタ方式なので循環参照を解放できないんじゃなかった?
932 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 21:16:32.89 ID:a4Pra08x.net] >>915 循環参照はそうプログラマが実装したからであってメモリリークではない
933 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 21:24:11.66 ID:3lUD69g2.net] >>915 そのおじさんは「マカー!w出てこい!!www」ってそれっぽいワードを連呼してシャドーしてるだけだから…
934 名前:デフォルトの名無しさん [2015/12/29(火) 21:24:13.02 ID:+ubDtqOv.net] >>916 循環参照の解消を失敗したらメモリ解放されないってことになるじゃん? それってメモリリーク起きるってことだと思うの
935 名前:デフォルトの名無しさん [2015/12/29(火) 21:26:18.34 ID:+ubDtqOv.net] >>917 シャドーボクサーなのか、じゃあしょうがない。
936 名前:デフォルトの名無しさん [2015/12/29(火) 21:53:55.37 ID:TkQKXDX9.net] >>918 それはプログラマの意図通りの動作だから問題ない。 やはりMacは最強やで。
937 名前:デフォルトの名無しさん [2015/12/29(火) 22:06:59.32 ID:+ubDtqOv.net] >>920 さようか、ならば拙者の出番はござらんな 食パンをかじるとしようか
938 名前:デフォルトの名無しさん [2015/12/30(水) 00:22:58.02 ID:wAoiK+Ar.net] >>911 キチガイ
939 名前:デフォルトの名無しさん mailto:sage [2015/12/30(水) 00:42:06.75 ID:vy2SBag0.net] どや?メモリリークは動的言語じゃないと検出できないやろが?
940 名前:uy ◆Qawu9.2l1E mailto:sage [2015/12/30(水) 00:52:45.09 ID:LyNr/J1x.net] 年末までイライラしてる奴みると、やはりプログラマってカスだなって
941 名前:デフォルトの名無しさん [2015/12/30(水) 03:13:52.72 ID:gralCRA1.net] 912-924 を読むと静的言語使う奴は頭悪いんだなってわかるから晒しageておこう
942 名前:デフォルトの名無しさん [2015/12/30(水) 03:21:56.86 ID:uNQALYUc.net] >>925 なんか悔しそうだなw 俺も晒し上げておこう
943 名前:デフォルトの名無しさん mailto:sage [2015/12/30(水) 09:54:14.97 ID:CpjDneg5.net] オブジェクト指向vs関数型でも 動的vs静的でもなくなって アラン・ケイかぶれのSmalltalkerを弄るスレになってる
944 名前:デフォルトの名無しさん mailto:sage [2015/12/30(水) 10:27:37.76 ID:pdPeyHKo.net] ドヤー言いたいだけの糞スレ
945 名前:デフォルトの名無しさん mailto:sage [2015/12/30(水) 11:34:54.78 ID:CpjDneg5.net] RESTful APIこそが分散・動的遅延結合・関数型を全て満たす技術なんだよね apiは好きな言語で書いたら良いよ
946 名前:デフォルトの名無しさん mailto:sage [2015/12/31(木) 17:45:37.66 ID:Sddj+QCE.net] さすがに裸でちんこブラブラさせながら 「これは釣りだ!これは釣りだ!!」って子 相手にするのみんな飽きたっぽい。
947 名前:デフォルトの名無しさん mailto:sage [2015/12/31(木) 19:49:47.40 ID:xdIQXsvm.net] プログラマの最大の問題点は技術貧乏性に陥ってしまうこと。 せっかく覚えた技術だからってなってしまう。
948 名前:デフォルトの名無しさん mailto:sage [2015/12/31(木) 20:49:23.71 ID:CMQb/rzM.net] 作りたいものが無いと特にそうなりがちだね
949 名前:デフォルトの名無しさん mailto:sage [2016/01/01(金) 11:18:10.89 ID:5V2XLG/V.net] 最大の問題は力量が見えないことだと思う 相手の力量も自分の力量も見えてはいない ただし、自分が通ってきた道にまだ居るやつのことはなんとなくわかる
950 名前:デフォルトの名無しさん mailto:sage [2016/01/01(金) 13:06:36.54 ID:jvRJIema.net] せっかくだから板のオブジェクト指向スレ全部消費してくれんかね
951 名前:uy ◆Qawu9.2l1E mailto:sage [2016/01/01(金) 19:58:04.75 ID:xHNmPQBx.net] 老害PGは新たに技術覚える事よりも 覚えてる知識を使って何か作る事に重点置き始めるから もうついてこれてないよ 本人のほうは何故か「過去に自分が通った道にまだいるのか・・・」みたいな事思ってる
952 名前:デフォルトの名無しさん mailto:sage [2016/01/01(金) 21:31:11.46 ID:aa4Vn7fE.net] >>935 キミは周回遅れを自覚しよう
953 名前:uy ◆Qawu9.2l1E mailto:sage [2016/01/02(土) 04:14:26.00 ID:o7gA3Ogh.net] 「時代によって高めるべきスキル」は違うのだから、もうそっちには誰もいかないよ しかし、老害PGは「なんでこの初心者たちはいつまでも自分のレベルに追いついてこないんだ?」と、思ってる まぁITに限らず老人でそういう病気発症してる奴って割と多いから みんな分かって放置してると思う 良いです? 今の時代は他人の作ったツールのインストールと設定をするスキルが重要だから オブジェクト指向の細かいところなんて余暇でやっとけば良い事なのに それの細かい部分を覚えている事に価値を見出してるアホは多い 大学で一時期ブームになってたJAVA世代かな?って思う 自分が学生時代に教わった事が、もはや大部分無意味になりかけてるなんて、思いたくはないだろうけど真実 オブジェクト指向がゴミになったという事ではなく、 ○○指向とか、一々意識しなくてもアプリが完成する時代 アルゴリズムの内部実装を見ないで最上位をコーディングするように ○○指向という部分を見ない、さらに最上位(設定ファイル記入とマウスポチポチ)で、完成してしまう ゆえに「オブジェクト指向」よりも上位のレイヤー。設定ファイルマウスポチポチ指向が出来た今、 今まで最上位だったものがひとつ下になり、そこの知識の詳細を いくら老害PGが重要だと叫ぼうと、それはかつてのアセンブラ/C言語のエキスパートの断末魔のような叫びでしかない まとめると、 オブジェクト指向とかもうどうでも良い
954 名前:デフォルトの名無しさん [2016/01/02(土) 05:15:23.75 ID:6gE2bY5L.net] 3周遅れかよw
955 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 09:14:36.51 ID:Dnf2flaM.net] >>937 プロが仕事で扱う技術に興味ないし、2chで話題にすることじゃないから出ていってほしいな
956 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 10:13:19.29 ID:By+Z3RvH.net] 設定ファイルを書くだけで完成するラッパーが開発される => 設定ファイルで設定可能な項目がドンドン細かく詳細になる => 設定ファイルの記述言語がついにチューリング完全になる => 普通の開発と変わらなくなる いままでの歴史はこれの繰り返し
957 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 11:16:24.48 ID:yVCWJ6yH.net] >>940 > いままでの歴史はこれの繰り返し 例えば?
958 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 12:12:13.20 ID:uD+WV8wT.net] シューティングゲームで設定ファイルを読み込むんじゃなくてスクリプトを読み込ますようにした話は聞いたことある。
959 名前:デフォルトの名無しさん [2016/01/02(土) 12:14:26.09 ID:bBqG9oIx.net] 普通ゲームはスクリプトでレベルデザインするだろ
960 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 12:22:58.34 ID:uD+WV8wT.net] >>943 例えば?
961 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 12:34:30.17 ID:s06XmGKr.net] 歴史から学んでる人達は最初から設定ファイルをスクリプトで書けるようにしてる luaやpythonがよく使われる
962 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 12:39:42.04 ID:wx4DxJpH.net] 歴史から学ぶまでもなく、そんなのはちょっと考えれば分かることで、 Smalltalk環境の設定は70年代からSmalltalkで書かれてるけどな。
963 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 12:39:57.90 ID:VM0jeeLd.net] Apacheの設定ファイルはなんであんなにクソなんだろう 久しぶりに触ったら超クソだった、ぐぐっても古い情報ばっかだし やっぱりVagrantで貰ってくるのがええな
964 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 12:58:28.15 ID:s06XmGKr.net] >>946 設定ファイルを書くスクリプトの選択に失敗すると アプリ自体が使われなくなるって事を Smalltalker以外は歴史から学んだよ
965 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 14:25:54.16 ID:wq9oS32E.net] >>948 Pythonの創始者はSmalltalkから学んだらしいよ。 学んでいないのはあなたのほうだね。 python-history.blogspot.jp/2013/10/origin-of-metaclasses-in-python.html 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 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 14:42:01.72 ID:s06XmGKr.net] bytecodeは参考にしても構文なんかは似せなかった Smalltalkの構文が一般受けしないのは歴史的に明らかだったから
967 名前:デフォルトの名無しさん [2016/01/02(土) 14:50:11.87 ID:EIjeZ5je.net] キレッキレの>>948 に対して>>949 はあまりにもお粗末 毎回ソース貼るのは偉いけどなんか論点ズレてるんだよな
968 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 14:50:12.97 ID:wq9oS32E.net] まさかObj-Cがあんなに使われることになるなんて思わなかったわけだ. 本当に何も学んでいないねw
969 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 14:59:24.77 ID:rRDwNu+s.net] iOS開発で他の選択肢を選ばせなかったObj-Cを持ち出すとか無いわー ただのAppleのゴリ押しやん
970 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 15:07:13.82 ID:6gE2bY5L.net] Objective-CはAppleのゴリ押しだから除外とか言ってたら Cが普及したのもUnixのゴリ押しだし 登場時にはCとの互換性を売りにしたC++も同罪だし MLもMilnerの型理論によるゴリ押しだし その派生言語であるOCamlも同罪だし きりがないだろ。 正直、バッカじゃねーのとしか言いようがない。 正月から馬鹿晒しておめでとう。
971 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 15:14:52.72 ID:JOPuE3fj.net] c みたいなメモリだけ意識したアセンブラ風言語は c が登場しなくても 出てきたんじゃないかと思わせる必然性がある。 まあシンタックスは変わってたかもしれんが。
972 名前:デフォルトの名無しさん [2016/01/02(土) 15:25:30.97 ID:TGliTIeD.net] 言語がどうたらチャラチャラしてる奴が、数匹いるな。 仕様もない糞蠅どもだ
973 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 15:28:09.21 ID:gWTZIavc.net] >>955 実際Bとかそうだろ
974 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 15:36:15.19 ID:F8jCIFTt.net] >まあシンタックスは変わってたかもしれんが。 今はまさにそのシンタックスの話だな
975 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 15:37:27.22 ID:F8jCIFTt.net] > まあシンタックスは変わってたかもしれんが。 今はまさにそのシンタックスの話だな
976 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 16:33:04.71 ID:oYZFkiTO.net] Swiftが出たら速攻でランク下がりまくって トップ10圏内から大幅に落ちた上にSwiftにも抜かれた Objective-Cがどうしたの? www.tiobe.com/index.php/content/paperinfo/tpci/index.html
977 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 16:53:54.23 ID:wq9oS32E.net] 幼稚w
978 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 17:16:09.12 ID:Dz9NJ2ny.net] 動的遅延結合性厨としては [ ] のなかでメッセージ式が書けるってだけで Objective-C を Smalltalk と絡めて語ら(騙ら)ないで欲しい
979 名前:デフォルトの名無しさん mailto:sage [2016/01/03(日) 00:07:21.72 ID:qiKwbZ3e.net] >>960 アセンブラwww
980 名前:デフォルトの名無しさん mailto:sage [2016/01/03(日) 02:31:26.65 ID:mP6eBLwc.net] >>960 いちおーゆーとくとObjective-Cのランク低下は昨秋ランキングアルゴリズム変えて オンラインリファレンスへのアクセスを計算から外したからなので。 ネットで話題の言語という意味では原点回帰ではあるけれど オフィシャル系を計算から外したら 逆にそれはネットのどこで何を話題にしてる人々を計算してるんだろう? という気もせんでもない。
981 名前:デフォルトの名無しさん mailto:sage [2016/01/03(日) 02:49:42.24 ID:zEXG4Enn.net] CORBAとか憎しみしか湧かないんでJavaオワコンになって欲しい
982 名前:デフォルトの名無しさん mailto:sage [2016/01/03(日) 02:51:53.93 ID:IPqSvD5Q.net] >>964 www.tiobe.com/index.php/content/paperinfo/tpci/Objective_C.html アルゴリズム変更で一気に減ったというより、 徐々に減ってるようにしか見えないけど
983 名前:デフォルトの名無しさん mailto:sage [2016/01/03(日) 09:49:24.29 ID:jofq69+t.net] いくら現実から目を背けても、Swiftの発表後にObj-Cのランクが急下降してるのは グラフ見れば一目瞭然 しょせんAppleのゴリ押しで使われてた言語だから、ハシゴ外されたらそりゃ逃げ出すわな Cは相変わらず人気だから、要するにSmalltalk由来のキモいメッセージ式に 皆がNoを突きつけてるんだね
984 名前:デフォルトの名無しさん mailto:sage [2016/01/03(日) 10:16:30.86 ID:43bxFPSU.net] オブジェクト指向のスレってどれも途中でsmalltalkの人が出てきて言語スレになっちゃうよね
985 名前:デフォルトの名無しさん mailto:sage [2016/01/03(日) 10:36:43.03 ID:lX/fUZIn.net] 日本人は抽象的に物事を捉えるのが苦手ですぐに実例を持ち出したがるからな。
986 名前:デフォルトの名無しさん mailto:sage [2016/01/03(日) 10:59:34.96 ID:AcAiI181.net] Objective-CてObjectPascalジャン CをPascalの焼きまはし
987 名前:デフォルトの名無しさん mailto:sage [2016/01/03(日) 18:55:56.78 ID:xRSYAQBp.net] >>969 逆に良い具体例を思いつく能力がなくて抽象論で済まそうとする奴のが多いと思うが。
988 名前:デフォルトの名無しさん mailto:sage [2016/01/03(日) 19:35:49.76 ID:SliObw4t.net] 実例を敢えて隠したまま抽象論で煙にまくパターンもあるよね 大人ってずるいよね
989 名前:デフォルトの名無しさん mailto:sage [2016/01/03(日) 20:54:23.23 ID:RgnbI7tp.net] 日本人は〜 現実は〜 Smalltalkerは〜
990 名前:デフォルトの名無しさん [2016/01/03(日) 21:53:42.64 ID:72y0mus1.net] ミス 日本人は〜 現実は〜 smalltalkこそ〜
991 名前:デフォルトの名無しさん mailto:sage [2016/01/03(日) 22:20:33.26 ID:RgnbI7tp.net] ?
992 名前:デフォルトの名無しさん mailto:sage [2016/01/03(日) 23:43:02.17 ID:mP6eBLwc.net] なりすますよねw
993 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 17:16:32.24 ID:3ZgV6wyG.net] 結局1スレまるまる消費してSmalltalkのゴミっぷりを確認しただけか...
994 名前:デフォルトの名無しさん [2016/01/04(月) 17:18:16.68 ID:2J2/85DZ.net] Smalltalkのゴミっぷりなんて確認するまでもなく、今回我々が確認したことはSmalltalkに固執するよくわからない人種の生態である
995 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 17:26:48.98 ID:5zLqhTS3.net] オブジェクト施工より関数施工の方が強度がいいん?
996 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 18:00:32.11 ID:RY1Mzif4.net] そろそろ次スレのタイトル考えようか。
997 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 18:09:04.30 ID:gy+jtI5Z.net] 「1+1まで動的遅延結合にするのは愚かな考え。1+1は計算式」かな
998 名前:uy ◆Qawu9.2l1E mailto:sage [2016/01/04(月) 18:15:40.14 ID:zTvWipKl.net] Smalltalk・Haskell・Prologあたりは変な奴が多いから即NG推奨
999 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 18:49:11.00 ID:eUmPlviF.net] 1+1はコンパイラが最適化して定数2にするのでは?
1000 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 18:54:33.40 ID:CWcw2pew.net] いいからocaml使ってみろよ
1001 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 19:17:55.99 ID:WGHaUWWr.net] >>982 それにuyってコテハンも追加しておくと吉
1002 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 19:18:26.04 ID:RY1Mzif4.net] なんか最近Cが気になりだしてきたvoid *型があれば何でもできる気がしてきた。
1003 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 19:32:16.26 ID:WGHaUWWr.net] >>981 「1+1」よりは「3+4」だな。初期のSmalltalk-72で最初に評価された式らしいので。
1004 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 19:43:44.60 ID:RY1Mzif4.net] ラムダ計算ではgotoを使ったプログラムは絶対に掛けないからな。 gotoとvoid *を使えばどんなプログラム言語でも書けない様なプログラムが掛ける、assemblerはつかいたくないけれどC使いたければ。
1005 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 19:46:16.51 ID:u97FRQbx.net] >>986 そのとおりだ 抽象的/総称的に void * を使えるようになったらしめたもの 標準ライブラリにある qsort() を実装してみるといいだろう
1006 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 20:43:11.15 ID:bvuJFWqO.net] >>988 >gotoとvoid *を使えばどんなプログラム言語でも書けない様なプログラムが 聞き捨てならんな。w たとえばどんな?
1007 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 21:00:40.38 ID:RY1Mzif4.net] 掛けない様なとはいってるけれど書けないとはいってないだろ。
1008 名前:uy ◆Qawu9.2l1E [2016/01/04(月) 21:31:38.10 ID:M6WjdqoS.net] 即逃げワロタ
1009 名前:デフォルトの名無しさん mailto:sage [2016/01/05(火) 02:11:54.24 ID:hJUQcrkl.net] 次スレ オブジェクト指向は愚かな考え。この世は計算式 ★3 peace.2ch.net/test/read.cgi/tech/1451927425/
1010 名前:デフォルトの名無しさん [2016/01/06(水) 11:55:28.58 ID:nQqbz+/u.net] >>993 乙
1011 名前:uy ◆Qawu9.2l1E mailto:sage [2016/01/07(木) 03:27:34.74 ID:VBUUQOGk.net] ts
1012 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 12:06:35.18 ID:6ZkPklY8.net] 仮想関数テーブルが別管理で クラスのインスタンス全体をmemset 0相当できる言語ってある?
1013 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 20:59:56.11 ID:90bWN72u.net] それは俺も考えたことあるな 結局多態は、ポインタか参照使って呼び出す場合しか意味ないんだから オブジェクトがvtalbeを持つのではなくて ポインタや参照に入っているオブジェクトの該当vtableを一緒に保持させれば良いんじゃないかってね そうすればCの構造体のように本来vtableを持たないものにメソッドを追加したり多態させたりもできる
1014 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 21:00:47.85 ID:90bWN72u.net] イメージとしてはこんな感じ struct ptr_t {
1015 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 21:02:38.75 ID:90bWN72u.net] イメージとしてはこんな感じ struct ptr_t { void *object; void *v_table; };
1016 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 13:12:26.75 ID:QFsBcVlK.net] 一千。
1017 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。
1018 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています