X



次世代言語Part8[Haskell Rust Kotlin TypeScript]

■ このスレッドは過去ログ倉庫に格納されています
0551デフォルトの名無しさん
垢版 |
2018/01/03(水) 20:25:39.92ID:ykBugU3C
>>550
弄ることは無いが、あるべき姿になるようにTS側で書き分ける事はあるかな。

くっそ遅い関数がなんで遅いのかを調べにかかった時に、モヤモヤした覚えがある。
genericsとか、型ごとの関数をちゃんと作ってほしいけど、一つだったり。今違うかったらすまん。
その時は、これでJIT結果捨てる事になってる…って気づいて、素直に沢山関数を作った。

コンパイラと言うならもう少しVMの仕様を鑑みても良いと思う。
0552デフォルトの名無しさん
垢版 |
2018/01/03(水) 20:47:23.87ID:ojwn4PN+
特定のブラウザの現在のバージョンに最適化しろってこと?
お前それ自分がコンパイラ作る立場ならやろうと思うか?
やろうと思うならお前がコード書いてプルリク出してやればいい
確実にリジェクトされるだろうけどな
0553デフォルトの名無しさん
垢版 |
2018/01/04(木) 00:44:42.33ID:nu/rOVYa
wasmが普通になったら状況変わるかね?
0556デフォルトの名無しさん
垢版 |
2018/01/04(木) 10:28:15.71ID:eEA4RdWc
確かにTypeScriptは実際に書いてるとめちゃくちゃ次世代感あるが、
それはReactとかReduxとかのメジャーを作ってる奴らが関数型厨だからで、
次世代なのは、言語というよりはライブラリという感じがする。
0557デフォルトの名無しさん
垢版 |
2018/01/04(木) 11:33:00.27ID:j8WFIzPh
PHP書かされてたときは辺境の島国で首輪に繋がれて石器で木の実取ってる気分になったわ
0558デフォルトの名無しさん
垢版 |
2018/01/04(木) 11:37:57.37ID:dTmScpvt
>>552
特定のブラウザじゃなくて。そういう発想がセンス無いの。
複数の型で同じ関数を呼ぶとかストールするのはほとんど当たり前と言っても過言じゃなかったりするけど、それを「特定のブラウザの問題でしょ?それよりこんな新しい機能ついたよ」って毎回押し切ってくるのがTypeScript。
AssemblyScriptなんかは好きだけどね。
TS使うプロジェクトにはたまにプルリク送ってるけど、最終的にはTSっぽくないTSのコードになるよ。
0560デフォルトの名無しさん
垢版 |
2018/01/04(木) 13:34:10.72ID:dTmScpvt
>>559
だから、特定のどうの、ではなくて、概ね大半の処理系でJITに乗るようなコンパイル結果出せって言ってるんだけど?
無理した小奇麗なJSっぽいコード出さなくても良いじゃん、って。
V8だと何バイト以下なら関数はインライン化される、とか細かい癖も確かにあるけど、だからこそ小奇麗で無くていいと思うんだが。
0561デフォルトの名無しさん
垢版 |
2018/01/04(木) 13:38:00.17ID:dTmScpvt
もしかして、今TypeScriptでジェネリクス使っても、JITは結果破棄しないのかな?
そうならごめん。
0562デフォルトの名無しさん
垢版 |
2018/01/04(木) 13:55:58.71ID:lDvme0sw
要はTypeScriptの実装が良くないということなんだろうけど、使う側からしたら
パフォーマンスやフットプリントが許容範囲を超えない限りは気にしないかな。
0563デフォルトの名無しさん
垢版 |
2018/01/04(木) 15:47:07.60ID:dTmScpvt
実装が中途半端、かな。JSに引きずられすぎだと思う。
Cで言うとexternしない関数が関数としての形を保たなくても良いのと同じ様に、exportしてないものを似たようなJSのコードにする必要は(もはや)無いと思うんよね。
許容範囲次第なのは確かだけど。
言語としては新しくて良いと思うが、処理系として微妙ってのはそういう所。
0564デフォルトの名無しさん
垢版 |
2018/01/04(木) 19:02:23.91ID:h9oQFOEG
>>562
ジェネリックをソースレベルで展開なんかしたらフットプリントが増えて
JavaScriptで一般的に言われるパフォーマンス(つまりロード時間)は落ちるよ
0565デフォルトの名無しさん
垢版 |
2018/01/04(木) 19:07:31.76ID:a9q0dcb4
おまえらなんかよりずっと賢い連中が作ってるんだから
問題なんかあるわけねえだろ
バカか?オレオレFW作りたがり坊やのペチプァなのか?
0566デフォルトの名無しさん
垢版 |
2018/01/04(木) 19:52:37.93ID:c10UOky1
>>564
ブラウザだけで動かしたい訳でもないし、起動時のパースのフットプリントをどうこう言うのであれば、今のNodeのnode_modules自体、既に無茶苦茶でしょ。
それも、最初に一発パースするからそうなるんであって、bootstrapとその後に分ければいいんでないの?

