次世代言語17 Go Rust Kotlin TypeScript Julia

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2019/09/04(水) 22:10:19.21ID:63Z/rODe
スレタイ以外の言語もok

前スレ
次世代言語15 Go Rust Bosque Kotlin TypeScript
https://mevius.5ch.net/test/read.cgi/tech/1555679940/
2019/09/24(火) 19:54:01.70ID:YoZGtfWP
キモナイ
2019/09/24(火) 19:54:10.27ID:lQoEMmOG
いや、メリットあるだろ
メリットあると思ってる人が多いからこれだけTSが普及したわけだし、Flowとかもあるんだから
2019/09/24(火) 20:27:50.03ID:0s+B6P7F
<table>を貶すことでcssとかが普及したよね
2019/09/24(火) 21:31:24.59ID:QoYCr2Zo
>>619
何?void*地獄って?
630デフォルトの名無しさん
垢版 |
2019/09/24(火) 21:47:10.60ID:qmIiKr5W
ts推すのはjsがあるからでしょ
だからjavaもよろしいとはならんでしょ
javaをよしとするならその時点で不採用だわ
2019/09/24(火) 21:57:17.76ID:7x+GQPMg
いつから特定言語に噛みつくだけのレベル低いスレになったんこのスレ?
2019/09/24(火) 22:00:57.63ID:Z8tqpfE6
レベルは元から変わらん
2019/09/24(火) 22:08:45.58ID:t83x9pUI
正直Javaは嫌いじゃない
採用してるところに地雷が多いだけ
2019/09/24(火) 22:11:00.11ID:39ZkXKsB
Javaがある日Innullableになったとする

このへんの言語ってそれでも絶対必要って言えるのあるか?
2019/09/24(火) 22:11:50.27ID:39ZkXKsB
妥協なき理念
Rustだけが輝いている
2019/09/24(火) 22:18:31.59ID:7x+GQPMg
>>634
お前はJavaがある日Innullableになるまで寝て待つのかね
2019/09/24(火) 22:18:39.24ID:xYovPDoo
漸進的型付けのユルさが好きだ。
2019/09/24(火) 22:20:14.14ID:F/MYvEZu
Javaはプログラマーの質が両極端な印象がある
2019/09/24(火) 22:28:05.22ID:7x+GQPMg
漸進的型付が好きとかないわ
JavaScriptという負の遺産をなんとかマシにするための苦肉の策だろ
JavaScriptの魔術でどうしようもない汚物みたいなシグネチャになったOSSのTS化プロジェクトを知ってるが
悲惨なもんだわ
2019/09/24(火) 22:31:50.62ID:QoYCr2Zo
Rustはアルゴリズムに集中したいのに邪魔される
2019/09/24(火) 22:45:03.60ID:39ZkXKsB
なにもかも兼ね備えた言語はないのか
2019/09/24(火) 22:48:09.33ID:xYovPDoo
まぁ、厳密な静的型付け以外認めないという人から見れば動的型付けも漸進的型付けも
同じようなもんなんだろうけど。
2019/09/24(火) 23:21:44.68ID:THgavbXx
>>641
アセンブラ
2019/09/24(火) 23:31:20.25ID:EGkcGZuY
>>643
何でも作れると、何でも兼ね備えるは全く別のことだぞ。
645デフォルトの名無しさん
垢版 |
2019/09/24(火) 23:34:05.69ID:tOMI+Y9z
いや何でも作れるなら作って備えりゃいいだけだろバカか?
2019/09/24(火) 23:50:39.21ID:7x+GQPMg
よし、アセンブラで型システムを作って備えよう
2019/09/24(火) 23:57:00.73ID:0s+B6P7F
>>640
最初はOCamlで集中して後でRustで書き直したという伝説がある
OCamlなんか使って後のこと考えない性格だから集中できたのか
648デフォルトの名無しさん
垢版 |
2019/09/25(水) 00:08:18.35ID:0J019kSy
>>641
なにもかも兼ね備えるとC++の様な闇鍋言語が出来上がる
突き抜けてるC++は好きだけどな
2019/09/25(水) 00:09:20.32ID:Od4KgNLb
>>646
メモリ管理も大変だからGCも備えときましょうね〜

