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

■ このスレッドは過去ログ倉庫に格納されています
2017/12/01(金) 23:08:21.45ID:FxdZTiuZ
スレタイ以外の言語もok

前スレ
次世代言語Part7[Go Rust Swift Kotlin TypeScript]
http://mevius.5ch.net/test/read.cgi/tech/1508403098/
2018/01/03(水) 15:29:23.56ID:BD5Fg5Uh
>>539
lamdaが糞
finalがない
privateがない

はい完全究極ロンパリオン・ギガアタックEx
2018/01/03(水) 15:36:20.12ID:0ljbskXf
>>540
そんなゴミクソ仕様の塊よりすっきり書ける言語がないという事実
2018/01/03(水) 16:16:41.94ID:1ORngv96
>>540
×lamda
○lambda

>>540
Y コンビネータをすら記述できない lambda 仕様が特にコンパイル言語にも氾濫しているが、いったい何の役に立つんだ?老害避けのつもりか?
2018/01/03(水) 16:25:14.58ID:BD5Fg5Uh
>>541
おまえのいうすっきりって何だよ
俺はTypeScriptですっきり書けてるが?
2018/01/03(水) 16:44:08.47ID:CJ7nUX51
Zコンビネータじゃ駄目なんか?
2018/01/03(水) 17:44:23.37ID:BD5Fg5Uh
俺なんかXenoExtraUltraGigaJetHyperUltraMiracleSuperコンピータだが文句あるか?
2018/01/03(水) 18:27:49.94ID:1ORngv96
>>545
君の芸風とても好きだ!
>UltraGigaJetHyper**Ultra**
2018/01/03(水) 18:51:02.03ID:ykBugU3C
またTypeScriptか。
いい加減ちょっと落ち着いてほしいな、推しの人は。
言語仕様はごった煮、出来上がるのは微妙に汚いJavaScript。
async awaitをネイティブのasyncじゃなくてトランスパイルした結果なんて変数のライフタイム無茶苦茶長くなるし。
言語としてのTypeScriptはいろんな意味で何でもできて良いと思うけど、今の実装としてのTypeScriptって微妙だと思うんだが。
単に書く時にスッキリかけても、ちょっと違う気がする。
2018/01/03(水) 18:56:17.97ID:Dz+CQN9J
>>547
普通にコンパイルオプションの問題だし。
outputをes2017に指定すればいいよ
2018/01/03(水) 19:05:06.06ID:ykBugU3C
>>548
そうじゃなくて。だからネイティブのじゃなくてトランスパイルさせたらって前提付けたんだけどな。
なんかあそこまでやるなら、JSとの相互運用諦めてもっと汚いコード出せば良いのに、と思ってしまうんよ。
2018/01/03(水) 19:38:05.02ID:Dz+CQN9J
>>549
TypeScriptのトランスパイルコードを直接いじることは無いからなぁ。
なんでそんな状況になったの?
2018/01/03(水) 20:25:39.92ID:ykBugU3C
>>550
弄ることは無いが、あるべき姿になるようにTS側で書き分ける事はあるかな。

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

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