>>565
ペチプァ言いたいだけだろうが、ペチプァ連呼して悦に入って問題を理解できないやつにゴタゴタ言われたくはない。
0567デフォルトの名無しさん
垢版 |
2018/01/04(木) 20:16:17.73ID:nTAtbfT4
ID:dTmScpvt言ってる事そんなにわけわからんくもないのになんでこんな事になってんだ?
0569デフォルトの名無しさん
垢版 |
2018/01/04(木) 20:47:32.62ID:lDvme0sw
>>564
トランスパイラである以上多かれ少なかれそういうオーバーヘッドは避けられるものじゃないと
思うけど、問題はそこでTypeScriptがBabel等と比較して出来が良くないのかどうかだね。
0571デフォルトの名無しさん
垢版 |
2018/01/04(木) 21:19:25.60ID:SwPhpZjo
いいか、喚くだけなら頭がPoorのペチPoorでもできるんだよ
わかるか?わからんやつはペチプァだけだが
0579デフォルトの名無しさん
垢版 |
2018/01/05(金) 12:50:08.59ID:WQychI9E
>>570
そろそろコンパイラと言うなら、最適化フェーズに入って欲しいわ。
ずーっと(確かに欲しいのはわかるが今でなくて良いだろうと言いたくなる)新機能つけ続けてるじゃん、
0581デフォルトの名無しさん
垢版 |
2018/01/05(金) 13:40:21.34ID:9YdInhdK
>>579
そろそろ課金するフェーズだろ
お金を払ったら悪口言っていいし、悪口言われたくないならお金稼ぐのをやめればいい
0582デフォルトの名無しさん
垢版 |
2018/01/05(金) 14:12:44.72ID:WQychI9E
>>581
課金するフェーズはまあ別に妥当な値段なら買うよ、マジで。課金して良くなるならね。
VSより高いとなるとちょっと考えるけど。
自分でプルリクせえとなっても、suggestionの段階で同じ様なパフォーマンスのためにJSの形変える系の話は、みんな却下されてたはず。
要は皆>>568の様な形で、中途半端で良いと思ってて、どん詰まりはもっと先だろと楽観視してる。

もはや単なるリンタ。
0587デフォルトの名無しさん
垢版 |
2018/01/05(金) 20:49:35.32ID:WQychI9E
無意味に計測だけしても無駄でしょ。
推論からの計測で計測からの推論かと。
どこを計測するか考えてる時点で推測しとるって事だからね。
0589デフォルトの名無しさん
垢版 |
2018/01/05(金) 21:20:50.22ID:2QFGEILP
「推測するな 測定せよ」みたいないわゆる格言に対してそんなガキみたいな屁理屈捏ねられてもね……
0594デフォルトの名無しさん
垢版 |
2018/01/06(土) 14:24:10.80ID:pmlj07ym
>>589
意味を理解しない格言や誤謬を招かんとする格言の使い方には一言言いたくなるじゃん。
そう信じて計測だけする奴が可哀想だ。
0595デフォルトの名無しさん
垢版 |
2018/01/06(土) 14:27:48.16ID:ul9KuZX2
どう考えてもV8にコミットするのが筋だわな
別にTS批判君が全ブラウザをやらなくても、効果的な改良なら他もすぐに追従するだろう
まさかJIT結果だのVMの仕様だのキリッが付きそうなレスしてるのにC++やネイティブコンパイル分からないとか言わないよね
0598デフォルトの名無しさん
垢版 |
2018/01/06(土) 16:48:12.08ID:pmlj07ym
>>595
いや違うだろ。
なんでTSのコンパイル結果がクソなのをV8が面倒見るべきかわからんが。
普通にコンパイラとして真面目にコンパイルすりゃいいのに、って話で、
トランスパイラならトランスパイラと名乗れば良いのに。
よくもまぁこういう擁護ができるなぁと思うわ。