ってあれ?
2019/09/25(水) 00:48:28.74ID:Xiw2tH6C
>>641
JavaScriptがまさにそうだな
2019/09/25(水) 00:51:49.15ID:Z8PGUkrD
>>645
何でも備えた魔法の俺俺言語の処理系をアセンブラで実装したとして、それは俺俺言語が備えているのであってアセンブラが備えている訳ではないだろバカか?
2019/09/25(水) 01:22:27.87ID:Od4KgNLb
行くぞ英雄王ーーー
俺俺ライブラリの貯蔵は十分か
2019/09/25(水) 03:12:27.73ID:ulBaFWWN
トレースオン!
Unlimited OreOre Works!!
2019/09/25(水) 03:21:21.46ID:Od4KgNLb
うわつまんね^^;
2019/09/25(水) 04:41:24.35ID:KyCrJSYd
>>629
ライブラリから呼び出されるコールバック関数がvoid*を引数に取ってて
そのコールバック関数内で実際のポインタ型にキャストしてやらなきゃいけないやつ
純粋なCのライブラリで、特に非同期関連のやつによくある
というかvoid*すら知らないで型の話してたの?
2019/09/25(水) 05:29:13.64ID:rQhNlpv9
はつみみです
2019/09/25(水) 05:35:28.51ID:mqsY7QVO
>>655
void* じゃなくてvoid*地獄について聞いてんだが
2019/09/25(水) 06:02:27.15ID:Xmj5mkWD
最近のJavaScriptってヒョロガリの人間にサイボーグパーツを無理矢理備えつけて強くしてる感あるよな
JavaScriptである必要性がない
2019/09/25(水) 08:26:44.21ID:WDVOBhzi
nullが存在しなかったらOptionl.Noneをデフォで何でもねじ込むようになるから無意味かもね
2019/09/25(水) 08:57:03.50ID:J2adDr87
メモリ管理だけはどうしても言語レベルで設定しなきゃならん。
lisp、c++みたいななんでも備えた言語でもそこだけは変わらん。
661デフォルトの名無しさん
垢版 |
2019/09/25(水) 09:22:26.41ID:f+0xQUif
>>650
型が無いしバイナリにコンパイルも出来ない
2019/09/25(水) 09:33:39.69ID:GHCxkzpX
>>659
その二つが一緒だと思うんだ
2019/09/25(水) 11:51:53.15ID:KaitpITf
nullは分岐を明示しないので例外が発生する位置を明示しない
使わないメモリを節約する代わりに使用中のメモリは断片化する
2019/09/25(水) 12:26:59.15ID:SmUxqnJ3
java scriptはシングルスレッドなのが英断だよね
非同期地獄をpromise、async/awaitで解消してきた歴史もすばらしい
下回りでは平行タスクが多数走るんだけど上位はそんなこと知る必要なく動く
まさにIT土木作業員用言語として天才たちがデザインした結果だと思う
2019/09/25(水) 13:21:11.06ID:KaitpITf
「制御の反転」を提案したオブジェクト指向
に嫉妬してもう一回反転させたのがasync/awaitだ
ルサンチマンの結果だ
2019/09/25(水) 14:12:53.64ID:GHCxkzpX
javaでも新しめのjavaなら許容できる。ラムダきたし、ローカル変数の型推論もきたし。後、async/awaitいれてくれればね
2019/09/25(水) 14:15:39.19ID:GHCxkzpX
async/await褒めるなら最初に発明したのはC#のマイクロソフトの天才たちなの?

