次世代言語27 Nim Zig Pony Carbon Gleam

2022/08/05(金) 09:40:50.22ID:/hLfNpmA0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512

スレタイ(順番はRedMonk準拠)以外の言語もok

前スレ

次世代言語26 TypeScript Swift Go Kotlin Nim
https://mevius.5ch.net/test/read.cgi/tech/1655771266/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2022/08/05(金) 12:18:02.18ID:X0qTPiXKM
3デフォルトの名無しさん (ワッチョイ ba7c-t4GX)
垢版 |
2022/08/05(金) 20:57:32.27ID:IaHwMjJC0
本スレ
2022/08/05(金) 23:22:06.64ID:mIb2aBTZ0
ただし Rust言語ネタは禁止します
5デフォルトの名無しさん (アウアウウー Sa55-9Xv3)
垢版 |
2022/08/06(土) 15:25:50.11ID:eSBCWCwIa
>>1
O2
2022/08/07(日) 04:00:41.01ID:40aW3DD80
久々にHaxeのプロジェクトページを訪ねてみたらサポートターゲットにHashLinkなるVMが追加されていた
Nekoの後継?
2022/08/07(日) 13:37:10.92ID:Dd35QVWO0
過疎やん
8デフォルトの名無しさん (スッップ Sd33-agxP)
垢版 |
2022/08/07(日) 15:10:39.88ID:G9vPq40Zd
>>6
haxeまだあったのか。
昔ちょろっと見てけっこう良さそうな印象持ったけど流行らなかったな。
nimもトランスレーター系だし、同じ将来にはならないで欲しい。
結局はバックにGAFAMがつくかどうかによるのかねぇ。
それでいうとpythonは運・タイミングが良かったのか。
2022/08/07(日) 15:41:37.32ID:SSq6cfdBp
nimとかD言語みたいなちょっと良くした程度の言語だと流行らないんだろうなあ
RubyでいうRailsみたいな超人気フレームワークが登場すると話が変わってくるんだろうけも
2022/08/08(月) 01:27:47.98ID:mO/LiGB20
>>9
NimはもっとシームレスにPythonソースを使えればいいんだけど。
nimpyとかnimporterとかって公式になったっけ?
2022/08/08(月) 15:07:53.58ID:XhYLtnJ40
>>10
nimpyやnimporterが公式になるってどういうこと?
標準ライブラリになることを期待してるのかもしれないが、標準ライブラリになったとしても使いやすくなるとは限らないよ。
C/C++のライブラリだったらc2nimやfutharkというツールがC/C++のコードを読んで自動的にバインディングを生成してくれるらしい。
futharkはlibclangを使ってコードをパースするらしい。
2022/08/11(木) 04:05:29.11ID:Bpvt7Gu80
CarbonってC++のABI問題の拗れが引き金となって生まれたものなんだろうけど
わざわざ文法から作り直すことないのにな
実用的なレベルになるまで相当かかりそう
2022/08/11(木) 08:03:21.25ID:6LydNS9Hd
GoogleでC++の糞の山のメンテばっかりさせられて嫌気が差したんだろ
所詮数あるホビー言語の一つに過ぎないんだから好きにさせてやれよ
2022/08/12(金) 13:09:15.20ID:0xlDyyucM
>>11
公式になって手順・ドキュメントが整備されるというということだな。
そうすればもっとpythonコードが流用しやすくなるので、性能で困っているpythonユーザーが手を出しやすくなるかと。
15デフォルトの名無しさん (ワッチョイ 937c-agxP)
垢版 |
2022/08/12(金) 15:40:56.79ID:bDQmrk+50
nimのアンダースコアを無視する仕様は好きじゃない。
2022/08/12(金) 18:28:24.07ID:D0nb2yzy0
>>14
公式になったからといってドキュメントが整備されるとも限らないし
公式にならなくてもやる気があればドキュメントを整備するPRを送ればいいのでは。

>>15
アンダースコアを無視するおかげで、ライブラリがfoo_barみたいな名前を使っていてもライブラリを使う側のコードがfooBarという名前で呼び出せるので命名規則に一貫性をもたらすことができる。
しかしCのライブラリがfoo_barとfooBarという異なる二つの関数を持っているとNimから使うときに違う名前を使って参照するようにbindingを書かなくてはいけなくなってしまう。
そいいうケースはあまりないけどね。
17デフォルトの名無しさん (ワッチョイ 468c-Waa7)
垢版 |
2022/08/13(土) 22:42:00.05ID:6wAoLN5t0
Rustを見てて疑問に思うところがあるんだけど、
「コールスタック専用変数」「ヒープ用変数」といった
使い分けをする言語はあるのかしらん?
現状の言語で近いのは
C:変数はコールスタック専用。ヒープのインスタンスはポインタで管理
Rust:変数はコールスタック専用。ヒープ用変数はBox、Vec、Rcとかで模倣
ぐらいか。
コールスタックにあるインスタンスはスコープに連動するRAIIとかの便利な特性があるから、
他の言語でもコールスタック専用変数があってもいいと思うんだけど。
例えばJavaにコールスタック用変数があればfinalizeメソッドももっと使いやすくなりそう。
コールスタック用変数専用クラスとかあってもいいし。
2022/08/13(土) 23:29:46.92ID:601ao6Evd
スタックとヒープの使い分けができるという意味ならGoとかC#とか
2022/08/14(日) 01:50:30.53ID:H+Dty+yM0
>>17
Nimでもスタックとヒープを使いわけられるよ。
refのついた型とクロージャの環境とstring, seqの中身はヒープに確保される。
それ以外のローカル変数はスタックに確保。
C言語のグローバル変数とstatic変数はstatic storageというスタックとは別の所に置かれるよ。

だいたいのシステムプログラミング言語ならヒープとスタックを使い分けられるんじゃないの?
2022/08/14(日) 01:50:48.23ID:H+Dty+yM0
>>17
Nimでもスタックとヒープを使いわけられるよ。
refのついた型とクロージャの環境とstring, seqの中身はヒープに確保される。
それ以外のローカル変数はスタックに確保。
C言語のグローバル変数とstatic変数はstatic storageというスタックとは別の所に置かれるよ。

だいたいのシステムプログラミング言語ならヒープとスタックを使い分けられるんじゃないの?
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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