次世代言語21 Go Nim Rust Swift Kotlin TypeScript

■ このスレッドは過去ログ倉庫に格納されています
2020/04/19(日) 15:06:02.92ID:jAOW5aqE
スレタイ以外の言語もok

前スレ
次世代言語18 Go Rust Elixir Kotlin TypeScript (実質20)
https://mevius.5ch.net/test/read.cgi/tech/1569866283/
2021/02/27(土) 12:31:20.83ID:8JWxjtWT
Typescript好きてすけど、
次世代って言われると??な気がします。
2021/02/27(土) 12:40:22.21ID:yTOj7AY/
jsのsyntax sugarである以外に何か新しさがあるかって点だろうか?
2021/02/27(土) 12:59:15.33ID:AQslqvPC
次世代環境は画面が狭い上に動画重視だから
GUIで新しさを演出するやり方自体が古くなった
2021/02/27(土) 13:47:19.13ID:vZ1ioaSe
え?w
518デフォルトの名無しさん
垢版 |
2021/02/27(土) 23:00:12.25ID:A2gkfgFy
TypeScriptを外して、Juliaを入れるべきだろう。
Kotlinは微妙だけど基本JVMで動作するけど、トランスコンパルではないからJavaの制限(例えば演算子の
オーバーロード)を超えてるわけで、過疎らない程度なら良いんじゃない?Scala-Nativeの方が次世代っぽい
けども流行らないだろうな。Zigでも良いけど誰も使ってなさそう、nimmerだけど
2021/02/27(土) 23:09:12.64ID:AQslqvPC
>>513
好きでやってるわけじゃないって気軽に言うけどかなりのネガティブ思考だよな
好きなことをやればいいのに
ブラウザ上でも動画やPDFを使う自由はあるし
2021/02/27(土) 23:11:49.58ID:vZ1ioaSe
ブラウザにそんなにたくさんの言語エンジンはコスト面からも載せられないだろ
2021/02/27(土) 23:15:35.39ID:NjMWacY/
Pythonを置き換えてほしいと思ってるのもしかして俺だけ?
2021/02/27(土) 23:30:27.95ID:Hg2wHc/X
Juliaは登場時期こそ新しいけど次世代言語というような言語自体の新しさはあまり感じないなぁ。
2021/02/28(日) 00:39:44.34ID:nPksHaq2
面接官「このままだとコミュ力採用だけど」
次世代言語「100の階乗とか計算できないやつを落とせばいいのでは」
524デフォルトの名無しさん
垢版 |
2021/02/28(日) 00:56:29.15ID:/UVkNIT2
@distributed (@parallel)とかmutable structとか他の言語とはちょっと違う部分があるよね
手続き系言語のコンピューター工学言語の新しさじゃなく、ベクタードット演算とか、外部ライブラリに
依存するPython系の自動学習やRなんかにはかなり競合する。分散性を考えると大規模なAI系は、これで
決まりだと思う、明らかに大規模分散を意識してる
2021/02/28(日) 02:18:43.91ID:IW6BdE6e
トランスパイルが駄目ならNimもアウトじゃね?
Cのソース生成してからコンパイルでしょたしか
526デフォルトの名無しさん
垢版 |
2021/02/28(日) 03:50:04.87ID:aU7a7SwI
vlangと同じ立ち位置だよね
527デフォルトの名無しさん
垢版 |
2021/02/28(日) 06:31:33.42ID:/UVkNIT2
言葉が足りなかった、トランスパイルがダメというより、ベースとなる言語の機能や域を出られない。
つまり言語の特徴としてES5/6/7/8と(ブラウサ)に「強く」依存するのはTSがブラウザネイティブで
動かない限り目新しさはそれほど無い・登場しないって事。NimはCに依存してるわけちゃうでしょ
TSはJSに比べシンタックスシュガーは掛けられるし、JSの悪習を禁止する言語制約はつけられるけどさ