褒めるならそっちだな
2019/09/25(水) 14:29:47.58ID:HV92OfVj
C#のasyncはF#由来
マイクロソフトには違いないけどMSのプロダクト部門じゃなくて MS Research の成果
669デフォルトの名無しさん
垢版 |
2019/09/25(水) 15:43:48.87ID:it7hFznu
MS ResearchといえばBosque
2019/09/25(水) 15:49:09.41ID:GHCxkzpX
そっか。
そういや、.net core 3リリースされてc#にもnon nullable reference typesとか使えるようになるけど、既存のライブラリ特に標準のクラスライブラリ使うときはどうなってるの?

kotlinでjavaのAPI使うとき、アノテーションされてないとプラットホーム型とかいううんこになってnull safetyの魅力半減するけど。
2019/09/25(水) 16:49:52.46ID:keTHdpUQ
async/await が地獄じゃん
C# は死んだ、JavaScript も死んだ
Java は死ぬな
2019/09/25(水) 17:10:50.79ID:WMhhFNrj
マイクロソフトが関わった言語はみんな死んで行く
2019/09/25(水) 17:44:08.64ID:c4fBR5Jd
>>672
なでしことアセンブラは?
674デフォルトの名無しさん
垢版 |
2019/09/25(水) 18:09:47.02ID:it7hFznu
なでしこに手を出すとは…無茶しやがって…
2019/09/25(水) 18:10:15.49ID:Si+FDZzQ
>>671
Javaはアノテーションで既に死んでる
2019/09/25(水) 18:14:03.63ID:r1UeD8Lu
>>664
>シングルスレッドなのが英断
それは俺も思う

この前提を壊すことなくマルチスレッドを実現するWeb Workerの概念は
優れた並列機能を実現するgoroutineでのベストプラクティスと同じ

https://blog.golang.org/share-memory-by-communicating
> Do not communicate by sharing memory; instead, share memory by communicating.
メモリの共有で通信するな、通信してメモリを共有しろ

並列で重要なのはむしろスレッドの分離性、
各々がシングルとして動けることだった
2019/09/25(水) 18:37:17.12ID:GHCxkzpX
お手軽言語としては、シングルスレッド実行モデルの方が初心者も間違えにくいからいいけど、
パフォーマンス求めるとコンテキストの切り替えのコストが大きいわな。
2019/09/25(水) 18:41:39.88ID:GHCxkzpX
dartもjavascriptにトランスパイルされたりするからjavascriptをおもいっきり引きずる環境でjavascriptと同じシングルスレッド実行モデルで、isolateって言うが、isolateの切り替えのオーバーヘッドが結構あるらしい
https://medium.com/flutter-jp/isolate-a3f6eab488b5
2019/09/25(水) 18:44:49.45ID:ezuOeX2e
>>675
??
2019/09/25(水) 18:45:07.98ID:qzBXi7SA
色んなドメインが共存する現状が既にカオスなのに
マルチスレッド下でルール無用の資源の奪り合いしたらすごいことになりそう
2019/09/25(水) 18:56:28.15ID:m3QIUPNA
>>670
corefxの既存API(string.IsNullOrEmptyとか)にも使用頻度の高いものから順次対応されてるよ
682デフォルトの名無しさん
垢版 |
2019/09/25(水) 23:08:10.72ID:VDeg47EA
>>680
だから直列化トークンとクリティカルセクションをうまく使いなさいよ
2019/09/25(水) 23:32:59.45ID:6VdVDZCV
JavaのアノテーションもC#から来てるよな
2019/09/25(水) 23:34:49.80ID:rQhNlpv9
これマジ?
2019/09/25(水) 23:40:50.67ID:ulBaFWWN
一時期マルチコアの性能を活かすためにはスレッドが必要とか言われてたけど
ディープラーニングみたいな本当に並列処理しなきゃ話にならないものはGPGPUへ移ったから
もうスレッドは用済み
2019/09/25(水) 23:47:35.85ID:rQhNlpv9
用済みは言い過ぎ
2019/09/26(木) 00:28:18.38ID:fvoXcpl0
レイトレーシングが流行り始めてるからCPUの並列処理はこれから重要度が増えていくさ
2019/09/26(木) 00:28:51.73ID:i7X9kRk3
並列化が重要になる一方でコンテキストスイッチのオーバーヘッドが問題になって
そのトレードオフとして生まれたのが軽量スレッドだろ
async/await もそうだし golang もそう
関数型言語がもてはやされるのも相性が良いから
2019/09/26(木) 01:04:15.23ID:jPZ/Z+b5
>>582 Google が既に Java を捨てただろ。
2019/09/26(木) 01:13:11.48ID:oBtnEd9S
アルゴリズムは色々抽象化されたのに
データ構造がただの文字列とかって絶対おかしいって言い出したのがOOP
だが、ただの文字列は並列化と相性が良かった