V8や他のJSエンジンは、JavaScriptの処理系であって、TypeScriptの処理系じゃねえんだから。
それこそ、TypeScriptが吐き出した中途半端なJSに対するチューニングなんか必要ないだろ。
V8側のスタンスは「最初からJSで書きゃ良いだろ、asyncが欲しい?考えてやるよ」と機能の面では歩み寄ってきたじゃん。
そういう意味で、wasmに振って、ちゃんとコンパイルするAssemblyScriptはいい方向だと思うが、
tscの方向性は微妙としか言い切れんと思う。

TS自体がなんで未だにJSに引きずられる必要があるのかわからんが、皆がそれで良しとする理由は「中途半端で良いから」なの?
0599デフォルトの名無しさん
垢版 |
2018/01/06(土) 16:51:40.90ID:pmlj07ym
コンパイルした時点で型が消えるのに、JITに引数の型に対して何種類か載せ続けるべき関数(ジェネリクスだった関数)なのか、それともany受けてるただの関数なんか、それこそプロファイル取ること自体無駄じゃん。
最初から型ごとに吐きゃ良いのにって思っちゃいかんのか?
0600デフォルトの名無しさん
垢版 |
2018/01/06(土) 17:16:11.92ID:vE17HoYT
名前の通りbetterJS以上の認識は無いな
少なくともtscだろうとtstだろうと単なる名前に拘る奴は居ないと思う

>いかんのか?
いいと思うよ
0601デフォルトの名無しさん
垢版 |
2018/01/06(土) 18:35:08.26ID:bW7JkyTC
>>598
実行時に型ごとにJITを分けるのって割と一般的な最適化手法だろ
型ごとにjsを生成すると言っても結局それらはみんな同じコードであって型情報なんて残らないんだから、
それが適切に最適化されるかどうかなんて処理系次第だろ
jsに型アノテーションを導入しろというなら理解できるが、あんたの主張は無茶な言いがかりにしか見えないな
0602デフォルトの名無しさん
垢版 |
2018/01/06(土) 18:41:14.50ID:bW7JkyTC
補足
最適化されるかは処理系次第、といったのは、結局、型ごとにjs生成しようが
JITは実行時の型を利用して最適化することには変わりないんだから、本質的には大した違いはないという意図だぞ
ヘボいと言うなら複数の型に適切に対応できないJITがヘボいんだよ
0607デフォルトの名無しさん
垢版 |
2018/01/07(日) 12:37:05.15ID:3N9WbZKm
妄想でごちゃごちゃ言ってないで検証コード載せなさいよ
どっちが馬鹿かはっきりするでしょ
0608デフォルトの名無しさん
垢版 |
2018/01/07(日) 13:26:29.62ID:WSf4F++k
>>606
あ、そうなんだ。それは良い風に変わってるんだな。
俺が見たときはほとんど整数、たまにエラーを表すオブジェクトのときに、毎回オブジェクトの時にJIT捨ててたけど、古いといえば古い話だし。
まぁプロファイル次第なんだろうな。

