- 1 名前:デフォルトの名無しさん mailto:sage [2016/10/01(土) 23:40:48.89 ID:FvOeAcfn.net]
- 前スレ
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 echo.2ch.net/test/read.cgi/tech/1458955459/
- 413 名前:デフォルトの名無しさん mailto:sage [2016/10/29(土) 11:54:27.23 ID:ddj4bzvw.net]
- >>412
全く本質が見えてないな それが関数型ならインプレース更新を行わない古典的なバッチ処理はだいたい関数型だと言ってるんだよ
- 414 名前:デフォルトの名無しさん mailto:sage [2016/10/29(土) 11:59:58.74 ID:7nyiPKGt.net]
- >>413
本質が見えてないのはお前だよ ただ単に、副作用がない関数でシステム書けば関数型か?って聞くならともかく どっからバッチ処理が出てきたの?w
- 415 名前:デフォルトの名無しさん mailto:sage [2016/10/29(土) 12:19:53.83 ID:ddj4bzvw.net]
- >>414
問題は処理の粒度 Lambdaにずいぶん夢見てるみたいだけど、Lambdaは呼び出しのオーバーヘッドが大きすぎる 現実的にはバッチ処理やS3にアップロードされた画像ファイルを処理するといった粒度の大きな処理単位でしか使い物にならん そのレベル止まりなら全く目新しいものではなく、現代にあえて関数型だと言うなら粒度の小さな処理に対しても統一的に適用できる仕組みが必要 「Lambdaによるリアルタイム処理」みたいな言葉が独り歩きしてるが、あれスループット上げるために わざわざKinesisを間に入れてマイクロバッチ処理に変換したりするんだぞ
- 416 名前:デフォルトの名無しさん [2016/10/29(土) 13:30:02.46 ID:LoTR039H.net]
- OOPのメッセージパッシングも、所詮関数呼び出しじゃんって言ってそう、、、
- 417 名前:デフォルトの名無しさん mailto:sage [2016/10/29(土) 19:08:25.95 ID:5tcsH0dx.net]
- 粒度が荒くなると関数型じゃなくなるなんて
これまた珍妙な説出してきたなw
- 418 名前:デフォルトの名無しさん mailto:sage [2016/10/29(土) 19:40:46.94 ID:jbWCC7sE.net]
- 言語が一つじゃなくなる粒度とか
OSも言語もバラバラ
- 419 名前:デフォルトの名無しさん mailto:sage [2016/10/29(土) 22:08:03.38 ID:z8URZLOb.net]
- >>417
副作用をもたらすから関数型じゃないんだよw オブジェクト指向でも副作用がない関数を書いたら それは関数型だって主張したいのかい?w
- 420 名前:デフォルトの名無しさん mailto:sage [2016/10/30(日) 05:32:40.80 ID:hqgegRgF.net]
- 俺はこの問題に二十年取り組んできたが、結論は出てる。
「作者が関数型と主張した」言語が関数型だ。 そもそも最初はシンプルだったものも、どんどんリッチに汎用的になるに連れ 元来の関数型とは乖離していっている。 特にこの10年、今まではそれでも範囲内で拡張するすべを探していたのが 妥協する策を取るようになった。 汎用でリッチなプログラミング言語としてはその方がずっと都合が良いからだ。 したがって今の著名でここのスレ民が主に思い浮かべるような言語は関数型ではない。 強いて言えば、作者が「関 数 型」と主張しているという程度のこと。 個人的には「関数型」言語とはもはや「P」言語に近い。
- 421 名前:デフォルトの名無しさん mailto:sage [2016/10/30(日) 05:53:29.20 ID:h7Os3ze3.net]
- 意訳
「>>420が関数型と主張した」言語が関数型だ。
- 422 名前:デフォルトの名無しさん mailto:sage [2016/10/30(日) 09:14:34.70 ID:Iggl3vKB.net]
- ニセ科学に反対するだけで良かったのに
代案を出せとか煽られてついつい関数型という怪しいジャンルを作ってしまったんだな
- 423 名前:デフォルトの名無しさん [2016/10/30(日) 13:43:32.58 ID:GS3Z8C14.net]
- 今はマルチパラダイムな言語が増えてる、Adaとか
- 424 名前:デフォルトの名無しさん mailto:sage [2016/10/30(日) 13:45:12.33 ID:h7Os3ze3.net]
- つーか殆どがマルチパラダイムじゃね?
そこに対抗してマルチパラダイムに対応できない言語が 純粋○○であることを売りにしてるけど、それ欠点だよねw
- 425 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 16:23:03.12 ID:/G9nZu79.net]
- うるっせえなこの馬鹿どもは
スクリプトの覇権は昨今の機械学習/AIブームでオッパイソンさんで確定したろ あとは黙ってPython極めることに専念しろ
- 426 名前:デフォルトの名無しさん [2016/12/03(土) 09:58:47.88 ID:rhALv8P7.net]
- PHP 7.0.x から PHP 7.1.x への移行
php.net/manual/ja/migration71.php PHP7.1リリースキター! hackのnullable型導入とかか? とりあえず x.1 待ちしてた奴ら移行しろよ。
- 427 名前:デフォルトの名無しさん mailto:sage [2016/12/08(木) 09:29:51.63 ID:u0pmvICB.net]
- 直也:.NET CoreというかC#って型があって、しかもサーバーサイドも書けるじゃないですか。Linuxでやってた人たちはずっとスクリプト言語使ってて、
Rubyとか型がない言語でサーバーサイド書いてることに疲れてきちゃってるんですよね。 ある程度の規模のものではサーバーサイドも型がある言語で書きたいと思って、 ScalaとかJava 8をやってみたんだけど、どの言語もちょっとバランスが悪いんですよね。 Scalaはプログラマ寄りすぎるし、Javaはコンサバすぎる。サーバーサイドSwiftもとがりすぎてるし。 実績があって型がある言語ってC#なんですよね。そのC#がLinuxで使えるのは大きいんですよね。 だから、ワンチャンあるなって。あとは市場が評価するかどうかなんですよね。 バランスはいいと思います。それがWindowsだけでなくMacでも使えるようになったのは本当に大きいですし。
- 428 名前:デフォルトの名無しさん [2016/12/09(金) 01:22:51.17 ID:kfA92fVD.net]
- dartはいかが?
- 429 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 01:41:37.98 ID:IAKedM2U.net]
- >>428
いい加減現実を見よう 未来へ一歩踏み出そう
- 430 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 08:31:24.21 ID:GYMahviX.net]
- 未来を見ず現実を見たつまらない言語がDartなんだが
- 431 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 08:50:43.91 ID:IAKedM2U.net]
- 間違いはGoogleが現実の問題とニーズだけを見ていて自分の立場が見えていなかったことだな
そんなことをGoogleに求めている奴はいない 輝かしい切捨ての歴史を持つGoogleを土方分野で信用する馬鹿はいない
- 432 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 22:55:33.79 ID:K++XEq18.net]
- 大事なのは言語云々よりDartVMでしょ
ブラウザへの統合を断念した時点で終わった
- 433 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 23:17:20.20 ID:IAKedM2U.net]
- >>432
ブラウザ統合自体が重要なのではなくてGoogleのやる気の問題だろう Chromeに統合するという触れ込みで登場した当時は Googleが本気だ! ということでそれなりにインパクトがあった Dartが注目されていたのはそのGoogleの本気というただ一点だったのだから、 「結局いつものGoogleだった」となった時点で当然もう何も残らないよ
- 434 名前:デフォルトの名無しさん [2016/12/10(土) 02:23:12.50 ID:Y9PwNia6.net]
- >>432
サーバ側ならどう? typescripあるしphpも型付けることできる用になったから難しいかな?
- 435 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 07:47:45.47 ID:dczaGrMx.net]
- Goもあるし.NET Core(C#)も盛り上がってきたからねえ
残念ながらDartにはもう出番はないよ
- 436 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 09:53:52.20 ID:Q42P76Xv.net]
- wasm対応で先手を取れれば状況がひっくり返る可能性もあるが
asm.jsの時点でやる気0だったしなあ
- 437 名前:デフォルトの名無しさん mailto:sage [2016/12/13(火) 09:18:46.65 ID:2oGa6DNb.net]
- https://chrome.google.com/webstore/detail/%E3%81%AF%E3%81%A6%E3%81%AAng/mbgdnfmdelffjdhkdggilmphfdihnmcj?hl=ja
- 438 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 15:42:56.02 ID:nUjD4DbZ.net]
- JavaScript死亡www
「WebAssembly」がITの未来に変革もたらす|Google、Apple、Microsoft、Mozillaが共同で開発した新概念 「WebAssembly」がWebブラウザに変革をもたらします。 Webブラウザは、もともとただテキストを表示するだけのところから始まりました。その出発点から、現在ではコミュニケーションやゲームまで幅広い表現を可能にしています。 そして今回、「Webブラウザ」に新しい概念が加わわることになりました。 それをもたらしたのが、ブラウザに関わりの深い世界規模の4社「Google」「Apple」「Microsoft」「Mozilla」が共同開発した、Webのためのバイナリーフォーマット「WebAssembly」です。 今回はその「WebAssembly」について、「スゴイところって何?」「何が起きるの?」をご紹介していきます。 WebAssemblyは「JS不要。コンパイラ言語だけで動的アプリが作れる」「どの言語でもWebブラウザ上にアプリを作ることができる」 WebAssemblyによってもたらされるスゴイところは次の4つ。 コンパイラ言語だけで、Webブラウザ上に動的なアプリが作れる ほぼ機械言語にコンパイルされるからヌルヌル動く OSを一切気にする必要がなくなる。気にするのはブラウザのみ C,C 以外の言語でもWebAssemblyにコンパイルされる「クロスコンパイラ」の可能性が高まった これまでWebブラウザで、ユーザからの入力情報を元に、動的なアプリケーションを実現するためには「JavaScript」が必須でした。 「インタプリター言語」であるJavaScriptは、その都度ソースコードを機械語に翻訳する必要があるため、予め機械語に近くコンパイルされる「コンパイラ言語」と比較すると動作が遅いという特徴があります(※)。 もしコンパイル後の機械語に近い形で、Webブラウザ上でコードが実行されたら。 JavaScript以上にヌルヌルに動き、しかもJavaScriptを気にする必要がなくなります。 それを実現したのがこの「WebAssembly」です。 https://mayonez.jp/1690
- 439 名前:デフォルトの名無しさん mailto:sage [2017/01/03(火) 00:30:36.24 ID:pkTsP2s0.net]
- モンスターのアイコンの統一感がなさすぎるな
線が細いキャラと太いキャラを並べると違和感のかたまり
- 440 名前:デフォルトの名無しさん [2017/01/03(火) 05:08:13.08 ID:sAzrCak7.net]
- >>438
今更な記事を引っ張ってこられてもな。 対応言語c,c++以外も増えたのかねぇ。
- 441 名前:デフォルトの名無しさん mailto:sage [2017/01/03(火) 21:47:16.02 ID:m68UQ04g.net]
- どうだろうね。
まあ「その都度ソースコードを機械語に翻訳する必要があるため」遅い という問題は、わかりやすい問題だから改善されていくよ。 最近だとV8で、即時関数っぽい書き方されたコードは最初から最適化して すぐ実行できるよう準備するようにするパッチが入ったじゃん。 そういうのの積み重ねで良くなっていくと思うよ。
- 442 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 08:48:59.47 ID:u2CyXKSE.net]
- >>158
ただ自分の優位性を示したいだけの典型的な権威主義の馬鹿だな 自分の主張やは無いくせに〜ぐらいはしてるよね?とか お前仕事場でも嫌われてるタイプだろ 少なくともHaskellは特定分野以外はまともに使えない 実際使ってればつまずくのですぐ分かる話
- 443 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 09:11:36.00 ID:u2CyXKSE.net]
- なんつう亀レスだ…はずかしい
- 444 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 10:10:34.13 ID:B3jxZHKh.net]
- Haskellはまだ趣味の範囲であらゆる分野で使える言語だよ。だって純粋関数型言語じゃないから。
- 445 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 11:41:28.60 ID:P9CxkEKM.net]
- >>444
貴方の思う純粋関数型言語の定義とその例を述べなさい(100字以内)
- 446 名前:デフォルトの名無しさん mailto:sage [2017/01/05(木) 06:21:07.40 ID:sTWjNqOn.net]
- やだなぁ、やめてくれよ。
ただの皮肉だよん。
- 447 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 01:51:52.58 ID:+qBxgbmJ.net]
- このスレのお前らがどう思っているかが一番重要なんだよ
多くのヒントになるから 時代は常にこのスレで言われていた事の反対に進んだだろ? 今は静的型全盛で動的型プッって感じだし さんざんな言われようだったJSはむしろメジャー言語になったし 今JSが糞って言われているのは主に動的型だからだし 主要スクリプト言語もどんどん静的型の機能を取り入れているし 2000年代にはオブジェクト指向をやりたいならRubyをやれって言ってたのに 今Rubyはどうなった?静的型の機能はいつ追加されるの?Ruby3.0はいつ? 超ド近眼 ほんのちょっとの目先の手間を惜しんで より面倒なハメにあう動的型信者らしいっちゃらしいがな 昔に動的型がブームになっていた頃から 糞だってはっきり言っていた人たちもたくさんいたし 単にお前らがド近眼ってこと
- 448 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 02:15:46.05 ID:+qBxgbmJ.net]
- どうでも良いことばかりに着目しているド近眼ってこと
- 449 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 16:59:24.13 ID:zEIuJeGz.net]
- 何も分かってないなぁ。
このスレの奴らは静的型アンチでもないし、動的型信者でもない。 昔ながらの静的型と動的型のデメリットとメリットを比較した時、 動的型が肌に合ってた奴は多いが前提が変わるんなら勿論話は変わってくる。 そもそもスクリプト言語の奴らは良いものは何でも大歓迎で取り入れるのが好きだから、 言語に型表記機能が入れば喜んで使う。 動的型に慣れているからこそ、エンジンに型を理解してもらう大切さが良く分かってるからだ。 そこは全く矛盾したり対立したりすることではない。 それとJSが糞と言われていたのは、クラスベースでなく馴染みにくいとことと、便利ライブラリの欠如だ。 でも、ぶっちゃけ欠点のない言語は無いのに、JSがそこまで言われてた理由は、 実はJSの仕様の問題ではなく、DOM APIの仕様とブラウザの実装が酷かったからだ。 そこはむしろ糞って言われていたからこそ、様々な改善が試みられて、今これほどまでに良くなったんだよ。 けしてJSの周りの環境が本当は糞じゃなかったわけではない。 もう一度言うが糞だったから良くなれたんだ。そこは勘違いするな。
- 450 名前:デフォルトの名無しさん mailto:sage [2017/01/09(月) 13:29:10.71 ID:tlAVTCLv.net]
- いいわけ乙
- 451 名前:デフォルトの名無しさん mailto:sage [2017/01/09(月) 15:50:51.64 ID:NcQuvnbl.net]
- assertは書きたいことを大体書けるが、型表記機能とやらは書けないことの方が多い
型名はただの名詞だから コミュ力が低下する薬を飲まされて名詞しか話せなくなったような面倒臭さがある
- 452 名前:デフォルトの名無しさん mailto:sage [2017/01/09(月) 17:41:15.96 ID:+XRGLqqZ.net]
- それは当たり前だろうよ、縛りを設ける代わりに、主にIDEから恩恵を受けようというものだからね。
機械を自在に動かしたいというスクリプター的には、機械のために書いてるようで合わないだろうよ。
- 453 名前:デフォルトの名無しさん mailto:sage [2017/01/17(火) 03:06:44.47 ID:lw1Zwsst.net]
- Pythonは素晴らしいけどPythonが素晴らしいのではなく、
Python周りのネイティブライブラリ環境が大変素晴らしい。 道具としては最高だけど、プログラミング言語大好き人間としては不満。 もっと速度を上げ柔軟になってくれたら嬉しいんだけど、もうそっち方面は目指してないみたいだね。
- 454 名前:デフォルトの名無しさん mailto:sage [2017/01/17(火) 06:39:50.13 ID:rIfocs2Z.net]
- 必要以上に手をかけると処理系のメンテが困難になり結果的に進化の足を引っ張ることになる
Rubyなんかまさにそうで、オタク共がよってたかって好き勝手にいじくり回したせいで詰んでる
- 455 名前:デフォルトの名無しさん mailto:sage [2017/01/17(火) 07:09:05.55 ID:lw1Zwsst.net]
- でもPythonみたいにCythonで割り切るのもねぇと思う。
割り切ってもJSとどっこいどっこいの速度しか出んが。
- 456 名前:デフォルトの名無しさん mailto:sage [2017/01/17(火) 19:48:56.56 ID:jfonssfd.net]
- >>454
具体的にどう詰んでるのか解説を
- 457 名前:デフォルトの名無しさん [2017/01/18(水) 12:29:49.23 ID:RtvJVUCC.net]
- るびいは作者の頭とユーザーの頭と言語仕様が詰んでるって先生が言ってた
- 458 名前:デフォルトの名無しさん mailto:sage [2017/01/18(水) 12:36:00.48 ID:FlJR5GPR.net]
- キチガイ
- 459 名前:デフォルトの名無しさん mailto:sage [2017/01/18(水) 13:10:26.31 ID:jc+edUai.net]
- 結果論だがPerlを批判するだけで勝てたんだよな
Pythonは本当にそれだけで勝った Rubyは批判したいのか擁護したいのかはっきりしなかった
- 460 名前:デフォルトの名無しさん mailto:sage [2017/01/21(土) 23:28:19.21 ID:sMDuy5hJ.net]
- 2017年 JavaScript★71.9%ものサイトがjQueryを利用 [無断転載禁止]©2ch.net
tamae.2ch.net/test/read.cgi/prog/1485008061/
- 461 名前:デフォルトの名無しさん mailto:sage [2017/01/22(日) 14:38:27.08 ID:hBhrTyQG.net]
- https://chrome.google.com/webstore/detail/%E3%81%AF%E3%81%A6%E3%81%AAng/mbgdnfmdelffjdhkdggilmphfdihnmcj?hl=ja
- 462 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 01:30:06.94 ID:GY40xFBu.net]
- gihyo.jp/news/report/01/rubykaigi2014/0002?page=2
古い記事だけどやっぱ面白いね 何が嫌なのか知らないけど、静的型から逃げ回って 無駄に複雑なことになっていく感覚、本当にすごいわ 型さえ書けば済むことを、よくもここまで複雑にね〜 Unixの思想に反するわ で、最新の情報ではRuby3.0はどうなることになっているの? 静的型は導入されるの? でもま、今更導入するぐらいなら初めから導入しておけばよかったのにね 当時から静的型はあったでしょ、C言語とか静的型だし そんでRubyはCで書かれてて自分は静的型の恩恵を受けてRubyを開発したはずなのにね 十分知ってたはずなのに、今更導入とか、それって筋悪いんじゃないの?何周遅れww それを認めたくないから静的型の導入に対して渋々なんだろうけど そんな詰まらないプライドで言語使用が決定されたらRuby使いはたまったもんじゃないね でもそんな事(タイプセーフの重要性)は周りから見れば分かりきっていたことで だから俺はRubyには近づかなかったわけでさ 微妙に消極的に静的型のメリットを語ってて、何をいまさらって感じなんだけど 本当に複雑怪奇だね
- 463 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 07:33:26.80 ID:m5ydKowW.net]
- >>462
スクリプト言語のほとんどは静的型じゃないけど、このスレ全体にケンカ売ってるのかな…?w
- 464 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 12:26:11.03 ID:FleTjgpE.net]
- スクリプト言語っていろんなものの橋渡し、
間に入り込む接着剤のような役目なんだから動的型で間違っていない ただそれだけでしっかりしたものを作ろうとすると大変だねってだけ
- 465 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 12:33:41.17 ID:GY40xFBu.net]
- 俺が思うにRubyは夢を売る商売なんじゃないかと思う
ディズニーランドとか宝くじとか あるいは漫画やアニメの専門学校と 同じようなモノなんだろう
- 466 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 13:05:30.50 ID:GY40xFBu.net]
- Rubyは意図的に静的型の機能を外したわけでしょ?
当時からC言語はあったし、RubyはC言語で開発されているんだから 知らなかったわけないんだよ 知ってて明確な意図をもって外したわけでしょ それをいまさら導入とか意味不明だよね だったら初めから導入していればよかったわけで あとから導入するの大変でしょ これが何か目新しい概念とかだったら時代背景とかと合わせて あとから導入はわかるんだけど 静的型って大昔からあって、むしろスタンダードだったわけで 今更検討とか今もう2017年だよ?何やってんだよ まったくの迷走だよ
- 467 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 14:33:53.15 ID:OL5emEw+.net]
- 結論としてJuliaってことだね
- 468 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 15:55:48.82 ID:iFkNWUjs.net]
- 無知の長文
- 469 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 16:21:28.87 ID:k95nzBVS.net]
- crystal もよろしく
- 470 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 23:42:14.51 ID:JZiPjSZc.net]
- >>466
動的型は実装が簡単なんだよ
- 471 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 03:21:52.12 ID:oJ3jWx7w.net]
- >>470
逆だが…動的型の方が面倒くさい >>466 はただの荒らしだからまともに取り合うとロクなことないよ
- 472 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 07:12:07.86 ID:4qcBtzlj.net]
- >>471
動的型信者が静的型をdisるときによく言う「静的型の方が型が決まってるから実装が楽だが〜」 みたいなのを真に受けてるのかな 自分で簡単な言語を実装してみたらわかるよ 問題は型が静的か動的かよりも静的コンパイルの実装コスト
- 473 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 12:07:08.08 ID:ivKlbKhz.net]
- 静的コンパイルはコンパイル系と実行系で処理系が2重になるのが複雑
あらかじめ仕様をきっちり決めておかないと手戻りが多発するからスクリプターのノリで適当に作るのは困難
- 474 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 12:34:26.64 ID:IT/QqIXj.net]
- コンパイラも自作しちゃえばいいのよ
- 475 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 17:08:10.47 ID:bWq8JKgn.net]
- 仮に動的型のほうが静的型のよりも
最適化を含めるとなると難しいんだったとしても それはまったく無駄な努力だからな あと、動的方言語を静的に解析してエラーを見つけるのは難しいんだけど それも無駄な努力だからな 静的型にすれば済む話 問題を直接解決しようとせず、周りをウロウロして何とかしようとするのは無駄 最近の言語に静的型が多いのは、誰も無駄な意味のない努力をしたくないから 動的型は、何か、ズレてるんだろう 砂糖と塩を輸送するのにブレンドして輸送する感じ もしかしたら輸送費は安くなるかもしれないが 後で分離する手間考えたら分けて輸送したほうが良い 動的型の型を静的に解析するのはまさにそれに等しい行為 手間が増えるだけ
- 476 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 17:15:56.85 ID:bWq8JKgn.net]
- 静的型言語の実装の難易度を基準とすると
動的方言語は、とりあえず動けばよいってレベルなら超楽勝 しかし実用になるレベルにするのに まじめに最適化を実装しようと思うと途端に難易度は跳ね上がり超絶難易度になる 間は無い うま味がないってこと 誰も手を出さなくなったわけだ
- 477 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 17:18:10.38 ID:GTe30Tvn.net]
- 糖質なフレンドだね
- 478 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 17:28:09.10 ID:bWq8JKgn.net]
- GoogleのV8エンジンとかは、技術的に本当に興味深く凄いなぁと思う反面
あんな苦労は絶対したくないし 言語仕様のほうをどうにかしたほうが手っ取り早いのは確実 本当に動的型言語は何するにしても無駄に壮大で大変だなぁ 静的型言語が全ての答えなのにね
- 479 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 18:31:58.34 ID:BNfiYHeO.net]
- V8はC++で書かれているけど、
Chrome含むGoogleのC++はマクロで魔改造されてる。 C++のマクロだけじゃなく、Pythonも使ってソースコード置き換えをしてる。 結局「全ての答え」などというものはない
- 480 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 21:12:00.24 ID:wq3/hASM.net]
- 全ての答えおじさんは自分で言語作ったりするの?
ただのユーザだったらうけるんだが
- 481 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 21:45:28.70 ID:aYsFsxPN.net]
- 動的言語を速くする努力なんて無駄だっていうけど
Javaが速くなったのはV8と同じ技術の流用だろ?
- 482 名前:デフォルトの名無しさん mailto:sage [2017/03/04(土) 13:07:22.03 ID:TytE5WQL.net]
- むしろJavaが先駆者というかJIT技術の長年の代表者かな
でもJavaとV8は実際やってることは全くと行っていいほど違う 何故かと言うとJavaは結局コンパイルしてバイトコードにした時点で実際の最適化の殆どは済んでいる、実際はJITはオマケのコンパイル言語だ そこから少しだけプロファイルを取ったり、各環境向けに最適化するが、微々たるもの そもそもバイトコードにした時点で情報が結構失われるからそこからJITするのに限界がある構造 でも静的なのでそんなチャレンジングなことをしなくても大体のケースで十分に最適化できるので バイトコードサイズを小さくする方を取ってるが、実際幾つかのケースでV8含む完全ソースが手元にあるJITに負ける 一方V8は実行時というか実行前から実行中までずっと最適化し続けるJITをやや超えるもの
- 483 名前:デフォルトの名無しさん mailto:sage [2017/03/04(土) 15:50:13.16 ID:W8crb5iK.net]
- Javaなんかコンパイラがどんなに良質なバイトコードを吐いたところでJITを切ったら使いものにならないよ
- 484 名前:デフォルトの名無しさん mailto:sage [2017/03/04(土) 20:30:51.92 ID:TytE5WQL.net]
- 動的コンパイル≠JITコンパイル
- 485 名前:デフォルトの名無しさん mailto:sage [2017/03/04(土) 20:49:23.65 ID:9zDoQRRc.net]
- JITコンパイル≠HotSpot技術≒V8の技術=anamorphic
- 486 名前:デフォルトの名無しさん mailto:sage [2017/03/04(土) 21:09:43.19 ID:9zDoQRRc.net]
- >>482
オマケのわりにはクリティカルじゃね? blog.cybozu.io/entry/2016/04/13/080000
- 487 名前:デフォルトの名無しさん mailto:sage [2017/03/04(土) 22:43:59.15 ID:W8crb5iK.net]
- Animorphic Smalltalk VMやね
- 488 名前:デフォルトの名無しさん mailto:sage [2017/03/05(日) 01:08:23.00 ID:MrlX2Uoe.net]
- >>486
2倍は全くクリティカルではない JSだとJITは数十から数百倍のスケールで恩恵がある
- 489 名前:デフォルトの名無しさん mailto:sage [2017/03/05(日) 07:40:06.85 ID:c4lSj3ER.net]
- >>488
それベンチマークに特化したコードでの話じゃね? それならJavaでも似たような差がでるよ
- 490 名前:デフォルトの名無しさん mailto:sage [2017/03/05(日) 19:03:52.33 ID:ONGjQtv5.net]
- >>489
良いことなのかも知れないけれど、昔のインタプリタの頃のとてつもない低速度忘れちゃったんだな
- 491 名前:デフォルトの名無しさん mailto:sage [2017/03/05(日) 20:03:49.77 ID:tiOeAN9d.net]
- >>490
Java VMは今も昔と変わらずバイトコードインタプリタだよ?
- 492 名前:デフォルトの名無しさん mailto:sage [2017/03/05(日) 21:02:12.11 ID:xrJm/RDc.net]
- THE アスペ
- 493 名前:デフォルトの名無しさん mailto:sage [2017/03/05(日) 21:12:38.66 ID:ONGjQtv5.net]
- いいんやで、もうどうでも
- 494 名前:デフォルトの名無しさん [2017/04/13(木) 09:59:12.88 ID:z2xiyw8y.net]
- TypeScriptの採用が増えそうで俺歓喜
Google社内の標準言語としてTypeScriptが承認される。ng-conf 2017 www.publickey1.jp/blog/17/googletypescriptng-conf_2017.html Google、社内標準言語の一つとしてTypeScriptを採用 https://developers.srad.jp/story/17/04/11/0718244/
- 495 名前:デフォルトの名無しさん mailto:sage [2017/04/15(土) 23:41:19.57 ID:Af1/s0zG.net]
- gihyo.jp/news/report/01/rubykaigi2016/0001
まったく往生際が悪いというかなんというか、何の意味があるの? 一方ロシアは鉛筆を使ったって感じ 「負けたんだよ」ってだれか言ってあげて
- 496 名前:デフォルトの名無しさん mailto:sage [2017/04/16(日) 00:02:02.80 ID:AmA5ei6y.net]
- 大体型を書くのが面倒ってのも良くわからないし、型推論とかもあるのにな
あと型が書いてあったほうが読みやすい場面も多々あるし 機械にもわかりやすくて人間にもわかりやすくて、丁度よいじゃないか あとほか宣言があると・・・宣言は型だけじゃなくスコープの宣言でもあるわけでして 宣言なし言語はスコープが気持ち悪いことになってるのが多いよなw それからダックタイピングは本当に必要なのかどうなのか 静的型であってもジェネリックやテンプレートやオーバーロードがあれば 静的なダックタイピングは可能なわけで、しかもタイプセーフだし 動的なダックタイピングなどという危険極まりないものが本当に必要なのか? ダックタイピングは静的に解決できる範囲で楽しめばよいだろうよ それですら黒魔術とか言われるのにな あと、WebAssemblyな、結局C++などの静的型言語を中間言語にしたものを ブラウザで読み込んで機械語に変換して実行しようよっていう どこまで行っても結局型が判明しているほうが最適化しやすいよね CPUの進化が鈍化してきているし、物理的限界が近いことも考えれば当然の流れだな
- 497 名前:デフォルトの名無しさん mailto:sage [2017/04/16(日) 05:04:24.13 ID:O+EWztiU.net]
- WASMでDOM操作とか夢のまた夢だし、
そもそもJavaでのDOM操作も実情はきつかったし 別にWebで無くてもいいような1つのアプリケーションを作るんなら 型は有用だけど、何かと何かをくっつけたり、加工したりするための スクリプト言語としては全くの不要だよ
- 498 名前:デフォルトの名無しさん mailto:sage [2017/04/16(日) 07:06:11.63 ID:aIkdKg/w.net]
- >>496
> それからダックタイピングは本当に必要なのかどうなのか > 静的型であってもジェネリックやテンプレートやオーバーロードがあれば > 静的なダックタイピングは可能なわけで、しかもタイプセーフだし ダックタイピングのこと分かってないだろ
- 499 名前:デフォルトの名無しさん mailto:sage [2017/04/16(日) 09:52:33.87 ID:SqhlDt4o.net]
- ダックタイピングはそれをプログラマが活用するのではなく
動的言語における多態性の(安易な)実装手法にすぎない
- 500 名前:デフォルトの名無しさん [2017/04/16(日) 10:22:58.46 ID:XyqfpBE9.net]
- という完全に誤った理解が蔓延しているというお話し
- 501 名前:デフォルトの名無しさん mailto:sage [2017/04/16(日) 10:23:01.86 ID:AmA5ei6y.net]
- >>495のURL先は皆読んでくれたかわからんが
掛け違えたボタン感が本当にすごくて 最初の一歩を間違えるとこんなにも面倒なんことになるのかって感じ 北朝鮮はどこまで進化しても北朝鮮ってことなんだろうよ うすら寒い理想の未来を語るところもよく似ている 過去に生きて、未来を語って、現在に生きてないって感じ まさに掛け違えたボタンで、「現実」のボタンをスキップして飛ばしている 胡散臭い宗教とかもそんな感じだよね たぶん「現実」に不満がある人を集めるのが目的だから 過去の技術を使って、未来を語ってみせて、騙くらかすって事なんだろうな これがまさしく、走り続けないと終わる、の意味だろう でももう流石に誰も騙されないよね 麻疹みたいなものだから、学生さんは一度はそういう目に合うかもだが
- 502 名前:デフォルトの名無しさん mailto:sage [2017/04/16(日) 10:25:51.21 ID:AmA5ei6y.net]
- もしくは、ボタンを掛け違えていることに本人だけが気付いていなくて
誰も追いついてこないな〜なんて思っていたら 実はみんなもっと遠いところで高度なことをやっていた、ってパターンか 誰も追いついてこないんじゃなくて、フォロワーが居ないってことなんだけどね
- 503 名前:デフォルトの名無しさん mailto:sage [2017/04/16(日) 11:27:58.86 ID:cCOM2/u0.net]
- ダックタイピングというのは、(人間が)ガーガーと
アヒルのモノマネをすれば、アヒルとみなして扱おう という発想から生まれたもの
- 504 名前:デフォルトの名無しさん [2017/04/16(日) 15:33:13.73 ID:aIkdKg/w.net]
- >>501
ダックタイピングのことを何も分かってない人間がいくら言おうと説得力はゼロだよ
- 505 名前:デフォルトの名無しさん mailto:sage [2017/04/16(日) 16:41:45.39 ID:AmA5ei6y.net]
- 残念ながら>>499が正解なんだな〜
俺も、もし何かの都合で自分で言語を作る必要性に駆られたら そうするだろうね、実装が圧倒的に楽だから つまり、自分で言語を作って、自分で使うんなら 現代においてもなお、動的型はありうるんだよ、これが 言語を作る手間と時間もコストとして換算して トータルで労力を最小にしたいから どこでバランスするかの問題 もしくは自分はもっぱら言語を作るのがメインで、使うのは他のやつって場合も 自分だけが楽できれば良いという身勝手な発想に行き着いたのなら、ありえる 自分は静的型言語でその恩恵を十分に得ながら言語開発して 他人は自分の作った言語で苦しむっていう 人として最悪な感じにはなるけど、まぁ最終的には良心の問題 金もうけのためだったり仕事って事なら仕方ないけど 人生の目標にしたら只の嫌がらせだな それはそれとして、既存の言語を使うだけなら わざわざ手抜きな言語をあえて選択する意味はないよ
- 506 名前:デフォルトの名無しさん mailto:sage [2017/04/16(日) 16:43:12.44 ID:aIkdKg/w.net]
- >>505
ダックタイピングをジェネリクスで代替できると思ってる人間の論理に説得力はない
- 507 名前:デフォルトの名無しさん mailto:sage [2017/04/16(日) 16:45:25.04 ID:cCOM2/u0.net]
- ダックタイピングはジェネリクスではなく
インターフェースで代替するもの
- 508 名前:デフォルトの名無しさん mailto:sage [2017/04/16(日) 16:49:53.76 ID:aIkdKg/w.net]
- >>507
その通りだね そしてインタフェースをいちいち付けてまわるのは非常に面倒臭いこと 自分で作るクラスならまだ何とかなるが、使ってるライブラリのクラスだとそうもいかない
- 509 名前:デフォルトの名無しさん mailto:sage [2017/04/16(日) 16:54:54.02 ID:cCOM2/u0.net]
- > そしてインタフェースをいちいち付けてまわるのは非常に面倒臭いこと
めんどくさい? ダックタイピングではインターフェースがないから 代わりにコメントで同じ情報を書かないといけないじゃん。 インターフェースの情報(コメント含む)を書かないで それが仕様かどうか分かってもらえると思ってんの?
- 510 名前:デフォルトの名無しさん mailto:sage [2017/04/16(日) 17:00:32.58 ID:aIkdKg/w.net]
- >>509
コメントなら書くか書かないかは開発者が選べる それを「低レベルコード生産要素」と見るか「プログラマの自由を保証」と見るかは ポジションによる Matzなんかは後者の立場なんだろうし、日本のSIのような人月計算でレベルはおかまいなしのような プロジェクトに関わってるような人から見れば前者になるんだろうね
- 511 名前:デフォルトの名無しさん mailto:sage [2017/04/16(日) 17:01:19.16 ID:AmA5ei6y.net]
- 「静的な」ダックタイピングはジェネリックとオーバーロードで実現可能
という風に書いたのにこれが理解できないのではどうしようもない きっと静的と動的の違いも理解できてないんだろう 静的なダックタイピングはタイプセーフだし 本当にうまい落としどころだなぁって思う 何もかもが静的型に都合がよいように回ってて、ちょっと怖いね とはいっても俺も何でもかんでも型で解決しようってのはあまり好きじゃなくて 一つのアイデアが上手くいくと一気に乗っかっていく感じは何か過剰というか ただ、そうはいってもダメなものがダメなことには変わりないんだけどね
- 512 名前:デフォルトの名無しさん mailto:sage [2017/04/16(日) 17:01:47.01 ID:cCOM2/u0.net]
- >>510
> コメントなら書くか書かないかは開発者が選べる 言い換えると、 コメント書きたくない、仕様書を書きたくない。 コード読まないとわからない。 というコードを書きたいってことか? ひどいな。だから可読性が下がるんだよ。
- 513 名前:デフォルトの名無しさん mailto:sage [2017/04/16(日) 17:03:04.51 ID:aIkdKg/w.net]
- >>511
ぜんぜん違う ほんとダックタイピング分かってないんだな ID:cCOM2/u0 なんかはその辺分かってるから議論になるけど、お前にゃ無理だよ
|
![](http://yomi.mobi/qr.gif)
|