言語を関数型にする必要はないよ
データ構造だけ変えろよ
2019/09/26(木) 01:38:55.69ID:mWXTCTsK
つっこみどころ満載で逆に萎えたわ
2019/09/26(木) 01:57:27.49ID:mkqauH83
>>690
なるほど…
693デフォルトの名無しさん
垢版 |
2019/09/26(木) 02:19:21.18ID:KVLNMFAt
>>690
これコピペ?w
めっちゃワロタwww
2019/09/26(木) 04:05:20.30ID:OiPv4SK3
Rust製の新作

https://blog.cloudflare.com/warp-technical-challenges/
2019/09/26(木) 05:43:43.22ID:oCDXWUoM
TypeScriptってClassを使わないとJavaScriptが書けない人向けの介護ツールって認識でいいよね?
2019/09/26(木) 06:14:02.61ID:HRGKiBoF
async/awaitぐらい無い言語でもライブラリレベルで実装してみせよ
ラムダ式が使える言語なら比較的カソタソに似たような書き方にできうる
2019/09/26(木) 06:15:44.02ID:HRGKiBoF
>>689
KotlinはまだJavaくね?
いや知らんけど
2019/09/26(木) 07:16:46.29ID:r7WNlwUq
>>695
それと型がないと頭が働かない知恵遅れ向け
2019/09/26(木) 07:41:21.66ID:fq/2dpZU
むしろTypeScriptにclassは要らん
2019/09/26(木) 08:41:50.36ID:gufv9Ne7
JSもGoもclass不要の言語だったのに
最近はclassの悪口を言う需要はRustに全部持って行かれた
他は「悪口はよくない」って小学生みたいな感情を持つだけの存在
2019/09/26(木) 08:49:51.01ID:r7WNlwUq
>>700
JSの一番面白いところはclass使えるのに誰も使わないところでもあるんだけどな
702デフォルトの名無しさん
垢版 |
2019/09/26(木) 09:25:13.63ID:sTql70fP
Reactのhooks APIもクラスベース開発が嫌で嫌でしょうがなく開発整備されたものだからな。
だいたい状態をひとつにまとめてそのほかでは持たないように徹底することの障害になる。
2019/09/26(木) 09:56:11.12ID:OrvmZwJd
ストールマンってFSFから退任してたんだな
2019/09/26(木) 10:13:51.92ID:OrvmZwJd
JSにclass導入するならするで、メソッド名の参照は
関数にbind(this)したものをメモ化して返すgetter(*1)にするか
もしくは obj::method のような構文糖衣(*2)を入れるべきだった

https://ja.reactjs.org/docs/faq-functions.html
> this.handleClick = this.handleClick.bind(this);
中途半端だからこんなゴミみたいな行が必要になる

onClick={this.handleClick} (*1)
onClick={this::handleClick} (*2)
2019/09/26(木) 12:53:24.65ID:Xxp1nodx
Rubyなら、あらゆる言語の欠点が解消される。

何より、実装が、早い。
スタートアップとか、には必須。