Vlangも入れた方が良いかもしれない、ほとんど個人開発のVlangが嫌いな人もいるみたいだけどね。
目新しさはほとんど無いけどGo+Rustみたいな文法は、Nimの見た目だけPythonみたいより好きかな
GC/RTLが搭載しえないのは利点では無いと思うけど
2021/02/28(日) 07:38:04.49ID:YWIO641N
言語学的に次世代って言いわれてるのはなんなのよ。
2021/02/28(日) 08:11:20.85ID:4OVJxDt4
>>519
良くも悪くも実用志向の言語群だからね
このスレの一定数の人は挑戦的な機能や実装があることを次世代言語と認識してるけど、様々な言語に実用面で機能が足りてなかったり普及に障害がある点を指摘する人は以前のスレでもいくらか見かけた覚えはある
私は前者の方が好みだが、あくまで実用の為に普及の容易さも込みでjsを置き換えようとすると、TSのようになるというのは自然だと思うな

逆にaltjsでもElmは十分次世代的な機能の導入と実用の為の割り切りをしていたり、PureScriptなんかは数学的抽象化一直線突っ走ってて高階多相なんかも導入してるし単にaltjsというだけで次世代要素がないというのは違うと思うんだよな
それにTSの型機能はjsの動的な型に合わせるためとはいえ漸進的型付け言語として挑戦的な試みが沢山あるし、今なお追加もされてるので十分次世代的な要素があると個人的には思うよ
2021/02/28(日) 10:55:21.69ID:nPksHaq2
>>528
言語と標準ライブラリの密結合を避けること(非標準ライブラリは問題無い)
ができないと言語学的にはスタートラインにも立てないね
531デフォルトの名無しさん
垢版 |
2021/02/28(日) 12:32:21.00ID:A4uk6Kzo
>>522
Julia は形を変えた Fortran だと思った
2021/02/28(日) 14:32:24.19ID:iucjRJ2q
数値計算速いの?
2021/02/28(日) 17:53:08.55ID:BWTKlu0s
Elmはいい言語だと思う
もうすぐ2冊目の日本語の本が出るよ
純粋な関数型言語なのに実用面重視なのが今までの流れと違うところ
普通この手の言語は汎用性とか型クラスとかにこだわってしまうのにあえて外してる
2021/02/28(日) 18:04:40.20ID:TzXN37YB
普及してない時点でまったく実用できない
2021/02/28(日) 20:27:24.36ID:nPksHaq2
狼少年のパターンなら知名度が上がるほど駄目になる
その場合は、普及活動するべきという俗説には従わない方が実用的に正解
2021/02/28(日) 21:57:01.28ID:MOb8c/K3
Vlangみたいに凄い事をやりたいというタイプではなくやらない事を選ぶタイプなので悪い方向に転がっても狼少年にはならんと思う
2021/03/02(火) 22:28:04.28ID:xkSaUBtO
どうせなら借用も認めないとかとことん尖らせたらいいと思う。
2021/03/02(火) 23:12:40.45ID:3dhTBaxS
>>537
erlangとかアクターモデルの言語で良いのでは?
2021/03/03(水) 08:42:43.27ID:mCX6K/+k
ここのところDartが割といい言語じゃんってなってる。
クロスコンパイルできるようになったらGo並に使える気がするんだがなぁ。
Goでジェネリクスが使えるようになるのが先かな。
2021/03/03(水) 09:50:07.06ID:d6RCeNqz
PowerFx大勝利!
2021/03/03(水) 11:38:23.70ID:lsQqWTvf
借用を認めないみたいな意味の用語は「シェアードナッシング」でしょ
共有していないところでは副作用を認めるという発想はアクターモデルではあまり強調されなかった
2021/03/03(水) 12:46:08.86ID:Pm16geQl
DartのNULL安全はまだ来ないのか
2021/03/03(水) 18:31:04.85ID:9ncygIV6
null安全なんて言うほど安全じゃない
2021/03/03(水) 18:32:42.97ID:+TqkcVy7
Go lang 2.0はよ
2021/03/03(水) 19:00:19.95ID:vf+ENLg5
>>543
型無しのnullが危険すぎるだけだな。
2021/03/03(水) 20:39:48.06ID:9dLYGr/x
でも型があるとgoのような悪夢に
2021/03/04(木) 19:00:42.56ID:FwINCIAX
DartのNULL安全が来たっぽい(Dart 2.12)
2021/03/05(金) 00:10:29.44ID:ap8GROD4
記念してNULL安全日としようか
549デフォルトの名無しさん
垢版 |
2021/03/05(金) 11:27:53.31ID:6qFLuZG/
undefined「フフフ、nullの奴がやられおったか」
NaN「nullは我らの四天王のなかで最弱、面汚しよ」
-Inf「・・・」