>>607
どっちが馬鹿とかじゃなかろうが。
そういう発想がマウンティングとかいう発言に繋がってんの?
0612デフォルトの名無しさん
垢版 |
2018/01/07(日) 14:07:56.16ID:tEoGaVYL
x >= y または x < y などと変数でごちゃごちゃ書いてないで定数にすればわかる
変数は妄想だ
妄想するな計測せよ
0615デフォルトの名無しさん
垢版 |
2018/01/07(日) 19:02:21.52ID:KS5M1w7d
まあ個人の体験談みたいなものを根拠に主張したって賛同はされんわな
コードが出てこないと改善の有用性も見えないし抽象的な話で止まってしまうよ
0616デフォルトの名無しさん
垢版 |
2018/01/07(日) 21:38:26.68ID:BUQO0mIV
そーだな、ぜひともHaskellで書いた次世代言語らしいサンプルが見たいもんだ。
他の言語は出たのにな。
0618デフォルトの名無しさん
垢版 |
2018/01/07(日) 21:58:24.02ID:Oi0ICvXY
サンプルコードが出るとダメな言語は一目瞭然だったりするからな
Sから始まる言語とか
0619デフォルトの名無しさん
垢版 |
2018/01/07(日) 22:23:27.72ID:tEoGaVYL
ダメな言語の批判ばかりだよな
よかった言語の名前は出せない空気になってる
0621デフォルトの名無しさん
垢版 |
2018/01/07(日) 22:52:11.69ID:+RrxdpdM
そいつは例のあDHDだろう。Haskellユーザーがいないこのスレで触ったこともないHaskellを叩き続けるガイジだから触れない方が良い
0622デフォルトの名無しさん
垢版 |
2018/01/07(日) 22:59:52.18ID:L6/hrCeD
文句なしの打っ千切り糞言語賞ナンバーワンはPから始まるあの言語だよなぁ
0625デフォルトの名無しさん
垢版 |
2018/01/08(月) 00:10:42.98ID:vJNmJMtg
ブレストは頭の中だけで行動が伴わないので批判しなくていい
厳しく批判されるのは実行に移そうとした時
0626デフォルトの名無しさん
垢版 |
2018/01/08(月) 02:24:37.62ID:+UJAnfcM
マンセーしたきゃ勝手にすりゃいいじゃん。
現実で文句言われるよりここで言われる方がマシだろ。
0628デフォルトの名無しさん
垢版 |
2018/01/08(月) 13:31:41.59ID:ojmRQEAO
ネットは筆記試験のようなものだよ
筆記試験もネットと同じような批判をされて面接重視になった
0629デフォルトの名無しさん
垢版 |
2018/01/08(月) 14:51:35.25ID:isNCSjM0
>>627
おま環だろ?
0631デフォルトの名無しさん
垢版 |
2018/01/08(月) 20:27:12.48ID:TtlW0DEg
Elmってどうなんだろ。インスパイアされたhyperappとかいうのがあるけど。
新しいjsライブラリは結構TypeScriptサポートしていて嬉しい
0632デフォルトの名無しさん
垢版 |
2018/01/08(月) 22:54:56.01ID:e0/LavPD
全てのJSプロジェクトはTypeScriptにしろ

棒案件で立ち上げ時にクソバカの老害オッサンがJSでコード書き始めたせいで
どんだけ苦労したか
0633デフォルトの名無しさん
垢版 |
2018/01/08(月) 23:52:24.85ID:KF2MtXIW
TypeScriptは認めるがBabelはほんとやめてほしい
わざわざビルドを面倒にするだけの見返りはどう考えても無い
0634デフォルトの名無しさん
垢版 |
2018/01/09(火) 00:49:10.43ID:Eu2F6gCU
Babelないとjsxも書けないし新しい文法も使えないぞ
糞まみれの生JSに戻る気か?
0637デフォルトの名無しさん
垢版 |
2018/01/09(火) 17:11:58.74ID:MVMyukKY
>>636
それ理想的だね。型を最初からサポートしたほうが良い。
typescriptを中心に据えてオプションで型無しをサポートする方針にしたほうが処理性能向上に寄与する気がする。
あとnumber型を廃止して
0638デフォルトの名無しさん
垢版 |
2018/01/09(火) 18:53:23.55ID:dlYDsmgP
>>621
もう叩いてないぞ。
割と興味出てきたのに、誰も、ここが良い!を言わないからつまんねえのって思ってるだけだよ。
スレタイに入れたいだけじゃねえの?って。

正直、使ってみた感じは悪くないけど、この便利な言語でこういう事すると楽かな?みたいなのがあんまり思いつかんので、良いサンプルは見たいな。
GoのGoroutineやchanの気軽さとか、erlangのプロセスの考え方みたいなのとか。
0645デフォルトの名無しさん
垢版 |
2018/01/09(火) 23:27:20.37ID:MVMyukKY
>>641
linuxを、デスクトップ用途で使うならいいけどなぁ。
wafとかで革新的なやつとか無いのかね?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況