>>565
ペチプァ言いたいだけだろうが、ペチプァ連呼して悦に入って問題を理解できないやつにゴタゴタ言われたくはない。
2018/01/04(木) 20:16:17.73ID:nTAtbfT4
ID:dTmScpvt言ってる事そんなにわけわからんくもないのになんでこんな事になってんだ?
2018/01/04(木) 20:29:50.34ID:UC9+Q2Sj
正義を徹底するより中途半端の方がいいと思ってる奴はいっぱいいるから
2018/01/04(木) 20:47:32.62ID:lDvme0sw
>>564
トランスパイラである以上多かれ少なかれそういうオーバーヘッドは避けられるものじゃないと
思うけど、問題はそこでTypeScriptがBabel等と比較して出来が良くないのかどうかだね。
2018/01/04(木) 20:49:37.08ID:h9oQFOEG
過剰な最適化は開発のスピードを落とすしバグも増やすからな
2018/01/04(木) 21:19:25.60ID:SwPhpZjo
いいか、喚くだけなら頭がPoorのペチPoorでもできるんだよ
わかるか?わからんやつはペチプァだけだが
2018/01/04(木) 21:23:18.84ID:typzK5sH
ちょっと笑った
2018/01/04(木) 22:58:20.94ID:ZFKdQPiM
ペチPoorは良いな。俺も使わせてもらおう
2018/01/04(木) 23:59:42.42ID:/Un6+mBC
ペチPoohでもいいぞ
2018/01/05(金) 04:33:36.96ID:Lhuo9IQi
>>571
おまえは気が狂っている。
一刻も早く病院へ行け。
2018/01/05(金) 07:47:15.22ID:QF8nYsKX
>>575
2018/01/05(金) 10:36:04.85ID:OSZVMsU9
>>575
おっ 頭がPoorのペチPoorか?
2018/01/05(金) 12:08:39.39ID:2QFGEILP
ペチPoorはおつむもおちんぎんもPoorでかわいそうね
2018/01/05(金) 12:50:08.59ID:WQychI9E
>>570
そろそろコンパイラと言うなら、最適化フェーズに入って欲しいわ。
ずーっと(確かに欲しいのはわかるが今でなくて良いだろうと言いたくなる)新機能つけ続けてるじゃん、
2018/01/05(金) 13:38:22.06ID:rGChZwpO
>>578
やめたれw
2018/01/05(金) 13:40:21.34ID:9YdInhdK
>>579
そろそろ課金するフェーズだろ
お金を払ったら悪口言っていいし、悪口言われたくないならお金稼ぐのをやめればいい
2018/01/05(金) 14:12:44.72ID:WQychI9E
>>581
課金するフェーズはまあ別に妥当な値段なら買うよ、マジで。課金して良くなるならね。
VSより高いとなるとちょっと考えるけど。
自分でプルリクせえとなっても、suggestionの段階で同じ様なパフォーマンスのためにJSの形変える系の話は、みんな却下されてたはず。
要は皆>>568の様な形で、中途半端で良いと思ってて、どん詰まりはもっと先だろと楽観視してる。

もはや単なるリンタ。
2018/01/05(金) 18:22:04.71ID:rGChZwpO
推測するな 計測せよ
って言葉知らんのか?
2018/01/05(金) 18:43:32.98ID:/3vfwTze
知らん
2018/01/05(金) 18:44:03.04ID:/3vfwTze
考えるな、感じろ。なら知ってる。
2018/01/05(金) 18:47:50.38ID:2QFGEILP
それ知らんのはガイジ
2018/01/05(金) 20:49:35.32ID:WQychI9E
無意味に計測だけしても無駄でしょ。
推論からの計測で計測からの推論かと。
どこを計測するか考えてる時点で推測しとるって事だからね。
2018/01/05(金) 21:06:34.87ID:Z2M9SnI/
>>582
そもそもTypeScriptは単なるリンタだろ
お前がプルリクを出すべきなのはTypeScriptではなくV8
2018/01/05(金) 21:20:50.22ID:2QFGEILP
「推測するな 測定せよ」みたいないわゆる格言に対してそんなガキみたいな屁理屈捏ねられてもね……
2018/01/05(金) 21:25:02.92ID:5kzCv3dH
TypeScriptをlint扱いは流石に草
2018/01/05(金) 22:31:21.64ID:EMt1frzJ
推測も測定も両方しろよ。
2018/01/05(金) 23:22:56.45ID:iSZmj121
もうPooHPでも書いてろよ
2018/01/06(土) 14:22:11.98ID:pmlj07ym
>>588
違うらしいよ、信者様によると。
2018/01/06(土) 14:24:10.80ID:pmlj07ym
>>589
意味を理解しない格言や誤謬を招かんとする格言の使い方には一言言いたくなるじゃん。
そう信じて計測だけする奴が可哀想だ。
2018/01/06(土) 14:27:48.16ID:ul9KuZX2
どう考えてもV8にコミットするのが筋だわな
別にTS批判君が全ブラウザをやらなくても、効果的な改良なら他もすぐに追従するだろう
まさかJIT結果だのVMの仕様だのキリッが付きそうなレスしてるのにC++やネイティブコンパイル分からないとか言わないよね
2018/01/06(土) 15:18:49.96ID:Zbelr2Bx
臭い奴がおるな
2018/01/06(土) 16:25:24.67ID:vE17HoYT
wasmにGCが搭載された暁には
いくらでも頑張って欲しい
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に引きずられる必要があるのかわからんが、皆がそれで良しとする理由は「中途半端で良いから」なの?
2018/01/06(土) 16:51:40.90ID:pmlj07ym
コンパイルした時点で型が消えるのに、JITに引数の型に対して何種類か載せ続けるべき関数(ジェネリクスだった関数)なのか、それともany受けてるただの関数なんか、それこそプロファイル取ること自体無駄じゃん。
最初から型ごとに吐きゃ良いのにって思っちゃいかんのか?
2018/01/06(土) 17:16:11.92ID:vE17HoYT
名前の通りbetterJS以上の認識は無いな
少なくともtscだろうとtstだろうと単なる名前に拘る奴は居ないと思う

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