フラッター2って誰が使ってんの?真顔でNULL安全でない言語はレガシーだと言われると
プッと笑い出しそうになる…
2021/03/05(金) 11:40:40.39ID:7wZZkSrv
ぬるぽ
2021/03/05(金) 12:49:21.47ID:CPRmMLwG
int型の値にもnullがあったら嫌だろ
それと64bitに移行してもまだ32bitのint型を使ってたらレガシーだろ
ライブラリの変更だけでできそうなことが、言語ごと作り直さないとできない設計がレガシーなんだ
2021/03/05(金) 13:34:46.07ID:gVgFrLj8
いうほどnullで困ってない。
553デフォルトの名無しさん
垢版 |
2021/03/05(金) 15:42:14.78ID:VbRCEJsj
困るってよりループの中でチェックが無駄に繰り返されるのを防ぐのがオモヨ
で、ヌル限定で排除するより総てのプリミティブを範囲型にするほうがいいと思うんだけどね
整数でゼロだけ除けるんも範囲の内だし
2021/03/05(金) 15:56:36.25ID:gVgFrLj8
心の底からどうでもいいと思う。くっだらないな。
2021/03/05(金) 16:56:49.67ID:37/sJ5bt
これが次世代について行けない奴の末路か
2021/03/05(金) 16:57:24.94ID:0LRxSrSM
まあDartのSound Null Safetyはネイティブコードにした時の実効速度アップ効果もあるし
2021/03/05(金) 17:35:05.91ID:ozzHXY/d
全てのバグをコンパイル通す前に消し去りたい…というのは言いすぎだが
やりたいことはそういうことなんよね
決して自分の足を撃ち抜かないスーパーハカー様には無用の長物に見えることだろう
2021/03/05(金) 18:26:31.58ID:gVgFrLj8
>>555
そんなしょっぱい機能で次世代ドヤとかやられてもw
2021/03/05(金) 18:27:21.92ID:gVgFrLj8
シンタックスによるバグなんてど素人だけだわ。
バグが発生するのはそんなところにはない。
2021/03/05(金) 18:48:33.41ID:EPnjm+FH
そういったド素人のやるような些末なミスチェックがforgettableになるというのもメリットなんだけどな
規模がでかけりゃ可能性は少なからず上がるし、何より人間の頭の良さはそういう機能をどれだけ上手く使えるかにもあると思わない?

ただ確かにその機能があるというだけで次世代だと錦の御旗を振るのは少し難しくて、それをどれだけ使用者が気にせずいい感じに導入できたかも重要と思う
2021/03/05(金) 21:12:55.25ID:5RYmOCrl
そもそも>>545の型無しのnullと>>551がなんのこと言ってんのかわからん。

>>545は動的型付けのnullのこと?

>>551は数値型のintがポインタ型のnullになることはないし、
option<int>ならpresentかabsentを表現するのにつかう。
それにnull safeな言語ってnon-zeroのときに最適化するだけでnoneの参照は普通のnullポインタ。
言語的には仕様かライブラリでnullableのハンドリングを工夫してるだけだから
既存の言語にも追加できる。javaも今やってる。
// まあ、アレは事あるごとに互換性維持したまま魔改造する常軌を逸した言語だが。

>>560
>些末なミスチェックがforgettable
対処としては漸進的型付けで早期エラーにするくらいかな。
最適化で実行前にエラーにできる場合もある。

