1 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 10:56:12.10 ID:U+dh/xlD.net] 前スレ 【JavaScript】スクリプト バトルロワイヤル51【php,py,pl,rb】(c)2ch.net peace.2ch.net/test/read.cgi/tech/1438094104/
445 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 10:57:31.14 ID:C0v17rwH.net] モジュール化の本質は、世界は大きすぎて制御できるわけないってことだろ
446 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 12:41:32.15 ID:C/rOXWc0.net] ちっぽけな野郎だな この世界俺には随分小さすぎるようだ
447 名前:uy ◆Qawu9.2l1E mailto:sage [2015/11/03(火) 13:29:23.44 ID:+h2VhEar.net] >>>444 www.slideshare.net/authorNari/objectspaceeachobject-presentation これ見ろ
448 名前:uy ◆Qawu9.2l1E mailto:sage [2015/11/07(土) 06:27:58.55 ID:OylSq5bU.net] 思うんですけどー、rubyとかの無限リストにprevって必要じゃないですか? 自分のcycleの使い方って a = [1,2,3,4,5].cycle a.next とかやる事が大半なんですけど 例えばゲーム等のメニュー画面を作る時 右を押して項目5まで行った時に、もう一回右をおしたら項目1に戻ります これはcycleで実装でき そうでprevがないので実装出来ないんです 項目1の時に左を押したら項目5 項目5の時に左を押したら項目4 prevが無いので組めません はいわろ
449 名前:uy ◆Qawu9.2l1E mailto:sage [2015/11/07(土) 06:35:02.20 ID:LOAJFMP+.net] 無理矢理にprevの無いcycleで組むと、cycle二つが必用になって ary = [ A , B , C , D , E ] というメニュー項目があるとき ↓ a = cycle[ 1 , 2 , 3 , 4 , 5 ] b = cycle[ -1 , -2 , -3 , -4 , -5 ] if 右ボタン a.next if 左ボタン b.next こうして ↓ 右ボタン押しと左ボタン押しによるフォーカスの推移関係 a.peek + b.peek = ary[ フォーカス ] ↓ 1 + -1 = ary[0] # [A] B C D E 2 + -1 = ary[1] # 右ボタン押し A [B] C D E 2 + -2 = ary[0] # 左ボタン押し [A] B C D E 2 + -3 = ary[-1] # 左ボタン押し A B C D [E] 2 + -4 = ary[-2] # 左ボタン押し A B C [D] E 2 + -5 = ary[-3] # 左ボタン押し A B [C] D E 2 + -1 = ary[1] # 左ボタン押し A [B] C D E 3 + -1 = ary[2] # 右ボタン押し A B [C] D E こんなアルゴリズムになってしまうんですけど
450 名前:uy ◆Qawu9.2l1E mailto:sage [2015/11/07(土) 06:52:12.76 ID:qGGpCpUd.net] ary = [*"A".."E"] aa = [*1..ary.size].cycle bb = [*-ary.size..-1].reverse.cycle 12.times do aa.next print ary[aa.peek+bb.peek] ," " end puts 12.times do bb.next print ary[aa.peek+bb.peek] ," " end # => B C D E A B C D E A B C # => B A E D C B A E D C B A # Enumerable#prev がある場合はこう書けていた ↓ # # aa.next → cc.next # bb.next → cc.prev # aa.peek+bb.peek → cc.peek prevの無い残念言語です
451 名前:デフォルトの名無しさん mailto:sage [2015/11/07(土) 18:02:52.00 ID:CVBT5paB.net] 汎用イテレータでそういった物を実装しようという考え方は縛りだと思うけどな。 その方向で実現させたくば拡張すればいいし、 別にイテレータの仕組みに頼らなくとも十分に実現できるものじゃないか。
452 名前:デフォルトの名無しさん mailto:sage [2015/11/07(土) 19:27:43.54 ID:AHdHIfIk.net] String#succしかないよね この場合もpredが無い
453 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 14:51:33.47 ID:rQXZWgZH.net] このポンコツ具合は本物だな
454 名前:uy ◆Qawu9.2l1E mailto:sage [2015/11/10(火) 23:57:22.26 ID:0FN92oKT.net] くすくす
455 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 16:19:58.64 ID:+fz8NmqL.net] Rubyに静的型が導入されるのまだですかね 楽しみにしているのに
456 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 16:25:03.46 ID:+fz8NmqL.net] 中途半端なものが導入されるか もしくは導入を断念するかのどっちかだけど どちらの場合もどういう詭弁を引っさげてくるかね 動的型言語が神、みたいな勢いだったRubyが今更静的型wwww 始めから静的型言語の優位性を認めて 「動的型も可能な静的型」にしておけばよかったのにね
457 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 18:57:36.97 ID:LLtCrH05.net] 最初から作り直せばいいのに、なぜRubyで無理やりやろうとするの? ダメダメなやり方にしか見えないけど
458 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 21:09:52.95 ID:dubRMvMU.net] Ruby教会議で突然Matzが静的型をdisりだして信者達が喝采、 そのまま無かったことになるのが目に見えてる
459 名前:デフォルトの名無しさん mailto:sage [2015/11/13(金) 17:47:56.48 ID:EgWp0Y0d.net] そんな議論に費やす時間は、AIとかに使った方がいいと思う 気づいたらRuby自体を使う必要がなくなったってことになりかねない
460 名前:デフォルトの名無しさん mailto:sage [2015/11/13(金) 17:58:31.82 ID:+1eGYaPq.net] でもさー 最近のモダンなスクリプトは静的型の機能を持っているじゃないですかぁ Rubyが最新のモダンなイカした言語であり続けるためには静的型がひつようなのでゎ とMatzは思ったんだろうけど、どうでもいいわね 1+2を、1というオブジェクトにに+2というメッセージがどうのこうのって考える時点で イカしてない言語なんで LISPの( + 1 2 )の方がイカしてますね
461 名前:デフォルトの名無しさん mailto:sage [2015/11/13(金) 18:03:34.49 ID:guyEa3a+.net] 関数ですやんそれ
462 名前:デフォルトの名無しさん mailto:sage [2015/11/13(金) 18:40:03.14 ID:+1eGYaPq.net] 関数イカしてるやん method( obj1, obj2 ) って書けても別にええやん OO用語でマルチメソッドっていうんやで
463 名前:デフォルトの名無しさん [2015/11/13(金) 21:48:00.15 ID:wOHg++fH.net] 見えないふり、いつまで続けるんですか? 川崎病の年間患者数、史上最高に 1万5千人を突破、ピーク時を超える 最初の報告は水爆実験後。本当の原因は被曝 震災以降に死亡者数が、第二次大戦に匹敵するほど急増している 厚生労働省によると平成23年から平成25年の累計死亡者数は360万人以上に急増。今の日本は太平洋戦争時の時と同じくらいの勢いで人が亡くなっている https://twitter.com/tokai amada/status/664927655544795136 除染袋回収の作業員5人 疲労で動けず、自衛隊など救助 疲労じゃないだろう、被曝障害だろうよ 死んだように眠る人々(写真多数) s.ameblo.jp/kaito000777/entry-12031605335.html 【川島なお美の食べて応援が恐怖すぎる】自宅でも進んで食べて応援 1年後・軽くぶつけただけで肋骨骨折 2年後・眼球から出血は半年に一度 3年後・胆管に腫瘍、血液検査は異状無し 4年後・逝去 夫は片目失明、愛犬もがん https://twitter.com/2ch_NPP_info/status/648256313571479552 ・・・ 今も、原子力緊急事態宣言中… 対策本部長は安倍首相。 安倍が国民を被爆させながら核兵器を密造している!? 三菱商事の核ミサイル担当重役は安倍晋三の実兄、安倍寛信 三菱重工の重役でもあるらしい これがフクイチで核弾頭ミサイルを製造していた疑惑がある 書けばツイッターで速攻削除されている https://twitter.com/toka iamada/status/664017453324726272 安倍晋三の兄が関与している三菱重工 核開発疑惑について いくつかツイートしたが、反応がないから変だと思って、自分のタイムラインを調べてみたら、 完全に削除されていた 私のツイートで、安倍政権に都合の悪い情報は速攻削除されている これは驚いた ここまでやるのか https://twitter.com/toka iamada/status/664016524592574464 先ほど、まだ数分以内に、三菱重工の核開発疑惑について、いくつかツイートしたが、検索しても出てこない 多くの人のタイムラインに出てこない ツイート直後に消されてしまったようだ https://twitter.com/toka iamada/status/664015521830952960
464 名前:デフォルトの名無しさん mailto:sage [2015/11/13(金) 22:54:59.12 ID:0Gwam1l3.net] マルチメソッド君、ひさびさの登場か
465 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 06:04:06.01 ID:Hu5fAc9a.net] GroovyのようなJavaを魔改造して、 Python, Rubyの長所を取り入れた、 万能動的言語があるから、 そりゃ、Python, Rubyもあせるわなw
466 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 08:52:14.39 ID:Hu5fAc9a.net] Python, Ruby, Groovyに、 Collectionの要素を回転させる、メソッドは無いの?
467 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 09:00:24.53 ID:VsNFnlBh.net] 仕様を言葉で明確に定義できない奴にプログラミングは向いてない
468 名前:466 mailto:sage [2015/11/14(土) 09:03:19.28 ID:Hu5fAc9a.net] >>466 自己レス Javaでは、Collections.rotate で要素を回転できる
469 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 10:06:18.87 ID:42eUMXSz.net] >>468 RubyもまんまArray#rotateがある
470 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 12:08:34.18 ID:Shexr7Cq.net] rubyはせめて一行IFとか一行メソッド定義の時はendいらない仕様にしてくれないとな そういうのが出来る言語は一行で済む場所でrubyは普通に書いたら3行、無理に1行にしたらなんか違和感凄い
471 名前:デフォルトの名無しさん [2015/11/14(土) 12:32:57.17 ID:2PVeczLA.net] 一行 if なら後置すればいいんじゃないですかねえ。
472 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 12:37:48.41 ID:Shexr7Cq.net] 後起きするとデバッグ時に困るんだよ そこのIFがtrueになってるか調べる時にどう書くか定まらない
473 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 12:44:15.78 ID:7qU/f9+6.net] デバッグしやすくするならそもそも1行で書かんほうがいい
474 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 12:46:19.36 ID:VsNFnlBh.net] Ruby書いてるとコーディングスタイルが気になってロジックに集中できないんだよな 何も考えなくていいPythonの方が俺には合ってる
475 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 02:58:57.08 ID:Dlsk+xoh.net] プログラミングそのものが目的じゃないからなー
476 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 03:03:47.81 ID:nCPFmMmR.net] そうやって手段化を進めていった結果がPHPだからなー 過ぎたるは及ばざるが如し、ってことだよね ある程度はプログラミングを目的にしないと「動きゃいいや」の罠に陥ってしまう
477 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 04:56:30.35 ID:BtG1eDoL.net] PHPはどんだけこの言語のリソースを充実させても 元が飛べないニワトリみたいなもんだから JAVAやC#.NETを圧迫することのない言語だから可愛がられたんだよ
478 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 05:30:21.86 ID:MlRjvDb1.net] でも最近のPHPは、本当に使いやすくなったよ。 アレがないって馬鹿にされていたものが ことごとく実装されたしまったしさ。
479 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 09:25:52.02 ID:Dlsk+xoh.net] 動きゃいいやでもいいんじゃないの? まともに動いてるんだよね それよりもテクニックとかに走ってユーザのことを考えてない方が有害
480 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 10:26:59.47 ID:xIDJm9fA.net] 末尾の長音記号を省く人はテクニックとかに走るタイプw
481 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 11:26:04.92 ID:MlRjvDb1.net] という根拠はありませんが。
482 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 12:58:44.11 ID:nCPFmMmR.net] >>479 そういう考え方だと誰もメンテできないぐっちゃぐちゃなコードを作っちゃうよね
483 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 13:20:55.10 ID:DVr3HCs9.net] 動けばいいと言っても、マには変な拘りや法則性を重んじる所があるから 全体としてはぐちゃぐちゃでも部分々をみれば、ある程度の規則性がある。 今までメンテしてきた経験では、それほど苦になるようなぐちゃぐちゃさは なかった。
484 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 13:59:03.26 ID:nCPFmMmR.net] 過ぎたるは及ばざるが如しなんだよね 「動きゃいいや」もまずいし、「超絶コード俺様かっけー」もまずい バランスが大事
485 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 14:11:20.93 ID:lmxLWxO4.net] >「超絶コード俺様かっけー」もまずい 理由は? バグがないのは当たり前として、シンプルでわかりやすくメンテナンス性が高い。 それでいて無駄がなくて速度も速くて拡張性もあるコードが 超絶コードだけど何が悪いの?
486 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 15:11:38.06 ID:nCPFmMmR.net] >>485 そういうコードを作るために時間をたっぷりかけなきゃいけないなら、一部分あきらめるのは 実務上ありえる話だからね YAGNIとか聞いたことあるでしょ?
487 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 16:40:13.05 ID:cTOEnkNj.net] >>486 YAGNIとなんの関係があるんだ? YAGNIは必要な物を作らないってだけで、 必要な物は作っていいんだが。
488 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 16:45:53.30 ID:WGjmZmpj.net] >>487 必要なものを作らない?
489 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 16:46:56.76 ID:cTOEnkNj.net] ああ、ごめん。必要ないものを作らない。
490 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 16:55:14.27 ID:JUPUGXD4.net] 配列の質問なんだけど 変数名=new Array(1,2,3,...) ってところのnewって必要なのかな? Newを付けるのと付けないのって何がどう変わるの? あとなんでArrayのAは大文字なの?
491 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 17:38:06.53 ID:nCPFmMmR.net] >>487 拡張性を確保しようとすると、オーバーデザインになることも多いからね
492 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 17:42:22.25 ID:Dlsk+xoh.net] >>482 ユーザよりプログラマの内輪を優先するのか? そこまでスキルないって話になりだすと......
493 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 17:59:03.53 ID:SwaoEtt5.net] いやでも、プログラミング以外の職業でも たとえ工場勤務でも、整理整頓と清掃は大事じゃね? 他人に迷惑かけないように仕事するのは普通の感覚じゃね? 虫(バグ)が居ても分らないぐらい、めちゃくちゃに散らかってる工場で作られた弁当とか食べたい?
494 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 19:55:52.80 ID:nCPFmMmR.net] >>492 そこのバランスが大事なんだよね プログラマの都合を優先しすぎてもいけないし、逆もまたしかり
495 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 22:38:17.15 ID:e2usmOfe.net] >>493 ほぼ確実に虫が混ざっていると疑うプログラマたちが 弁当や加工食品を食べるわけないだろ 彼らはコーヒーにグラフェッドバターを混ぜる
496 名前:uy ◆Qawu9.2l1E mailto:sage [2015/11/15(日) 23:46:47.57 ID:S1iqNqir.net] >>490 "new"がいらないのではないよ、"new Array"がいらない rubyなら 変数名 = [1,2,3] なのでrubyを使いましょう
497 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 23:56:59.94 ID:zp22n9X6.net] >>496 rubyワロタwww
498 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 02:01:14.33 ID:FErWhct7.net] javascriptでも 変数名 = [1,2,3] て書けるしRubyでも 変数名 = Array.new(1,2,3) て書けるし
499 名前:デフォルトの名無しさん [2015/11/16(月) 05:00:31.14 ID:Q+alFV6h.net] じゃあなんでnew Arrayって存在してるの?
500 名前:デフォルトの名無しさん [2015/11/16(月) 05:03:29.47 ID:Q+alFV6h.net] もしかして 変数名=わかりやすくするための名前(1,2,3...) ってこと?
501 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 06:28:56.37 ID:U1t0nJK+.net] 昔の名残 Array ・・・ JavaScript 1.1から [] ・・・ 1.2から
502 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 09:53:22.14 ID:FErWhct7.net] オブジェクト指向というか、仕様の統一性的に存在すると言ってもいいかも あとは、整数一つ指定した時の動作が違って紛らわしい 昔は速度差とかあったけど、近年は最適化があるから素人が考えるだけ無駄 短い記法を使えばいいと思うよ 詳しくはここらへん ttp://qiita.com/Hiraku/items/d74690088dfa368875c9
503 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 10:41:32.58 ID:Q+alFV6h.net] なるほどー!理解できた ありがとう
504 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 12:14:12.06 ID:9FmqgTgk.net] >>491 オーバーデザインって何?
505 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 17:44:37.70 ID:kJZfb663.net] ttp://ejje.weblio.jp/content/over+design
506 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 19:51:43.38 ID:0QT/w89c.net] >>504 YAGNIのWikiより 予期しない変更に対しては設計を単純にすることが備えとなるが、今必要とする以上の機能を追加すると設計がより複雑になってしまう
507 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 20:55:34.29 ID:VZPtFBtD.net] 一般的な語彙でも表現可能だったという場合 どんな心境であえてオーバーデザインと書いたのか 一般的な語彙での表現が不十分だという場合 オーバーデザインとやらで結局何を表現したかったのか
508 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 21:23:53.57 ID:QnJE0SEP.net] >>507 お前こそ何でもっと短くまとめなかったの? 何で同じような事を二回書いてるの? どちらの場合も聞きたいことは同じでしょ 分ける意味有るの?
509 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 22:32:42.92 ID:8Bx1ODJn.net] 脱字を八つ当たる奴
510 名前:デフォルトの名無しさん [2015/11/17(火) 03:02:48.18 ID:+A3liqn5.net] mastiff.2ch.net/test/read.cgi/nanmin/1436633202/170 ↑ ↑ ↑ ↑ ↑ ↑
511 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 06:47:12.47 ID:om3Q8nKJ.net] オーバーフィッティングはまずいよね
512 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 08:32:23.00 ID:wjxnDsG4.net] >>490 newを付けるとnewTargetがArrayになる。付けないとundefined newTargetはインスタンスの継承元を決めるために必須の概念で有効地でないとエラーとなる ただしArrayなど古参のコンストラクタは互換性のために自身にフォールバックされる つまり結果は変わらないが行儀はよくない
513 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 08:34:25.79 ID:wjxnDsG4.net] 行儀が悪いというか、アレだな newをつければ普遍的なコンストラクタ呼び出しだけど、 付けない場合はArrayの特別な挙動を把握して使っているという特別な意味になる
514 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 20:16:43.31 ID:QGX0EaV2.net] プログラミング初学者だけどProcessingにハマってもう他の言語なんて触る気しない それくらいシンプルで美しい言語なんじゃないかと思う、他の言語碌に触ったことないけどさ
515 名前:デフォルトの名無しさん [2015/11/17(火) 20:48:32.56 ID:ZbjRFgjU.net] ゴミ
516 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 21:36:07.82 ID:om3Q8nKJ.net] 他の言語を触る能力のない初心者がこのスレのみんな相手に何を言ってるんだ? 大丈夫か?
517 名前:uy ◆Qawu9.2l1E [2015/11/17(火) 21:48:39.48 ID:H8TlhYuF.net] SS書きました 採点お願いします。 * 第一章 「Kaigi」 - 人々がrubyの存在を知り、 - その効率を理解するまでに大した時間はいらなかった ・・・・控室・・・・ コンコン・・・ 「S田です。Matsさん入りますよ。」 Mats「S田君か。」 S田「凄いですよMatsさん。Rubyが2.9にバージョンアップしてからの伸びようは・・・まさかC++をも駆逐してしまうとは。」 Mats「そうだね。でも1.8で我々のRubyがJAVAを乗り越えた時から、いつかここまで来る事は分かっていたよ。」 S田「ははは、自信家ですね。」 Mats「・・・・昔、"JAVAからRubyへ"というタイトルの本を見たとき、僕はとてもほっとしたよ。この言語の真の理解者がいるという事に。そしてそれが自信にもなった。」 Mats「今日、Rubyは新たな一歩を踏み出す。」 S田「また何か新しいアイデアが?」 Mats「今日のKaigiである事を発表する。」
518 名前:uy ◆Qawu9.2l1E [2015/11/17(火) 21:49:11.63 ID:H8TlhYuF.net] S田「ある事・・・とは?」 Mats「・・・静的型の導入を検討している。」 S田「な・・・っ!?」 Mats「あと少しなんだ・・・あと少しで」 S田「待ってくださいMatsさん!どういう事ですか?rubyに静的型なんて・・・rubyがrubyでなくなってしまう!」 Mats「あと少しで・・・・CommonLispを・・・超えられるんだ・・・!」ガタッ S田「そんな・・・・落ち着いてください。もう一度考え直すべきです。」 時計「ゴーン・・・ゴーン・・・」 Mats「12時・・・Kaigiの時間だ、いってくるよ。」 S田「Matsさん・・・!!!」 Mats「S田君。Rubyはね・・・自分の意思を持っている。CommonLispを・・・超えようという意思を、その声を僕はみんなに伝えてくるだけだよ。」 ガチャ・・・ キィィ・・・バタン end
519 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 00:33:42.12 ID:lLDwuORZ.net] >>517 endはあるのにbeginがない。 ruby失格
520 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 00:58:23.60 ID:PpQyVAwe.net] そんな時代もあったねといつか話せる日がくるわ あんな時代もあったねときっと笑って話せるわ だから 今日はくよくよしないでJSの波に乗りましょう
521 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 06:46:12.65 ID:laMD8+R/.net] そもそも、ダックタイピングなんて、 使っている香具師は、あまりいないだろ C++までもが型推論を導入したからね。 Rubyも追い詰められた。 生き残るためには、やむなし 加えて、Scala, Rubyはすべてがオブジェクトだから、 Primitive型も必要だろう それとGUIについては、JavaFXを使う
522 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 07:06:13.19 ID:nVeMNXfB.net] > そもそも、ダックタイピングなんて、 > 使っている香具師は、あまりいないだろ > C++までもが型推論を導入したからね。 前半と後半の論理のつながりがまったくないね > 加えて、Scala, Rubyはすべてがオブジェクトだから、 > Primitive型も必要だろう 前半と後半の論理のつながりがまったくないね
523 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 07:24:47.01 ID:FP5wTRUW.net] ばかじゃねえの
524 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 10:13:37.56 ID:dbC0U/iU.net] 少しは面白く読ませてもらったが、matsと書いてるのは致命的 30点
525 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 10:38:09.80 ID:PpQyVAwe.net] PHPの方がドキュメント整ってるよね
526 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 13:57:07.65 ID:eyPmmAxS.net] ダッグタイピングはC++でも良く使われている テンプレートを使ってな C++14からはラムダ関数もテンプレートみたいなことが出来るようになったしな ただし静的 しかし静的だからエラーが有るとコンパイル時に分かる C++を見ていると、こんな壮大なものをRubyに導入するのは不可能だとすぐに分かる 是非中途半端で使い物にならない静的型を導入して欲しい
527 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 14:12:30.93 ID:hpOX53t7.net] >>521 のフワフワ感って何だろうな 子供か無職のオッサンが想像力だけでコメントしてるような感じ
528 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 15:14:48.93 ID:eyPmmAxS.net] 行間を読むと そもそも、ダックタイピングなんて、 使っている香具師は、あまりいないだろ (だから静的型でも問題ない、この話はここで終わり) (あの静的型の権化の) C++までもが型推論を導入し(て宣言に型を書く必要が無くなっ)たからね。 (静的型でも記述が楽ならコンパイル時にエラーを検出できて IDEとも相性が良い静的型の方が優位なので) Rubyも追い詰められた。 (最近登場した新しいスクリプト言語は当たり前のように静的型を導入しているので )生き残るためには、(静的型を導入するのも)やむなし 加えて、Scala, Rubyはすべてがオブジェクトだから、 (C++、Javaを真似るのなら)Primitive型も必要だろう (なぜなら静的型のシステムがあればPrimitive型でも柔軟性を持たせられるから)
529 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 18:01:59.59 ID:db8O1sPx.net] ダックタイピングというか、クラス関係なくオブジェクトのプロパティを利用する処理は良くあるでしょ。 プリミティブ型との区別はそれなりにいるだろうけど、 オブジェクトはそれ以上の粒度にあえて区別する必要は薄いと思うけどな。
530 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 21:16:56.41 ID:lLDwuORZ.net] ダックタイピングしか使える手段がないので ダックタイピングを使っているが、 本当に欲しいのは、コンパイル時で動的にクラスを書き換える機能だと思う。 コンパイルが終わった後、つまり実行時に動的に書き換えたいってことは殆ど無いだろう。
531 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 21:51:58.57 ID:nxmkjiRg.net] ダックタイピングって「手段」なのかねぇ そんなに大げさでなくもっと自然なものに感じるけどね
532 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 22:12:49.94 ID:lLDwuORZ.net] 俺は不自然だと思っているけど? だって先祖が違う別人であっても、 名前が一緒なら、同じ人として扱うんだろう? おかしな話だよね。
533 名前:デフォルトの名無しさん [2015/11/18(水) 22:14:23.93 ID:Cs86FZg/.net] 動的に何か書き換える処理はメタプログラミングで同じ効果を得られるけど メタプログラミングでやると難易度高すぎだから、ノウハウの無い先進的な事は動的でやる必要がある ノウハウが貯まってきた場所からC++とかでテンプレート使ってメタプログラミングしたらいい
534 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 22:15:08.44 ID:rdRJvZBV.net] 動的型でクラスを実装しようとしたとき、安易に何も考えずにやるとそうなるだけだね 「何も工夫していないだけ」と正直に言うのは癪だから、 ダックタイピングとかいうもっともらしい言葉を付けることで何か思想的な意図があると勘違いさせることができる 事実、ダックタイピングな言語でダックタイピングならではの性質を「活用」することは嫌われる
535 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 23:18:40.44 ID:Q0F63mD0.net] 日本の職種別、資格別、スキル別の平均最低月給リスト(ほぼ毎日更新) jobinjapan.jp/cate/ 全掲載求人107,342件の平均最低月給196,100円 JavaScript求人221件 平均最低月収214,600円 PHP求人905件 平均最低月収218,400円 Perl求人96件 平均最低月収220,000円 Ruby求人99件 平均最低月収218,400円
536 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 23:37:13.39 ID:laMD8+R/.net] 何でもかんでも、平均月給より高い言語ばっかり! むしろ平均月給より、安い言語って何なのさ?
537 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 00:36:22.02 ID:cEv2DcmW.net] >>532 先祖が違う人であろうと、仮に例え人でなかろうとも 病院で『名前を呼ぶ』と言う動作に必要なのは名前だけで それが何者であるかまで気にする必要もないでしょうというのがダックタイピングでしょ? 自然じゃない?
538 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 00:55:58.30 ID:my8rYb+Z.net] ドキュメントの引数の説明に、その引数に渡されるオブジェクトが持っているべきメソッドが いちいち全部列挙されてるのを見たことある? 大抵は特定のクラスを名指しか、よくても「file-likeなオブジェクト」、みたいな表現だろ? これは対象が何者であるかを気にしていることに他ならない。 対象が何者であるかを気にしないでプログラム書くのは面倒臭すぎるし、なにより人間にとって「不自然」なんだよ。 ダックタイピングが採用されるのは実装が楽だからに過ぎない。
539 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 03:26:46.03 ID:6x5+bHoL.net] じゃあもうC++だけ残して他のプログラミング言語は全部違法って事で
540 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 04:42:37.92 ID:IjYFtjnV.net] >>538 それはおかしいよ。 例えばクラスでそれぞれに自己紹介をさせようとした時、 自己紹介ができるものが自己紹介をして変か? もしかすると悪意のあるオッサンが紛れ込んでいるかもしれないが、 そんなことよりは他クラスの生徒が紛れ込んでる事のほうが多い。 そういったチェックは結局型(学園の子供)より粒度が小さい情報が必要で、 それでチェックするなら結局型での区別は不要なんだよ。 そして型で区切ると、一日入学の生徒などに対してエラーになってしまう。 もしくはそういったことをなんとかしようとすると型が細かくなりすぎて破綻する。 別にどちらかだけで良いというわけではないが、ダックタイピングも型の弱点を補うために必要。
541 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 08:14:44.61 ID:sI2fx5pe.net] >>537 > 病院で『名前を呼ぶ』と言う動作に必要なのは名前だけで そうかね? 次、サンドイッチ。 といって、これが食べ物なのか人の名前なのか。 > それが何者であるかまで気にする必要もないでしょう 本来、何者であるかを気にしなければいけないのに、 何者かを気にできない欠点を、ダックタイピングという言葉で ごまかしているようにしか思えん。
542 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 08:26:51.01 ID:sI2fx5pe.net] >>540 それがおかしいよ。 自己紹介してって言われて、そもそも自己紹介が出来ないならば、どちらにしろエラーになる。 だって、自己紹介が正しくできることを前提としたコードになってるんだから。 そして仮に自己紹介ができるとしよう。 そして自己紹介の内容で、仕事の担当場所を決めようと考えてる。 そこに生まれは○○県です。みたいな的はずれな答えを返しても なんの判断材料にもならない。 だって、自己紹介の内容に前に働いていた職業についての情報が 含まれていることを前提にしたコードになってるのに、 全く的はずれな内容を返しているからエラーになる。 結局「自己紹介」メソッドがあったとして、呼び出し側は そのメソッドが自分の想定通りのものを返すことを前提としているんだよ。 呼び出せればそれでOKじゃない。たとえ型で区切らなくて呼び出し自体は成功しても それが特定のインターフェース規約を守っていなければ、結局エラーになる。 > そして型で区切ると、一日入学の生徒などに対してエラーになってしまう。 というが、型で区切らなくても、結局エラーになる。 エラーにならないためには、想定するインターフェースを持っている型でなければいけない。 そのインターフェースを明確に定義するかしないかの違いでしかない。
543 名前:デフォルトの名無しさん [2015/11/19(木) 08:59:57.10 ID:9q1OkCY1.net] ブラッド・コックスとトム・ラブがObjective-Cを作り「この言語はCのメモリ安全性とSmalltalkの高速性を合わせたものだ」と宣言する。 現代の歴史家は2人が失読症ではないかと疑っている。 https://twitter.com/okdshin/status/666903312151613440
544 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 11:23:27.89 ID:QXvhkXAe.net] >>541 何者であるかを気にしなくていいというか、 何でもかんでも型で篩い分けるのは不適切ということを言っている。 >>542 どちらにしろエラーになるならどちらにしろ問題ないし、 メソッドが本当にその場にあった振る舞いをするかどうかは別にダックタイピングをしないからといって保証されるものではない。 仮に>>540 で他クラス所属所属の自己紹介ができるインコが間違って紛れ込んでたという場合は確かに問題になるが、 そんな稀な問題ケースはダックタイピングに関わらなくても幾らでもあるし、 それよりも解決できること、コードをシンプルにしてバグを減らせることの方が多い。
545 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 12:01:09.77 ID:wQNDdZgX.net] > どちらにしろエラーになるならどちらにしろ問題ないし、 「お前の言う問題にない」っていうのは、 動かないならエラーになるだけでそれを直せばいいって話だろう? 俺が問題視しているのは、そのエラーを見つける手間と時間の話だよ。 「エラーを検出・解決するのに時間がかかるから問題だ」と言ってる。 この「問題」に反論はあるかね?