新言語はRubyに決まり!!!!!!!!!
2019/09/26(木) 13:27:51.81ID:SkeMGITL
>>705
シェア1.2%でランク外のマイナー言語がどうした?
https://www.tiobe.com/tiobe-index/
2019/09/26(木) 13:34:16.90ID:wfDbfXjY
Rubyが新言語とか笑わせるがTIOBEを持ってくるのもどうかしている
2019/09/26(木) 13:35:59.57ID:FrFz8qqQ
TypeScript は関数のシグネチャの明示と最低限静的チェックを通る程度に安全なコードを *全員に* 強制するためのツール

そもそも多人数ないし長期で開発するならどうせ関数のシグネチャはDOCコメント書くことになるんだし
どうせ型書くんだから静的解析もしてしまった方が得
2019/09/26(木) 13:42:40.38ID:Hoypu138
kotlin以外どこで何する言語なのかわからない
一つ一つ幅利かせてる分野を教えてちょ
2019/09/26(木) 14:28:50.55ID:A4X4RSur
フロントで型が重要になるシーンってどんなときなの?
711デフォルトの名無しさん
垢版 |
2019/09/26(木) 14:39:07.79ID:SS02qcvm
俺はJuliaしか知らんからよくわからん。
2019/09/26(木) 14:52:00.95ID:+/oUQhss
>>710
自己を満足させるシーンで必要
2019/09/26(木) 15:00:19.91ID:SkeMGITL
>>710
意識高い系のコードレビューをパスするために必要
2019/09/26(木) 15:04:40.92ID:fOcphuaB
>>710
型パズルにハマってる人がいるらしいよ
そんなんしてる暇があるなら機能開発しろよって思うが
715デフォルトの名無しさん
垢版 |
2019/09/26(木) 15:55:17.82ID:xcg9dsbo
>>706
www
2019/09/26(木) 17:49:41.64ID:nQRohaii
TypeScriptって使ったら便利すぎて使わないという選択が無くなるようなものなのに、まだ抵抗してる人いるんだね
今なんかすぐissueにTypeScript化しようぜって来るだろうに
2019/09/26(木) 18:07:28.88ID:FrFz8qqQ
このTypeScriptアンチ、マジで自分一人で開発することしか考えてないし仕事してねえんだろうな
2019/09/26(木) 18:08:45.53ID:9M9Vrdm6
確かにフロントエンドというか、表示周りは型を厳密にするのは面倒なだけに思うわ
C#とかでもViewBag使うし
2019/09/26(木) 18:44:02.99ID:+/oUQhss
coffeescriptって使ったら便利すぎて使わないという選択が無くなるようなものなのに、まだ抵抗してる人いるんだね
720デフォルトの名無しさん
垢版 |
2019/09/26(木) 19:12:19.05ID:EH9TPs/V
便利過ぎてチャンポンコード書きすぎて
元の言語に戻れなくなるor戻った時もチャンポンコード書いて効率落ちる
2019/09/26(木) 19:24:08.49ID:UiaR45d9?2BP(1000)

Juliaって聞くとAV女優しか思いつかん
722デフォルトの名無しさん
垢版 |
2019/09/26(木) 19:28:08.24ID:ZdPjk46K
みんな想像してる成果物が違うよね
クライアントサイドで型が面倒って何作ってたらそう思うんだろうか
関数にnullを渡してないから目視で確認してんのか
2019/09/26(木) 19:30:10.95ID:w/gPDwPD
まるでJavaScriptに型がないと思ってそうなヤツがいるな
明示してるか暗黙にやるかの違いだけでJSにも型はあるんだが
724デフォルトの名無しさん
垢版 |
2019/09/26(木) 19:32:11.37ID:EH9TPs/V
bool型は無いよ
2019/09/26(木) 20:13:57.31ID:ROVRSUwk
TypeScriptは実質SIerへの敗北宣言だと思う
SIerを馬鹿にして動的型付けでスピーディーに作って来たけど負債が酷すぎて結局webも保守的になってきてる
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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