TypeScriptが次世代かと言われると確かに違和感ある。js2/es4の方がまだ進んでる。
2021/03/06(土) 01:13:30.58ID:Tfz5lFd6
お前らnull safeの機能があって助かった〜なんてことが本当にあると思ってんの?
おめでてーな。結局考慮してない奴はそんな機能あってもつまづくよ。
それももっと酷い形でな。
2021/03/06(土) 01:32:39.74ID:DBO1vWCm
null safeな言語は助かった〜みたいなことになる前に
コンパイラやIDEに文句言われるから
確かに助かった〜なんてことにはならないな
2021/03/06(土) 01:51:36.56ID:4yCs4axt
しぬる
565デフォルトの名無しさん
垢版 |
2021/03/06(土) 02:06:07.77ID:Y4U2Cfcl
コーディング安全はほぼ関係ないつうのに
そこにこだわって文句垂れるクソw
2021/03/06(土) 03:18:37.29ID:jOZnXzPo
V言語にまだ期待している奴がいるってマジ?ガワだけGoっぽいCだぞあれは
clayやcycloneやbitCやらが色々試行錯誤して、何とか生き残ったrustがようやくそれなりの妥当性を見出した「GC無しで安全なメモリ管理」を
何の論文も書かずにWIPで放置しているのに「Rustのように安全」とかフカし続けている奴らだぞ

Cに毛が生えた程度の安全性を持った、Rustより謎な制約を課してきて、フカシた結果ASTも生成できずに最適化が使えない言語ができるぞ
2021/03/06(土) 06:46:27.22ID:lBapLpDG
だからVは詐欺だって言ったのに…
2021/03/06(土) 07:46:02.04ID:E5Tw2kdh
ガワがGoっぽいCならC2とZigがもっと素直に
2021/03/06(土) 08:01:57.54ID:Tfz5lFd6
rustの安全性もたかが知れてるのでまあそんなとこだろ。
実際セキュリティー分野でrustを使う機運はほとんどない。
2021/03/06(土) 08:05:43.60ID:E5Tw2kdh
セキュリティ分野でRustほど低レイヤーな言語を使う必要がある場面がそもそもあるのか?
571デフォルトの名無しさん
垢版 |
2021/03/06(土) 08:54:36.63ID:YD4frn+e
1Passwordがバリバリ使ってますが
572デフォルトの名無しさん
垢版 |
2021/03/06(土) 13:25:12.62ID:bGzUu7RI
>>559
正論
+1
2021/03/06(土) 14:02:22.83ID:oEmAT3IB
型を命名規則に組み込んだ言語とかってないのかな
non primitive だと、さすがに明示的に書く必要あると思うけど、
primitive の宣言時にいちいち型書くのだるい
でも静的型付けは欲しい
2021/03/06(土) 14:07:01.49ID:tq2JBvn3
fortranの時にそれは捨てられた
2021/03/06(土) 14:13:59.72ID:oEmAT3IB
>>574
Fortran ってそんな宣言できたのか
何が駄目だったの?
2021/03/06(土) 14:42:16.25ID:XRYgvkNk
>>575
IJKが整数型とかあったな・・・(遠い目)
2021/03/06(土) 16:33:52.93ID:kirbXePv
null 安全だとコンパイル時にエラーになってくれたりするので良いのではないか?
危険な部分は自分で敢て null を使うように書いた部分だけ。それも null チェックした後でしか
本来の型として扱えないようになってればコンパイル時にエラーになって結構安全。
2021/03/06(土) 16:34:37.52ID:kirbXePv
あ、ごめん。リロードせずに書いてしまった。間に沢山の書き込みがorz
2021/03/06(土) 16:43:07.04ID:BWZLcpxD
>>573
初期値入れればたいてい推論で済むんじゃね?
2021/03/06(土) 19:01:39.91ID:oEmAT3IB
>>579
たし蟹
2021/03/06(土) 21:08:31.03ID:Tfz5lFd6
>>577
馬鹿はとりあえず「汎用」にどこでも使えるように書くもんなんだよ。
そういう馬鹿に馬鹿と言う労力を抑えるために無駄なシンタックス入れて、
また馬鹿がそれに混乱して酷い状況になるっていうのを嫌というほど見てきたわけだが。
582デフォルトの名無しさん
垢版 |
2021/03/06(土) 21:21:03.25ID:YD4frn+e
いつもの人か
2021/03/07(日) 01:28:00.90ID:j7St4ggd
セキュリティー分野に明るいみたいだけど、最近のトレンド知ってたらそんな事いわないと思うんだけどな。
2020年度だけでUse After Freeがらみいくつあったんよ。
馬鹿に作れるものじゃなくなってるよ。
2021/03/07(日) 14:06:58.16ID:Shd6OUrG
XSS絡みか、ブラウザのバグじゃん。
お前らには関係ないわ。
2021/03/07(日) 14:46:13.47ID:w/ds1TIt
Rustが何でどう使われてるかわかったら、ブラウザのバグをどう解決したかわかるんじゃねえの?
586デフォルトの名無しさん
垢版 |
2021/03/07(日) 14:48:03.98ID:Vfc9MKsb
>>576
一々めんどくさいから型宣言せずに使えるって話だろ
IJKを整数型以外にも出来たんじゃなかったかな
587デフォルトの名無しさん
垢版 |
2021/03/07(日) 14:54:59.61ID:4VZYUHqt
機械を意識した具体的なのと表現力重視の抽象的なのの2つでええやろ