>>607
どっちが馬鹿とかじゃなかろうが。
そういう発想がマウンティングとかいう発言に繋がってんの?
2018/01/07(日) 13:30:35.11ID:+RrxdpdM
マウンティングで検索したら誰も言ってなくてワロタ
2018/01/07(日) 13:47:09.28ID:WSf4F++k
>>609
ホントだな。
過去スレの印象で言ってるもんだと思ってたわ。
2018/01/07(日) 13:59:18.12ID:vkdahwds
まあ新しい言語やるやつの動機の7割はマウント取りたいで合ってるよ。
2018/01/07(日) 14:07:56.16ID:tEoGaVYL
x >= y または x < y などと変数でごちゃごちゃ書いてないで定数にすればわかる
変数は妄想だ
妄想するな計測せよ
2018/01/07(日) 14:37:44.54ID:8Eqg8PLM
2 >= 1
2018/01/07(日) 15:41:02.61ID:WSf4F++k
変な荒れかたするもんだな。
615デフォルトの名無しさん
垢版 |
2018/01/07(日) 19:02:21.52ID:KS5M1w7d
まあ個人の体験談みたいなものを根拠に主張したって賛同はされんわな
コードが出てこないと改善の有用性も見えないし抽象的な話で止まってしまうよ
2018/01/07(日) 21:38:26.68ID:BUQO0mIV
そーだな、ぜひともHaskellで書いた次世代言語らしいサンプルが見たいもんだ。
他の言語は出たのにな。
2018/01/07(日) 21:51:35.49ID:tEoGaVYL
HaskellとKotlinとTypeScriptのサンプルが出なかった時の話だろうか
2018/01/07(日) 21:58:24.02ID:Oi0ICvXY
サンプルコードが出るとダメな言語は一目瞭然だったりするからな
Sから始まる言語とか
2018/01/07(日) 22:23:27.72ID:tEoGaVYL
ダメな言語の批判ばかりだよな
よかった言語の名前は出せない空気になってる
2018/01/07(日) 22:26:14.15ID:WFi36oCb
5chは初めてか
2018/01/07(日) 22:52:11.69ID:+RrxdpdM
そいつは例のあDHDだろう。Haskellユーザーがいないこのスレで触ったこともないHaskellを叩き続けるガイジだから触れない方が良い
2018/01/07(日) 22:59:52.18ID:L6/hrCeD
文句なしの打っ千切り糞言語賞ナンバーワンはPから始まるあの言語だよなぁ
2018/01/07(日) 23:22:37.67ID:+RrxdpdM
PooHPoorの話はおいといて、好きな言語の話をするのは良いな
2018/01/07(日) 23:53:28.58ID:L6/hrCeD
ブレストの「批判をするな」がいかに大切かわかる空気感だね
2018/01/08(月) 00:10:42.98ID:vJNmJMtg
ブレストは頭の中だけで行動が伴わないので批判しなくていい
厳しく批判されるのは実行に移そうとした時
2018/01/08(月) 02:24:37.62ID:+UJAnfcM
マンセーしたきゃ勝手にすりゃいいじゃん。
現実で文句言われるよりここで言われる方がマシだろ。
2018/01/08(月) 10:50:08.35ID:si2lRCsu
現実でニコニコ
ネットで陰口

美しい国ジャップランド土人村
2018/01/08(月) 13:31:41.59ID:ojmRQEAO
ネットは筆記試験のようなものだよ
筆記試験もネットと同じような批判をされて面接重視になった
629デフォルトの名無しさん
垢版 |
2018/01/08(月) 14:51:35.25ID:isNCSjM0
>>627
おま環だろ?
2018/01/08(月) 18:13:08.29ID:e0/LavPD
おま国だろ
2018/01/08(月) 20:27:12.48ID:TtlW0DEg
Elmってどうなんだろ。インスパイアされたhyperappとかいうのがあるけど。
新しいjsライブラリは結構TypeScriptサポートしていて嬉しい
2018/01/08(月) 22:54:56.01ID:e0/LavPD
全てのJSプロジェクトはTypeScriptにしろ

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

正直、使ってみた感じは悪くないけど、この便利な言語でこういう事すると楽かな?みたいなのがあんまり思いつかんので、良いサンプルは見たいな。
GoのGoroutineやchanの気軽さとか、erlangのプロセスの考え方みたいなのとか。
2018/01/09(火) 18:54:28.23ID:5zS3VIoD
>>621
スレタイに入れた奴が居るはずだろw
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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