@Rust:GCレスながら比較的安全に低レイヤーをさわれる
AIdris2:依存型(型がファーストクラス)ありの線形型(Rustのアフィンの強いやつ)ありのHaskell
2021/03/07(日) 15:25:04.07ID:7gy+NlG3
>>586
I,J,Kで始まる名前の変数は宣言せずに使うと整数型
宣言すれば他の型にもできるということで
暗黙の型変換があるので宣言してない変数Iに浮動小数点数を代入した場合
Iは整数型になり小数点以下は切り捨てられる
使うときも暗黙の型変換が起こるから切り捨てが起こったことに気づきにくい
ということだったような
2021/03/07(日) 23:58:15.04ID:TkByhUzl
>>566
色々試行錯誤した中で一番最悪の結論がrustに思えるがな。
2021/03/08(月) 00:13:09.24ID:YibNXnJO
結局いうほど安全性が求められてるのか?としか思わん。
本当に安全性を求めるならコンパイラに全てを押し付けることが有効かどうか真剣に考えた方が良いのだが、
どうもそういう方向ではないのだな。
結局何かに責任を押し付けたいだけでそれが一番わかりやすというところでコンパイラが
ターゲットにされているだけという茶番なんだわ。
591デフォルトの名無しさん
垢版 |
2021/03/08(月) 00:57:02.44ID:++yKnef9
昨今のトレンドは後工程で苦労するよりコンパイル時に型チェックで苦労するほうがマシでしょというのがひとつ

あと線形型なんかは採用したらパフォーマンス向上した的な話もあるね
https://arxiv.org/abs/1710.09756
592デフォルトの名無しさん
垢版 |
2021/03/08(月) 08:27:49.24ID:cEivlnWp
>>589
let mut, &mut, ::, unwrap, unnecessary trailing semicolon, &str, @val, ast!, dbg!, match
String, Str, CString, Cstr, OsString, Ostrで6種類の文字列型・5種類オブジェクトタイプ
String::from(), to_string(), to_owned(), into(),「.」でチェーンメソッドはするけど
ネームスペースパスは「::」コメントの書き方は6種類、複雑なmatchと暗黙借用のmoving

貶し言葉:イライラする、うるさい小姑、窓のヘリを触ってココ拭いてない言うてくる、全責任はプログラマ
褒め言葉:コンパイラが最高の師匠であり、全てを体得するまでに5年、騎士の剣のような型通りの綺麗な剣技
2021/03/08(月) 08:39:02.15ID:PAkrxJnU
うーん、無能だからでは?
594デフォルトの名無しさん
垢版 |
2021/03/08(月) 23:08:18.24ID:XP5LJntG
>>580
開成中学生が作ったBlawnとかそんな感じ、型宣言ゼロで静的型付け。関数などがジェネリックなので
コンパイル時にチェッカーが走る。惜しいのが、たぶん頭は良いのだけど言語作成者はメタボロクソに
言われても開発継続する胆力がないとどんなに将来性があっても使ってくれない…
595デフォルトの名無しさん
垢版 |
2021/03/08(月) 23:49:34.34ID:XP5LJntG
>>566
論文がないのはその通りだけど、そういうレベルじゃないよ。Vはコンパイラーは、コンパイル中に必要な
解放呼び出しを自動的に挿入する。Cで言うfree/deallocateが勝手に入る。参照カウントをつかってると
言ってるけど、変更可能な可変長文字列バッファ、やリスト・マップなんかが無ければスコープを外れると
解放される変数と同じでバッファのmallocはコンパイラがfreeするコードを挿入する。(これを入れない
コンパイルオプションがある)循環参照は終了時に消すだけ、それだけの事、Lobsterとか言ってるけどさ
"Memory Management in Lobster"ね。mattnとか初期の汚いVコードというかCのコードを見てGoの
人は入れようと思わないだろうけど、コントリビュータ自身が過大広告言うてるから人を減らしてる
596デフォルトの名無しさん
垢版 |
2021/03/08(月) 23:50:13.81ID:XP5LJntG
>>593
消えろよ、クズ
2021/03/09(火) 08:33:23.74ID:9uGzSsM0
>>595
自動で挿入するのはいいんだけど、難しいのはそれをいつどこで何を解放するかだろ。
スコープを外れたら解放するだけでいいならRAIIと変わらんが。
598デフォルトの名無しさん
垢版 |
2021/03/09(火) 10:48:51.29ID:TUAITkUp
raiiまで効率化出来るなら凄いことで
トランスパイラが仕込んだfree()をコンパイラさんが最適化してくれるなんてあり得ないだろうし
ショートループの中でヒープをガッチャガチャ確保解放するコードとか頻出だろ
599デフォルトの名無しさん
垢版 |
2021/03/09(火) 14:25:02.31ID:jjaB3qUV
>>597
BlawnのようなRAIIとは違い、Vの方はちょっと上の説明が間違ってるというか、分かりにくい言い回しを
してるが参照カウントしてるようだ。それをGCと呼ばないのはその通りでしょう
手続言語のコンピューター工学を持つ学位で証明されている理論なのかは知らんけど、そんなの無くても
RubyとかPHPとか動いてるわけで、必死で否定する必要もないでしょうよ。いまだ0.2?ぐらいなので
ワイも使わないけどさ
600デフォルトの名無しさん
垢版 |
2021/03/09(火) 14:32:59.11ID:jjaB3qUV
>>598
「ショートループの中でヒープをガッチャガチャ確保解放するコードとか頻出だろ 」
それをやってるのがRustのDropトレイトでしょう。トランスパイラが仕込んだfree()を最適化するなんて
どんな言語でもあり得ないと思いますよ。実行グラフを辿って使われなくなるスコープでfreeするだけだろう
gccのLTO(リンク時最適化)ならまだしもfreeの最適化なんてほとんどの言語はしないと思う
601デフォルトの名無しさん
垢版 |
2021/03/09(火) 14:37:29.46ID:jjaB3qUV
GCのある言語でSTW(Stop the World)するような言語だと、freeの最適化なんてしないで、断片化するから
コンパクション操作が必要になるわけで、それを言語仕様かと言えばそうでは無く、言語からは決められないし
起動時のオプションがあるくらい。もちろんRustはプログラミング次第だけども
2021/03/09(火) 15:55:19.39ID:4JaghKzr
変数定義があるんだから使い終わったらfreeだかデストラクトだか出来るようにすればいいのだ。
2021/03/09(火) 20:09:07.93ID:M6pVOKfv
Rustが未完成だった頃もこんな議論をしていたのか?
ウォーターフォールのように先に議論をして後で実装したのか?
2021/03/09(火) 20:27:41.71ID:gKCoJnTT
Rustの場合は研究レベルで線形型アフィン型がまず実現されてて、所有権もC++の時点で既にあったし、それらがデフォルトになる実用向け言語としてデザインされていったものだから解決の方針も出されてないのとは訳が違うんよ

GCだとZGCが最先端になるのかな
Goで培われたmulti-coloringなmark&sweepとbitmap、対抗馬のshenandoahと同様の複数リージョンによる並列マーキングと並列コンパクションの全部盛りだし
研究レベルの技術に詳しい人居たら教えて欲しい
2021/03/09(火) 21:30:54.08ID:9uGzSsM0
>>599
はーん、GCを使わないというからRustみたいなものを期待したけど
実のところは単なる参照カウント方式だったというわけか。
2021/03/09(火) 22:19:12.47ID:2CFdfqCA
>>599
単なる参照カウントとはいえ結局循環参照の解決にgc使う(PHP等)とかそれっぽい参照を検出するとか必要なのに少なくとも前者のオーバーヘッドは否定してるし、参照カウント特有のカウント増減のオーバーヘッドも否定してる
その上でinnovativeな解決策があるそうだからオーバーヘッドもそれらよりは少ないんだろうよ

参考元らしいLobsterに順ずるならライフタイム分析とコンパイル時所有権トレースによる参照カウント増減の最小化・局所化が期待されるらしい

一方で実際にはメモリリークがあり循環参照が実行終了時の開放に任されてる部分が少なからずあるからinnovativeってなんだよって話になるのは自然だろ
2021/03/09(火) 23:53:34.35ID:SwzIUFtj
>Rustの場合は研究レベルで線形型アフィン型がまず実現されてて、所有権もC++の時点で既にあったし
これと実装レベルじゃ話が全く違うがな。。これでまず研究があったとか思えるって相当おめでたいんじゃないかね
608デフォルトの名無しさん
垢版 |
2021/03/10(水) 10:36:37.47ID:JIwrPDXM
>>606
ライフタイム分析は確かに複雑な操作じゃ無ければ参照カウントのメント操作を省略できるでしょう。
それが「最小化・局所化が期待されるらしい」と上記の"Lobster"の言うように95%削減できるかは
プログラム次第だけどw
多くの言語が現在では型推論を備えてるわけだが、これが昔からある理論だとしても多くの人が使用が
できるようになったのはつい最近。型推論を現在で動作しないと否定する人は殆どいない(嫌う人はいる
かもしれない)途中では「ただし、これは執筆時点では実装されていません。」と言っているので、まあ
革新的ではまだないだろうね、単なる目標数値なだけで。

>>605
また多くの人が現実的な問題として否定してるのは参照カウントのオーバーヘッドなんかじゃ無くてGCによる
STWやコンパクションなんかでしょう?現実問題として参照カウントのオーバーヘッドなんて気にしてる言語は
殆どないよ。例えば、RustだってRc<T>やArcによる参照カウントをプログラマ・プログラム側でやってるだけ

>>607
それとRustもGraydon Hoareの個人プロジェクトでMozillaになっただけで研究が先にあったとは言い切れない
そりゃ有名人やコンピューター工学の権威とか参加してるだろうけども
609デフォルトの名無しさん
垢版 |
2021/03/10(水) 12:26:05.36ID:SA6nop04
最近の言語研究は、あわしろ氏の論文がベースになってるものが多い。
610デフォルトの名無しさん
垢版 |
2021/03/10(水) 13:00:36.02ID:5VzsYcNg
モダンな最新のC++っていくらするの?
2021/03/10(水) 14:00:30.87ID:hyPPhEFL
ソフトウェアのデバッグは比較的容易だから無料なんだな
文書の誤りや詭弁やデマを取り除くのだけ金がかかる
2021/03/10(水) 15:44:24.64ID:MgNVoYVm
推奨NGワード: あわしろ
613デフォルトの名無しさん
垢版 |
2021/03/10(水) 15:53:52.43ID:SA6nop04
あわしろ氏の論文抜きに次世代言語は語れないだろ。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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