次世代言語27 Nim Zig Pony Carbon Gleam (308レス)
上下前次1-新
1(1): (ワッチョイ c35f-St8y) 2022/08/05(金)09:40 ID:/hLfNpmA0(1)調 AAS
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
スレタイ(順番はRedMonk準拠)以外の言語もok
前スレ
次世代言語26 TypeScript Swift Go Kotlin Nim
2chスレ:tech VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2: (テテンテンテン MMee-Jv5Y) 2022/08/05(金)12:18 ID:X0qTPiXKM(1)調 AAS
乙
3: (ワッチョイ ba7c-t4GX) 2022/08/05(金)20:57 ID:IaHwMjJC0(1)調 AAS
本スレ
4: (ワッチョイ 9a4b-Xfpw) 2022/08/05(金)23:22 ID:mIb2aBTZ0(1)調 AAS
ただし Rust言語ネタは禁止します
5: (アウアウウー Sa55-9Xv3) 2022/08/06(土)15:25 ID:eSBCWCwIa(1)調 AAS
>>1
O2
6(1): (ワッチョイ 895f-UFof) 2022/08/07(日)04:00 ID:40aW3DD80(1)調 AAS
久々にHaxeのプロジェクトページを訪ねてみたらサポートターゲットにHashLinkなるVMが追加されていた
Nekoの後継?
7: (ワッチョイ 1907-Z5J/) 2022/08/07(日)13:37 ID:Dd35QVWO0(1)調 AAS
過疎やん
8: (スッップ Sd33-agxP) 2022/08/07(日)15:10 ID:G9vPq40Zd(1)調 AAS
>>6
haxeまだあったのか。
昔ちょろっと見てけっこう良さそうな印象持ったけど流行らなかったな。
nimもトランスレーター系だし、同じ将来にはならないで欲しい。
結局はバックにGAFAMがつくかどうかによるのかねぇ。
それでいうとpythonは運・タイミングが良かったのか。
9(1): (ササクッテロ Sp5d-RXyn) 2022/08/07(日)15:41 ID:SSq6cfdBp(1)調 AAS
nimとかD言語みたいなちょっと良くした程度の言語だと流行らないんだろうなあ
RubyでいうRailsみたいな超人気フレームワークが登場すると話が変わってくるんだろうけも
10(1): (ワッチョイ 1b8c-lJ3c) 2022/08/08(月)01:27 ID:mO/LiGB20(1)調 AAS
>>9
NimはもっとシームレスにPythonソースを使えればいいんだけど。
nimpyとかnimporterとかって公式になったっけ?
11(1): (ワッチョイ 132c-D0FT) 2022/08/08(月)15:07 ID:XhYLtnJ40(1)調 AAS
>>10
nimpyやnimporterが公式になるってどういうこと?
標準ライブラリになることを期待してるのかもしれないが、標準ライブラリになったとしても使いやすくなるとは限らないよ。
C/C++のライブラリだったらc2nimやfutharkというツールがC/C++のコードを読んで自動的にバインディングを生成してくれるらしい。
futharkはlibclangを使ってコードをパースするらしい。
12: (ワッチョイ 13a5-s6Hz) 2022/08/11(木)04:05 ID:Bpvt7Gu80(1)調 AAS
CarbonってC++のABI問題の拗れが引き金となって生まれたものなんだろうけど
わざわざ文法から作り直すことないのにな
実用的なレベルになるまで相当かかりそう
13: (スッップ Sd33-JIap) 2022/08/11(木)08:03 ID:6LydNS9Hd(1)調 AAS
GoogleでC++の糞の山のメンテばっかりさせられて嫌気が差したんだろ
所詮数あるホビー言語の一つに過ぎないんだから好きにさせてやれよ
14(1): (テテンテンテン MM8b-lJ3c) 2022/08/12(金)13:09 ID:0xlDyyucM(1)調 AAS
>>11
公式になって手順・ドキュメントが整備されるというということだな。
そうすればもっとpythonコードが流用しやすくなるので、性能で困っているpythonユーザーが手を出しやすくなるかと。
15(1): (ワッチョイ 937c-agxP) 2022/08/12(金)15:40 ID:bDQmrk+50(1)調 AAS
nimのアンダースコアを無視する仕様は好きじゃない。
16: (ワッチョイ 132c-D0FT) 2022/08/12(金)18:28 ID:D0nb2yzy0(1)調 AAS
>>14
公式になったからといってドキュメントが整備されるとも限らないし
公式にならなくてもやる気があればドキュメントを整備するPRを送ればいいのでは。
>>15
アンダースコアを無視するおかげで、ライブラリがfoo_barみたいな名前を使っていてもライブラリを使う側のコードがfooBarという名前で呼び出せるので命名規則に一貫性をもたらすことができる。
しかしCのライブラリがfoo_barとfooBarという異なる二つの関数を持っているとNimから使うときに違う名前を使って参照するようにbindingを書かなくてはいけなくなってしまう。
そいいうケースはあまりないけどね。
17(3): (ワッチョイ 468c-Waa7) 2022/08/13(土)22:42 ID:6wAoLN5t0(1)調 AAS
Rustを見てて疑問に思うところがあるんだけど、
「コールスタック専用変数」「ヒープ用変数」といった
使い分けをする言語はあるのかしらん?
現状の言語で近いのは
C:変数はコールスタック専用。ヒープのインスタンスはポインタで管理
Rust:変数はコールスタック専用。ヒープ用変数はBox、Vec、Rcとかで模倣
ぐらいか。
コールスタックにあるインスタンスはスコープに連動するRAIIとかの便利な特性があるから、
他の言語でもコールスタック専用変数があってもいいと思うんだけど。
例えばJavaにコールスタック用変数があればfinalizeメソッドももっと使いやすくなりそう。
コールスタック用変数専用クラスとかあってもいいし。
18(1): (スッップ Sd62-Rl2g) 2022/08/13(土)23:29 ID:601ao6Evd(1)調 AAS
スタックとヒープの使い分けができるという意味ならGoとかC#とか
19: (ワッチョイ 422c-GRcq) 2022/08/14(日)01:50 ID:H+Dty+yM0(1/6)調 AAS
>>17
Nimでもスタックとヒープを使いわけられるよ。
refのついた型とクロージャの環境とstring, seqの中身はヒープに確保される。
それ以外のローカル変数はスタックに確保。
C言語のグローバル変数とstatic変数はstatic storageというスタックとは別の所に置かれるよ。
だいたいのシステムプログラミング言語ならヒープとスタックを使い分けられるんじゃないの?
20(1): (ワッチョイ 422c-GRcq) 2022/08/14(日)01:50 ID:H+Dty+yM0(2/6)調 AAS
>>17
Nimでもスタックとヒープを使いわけられるよ。
refのついた型とクロージャの環境とstring, seqの中身はヒープに確保される。
それ以外のローカル変数はスタックに確保。
C言語のグローバル変数とstatic変数はstatic storageというスタックとは別の所に置かれるよ。
だいたいのシステムプログラミング言語ならヒープとスタックを使い分けられるんじゃないの?
21(1): (ワッチョイ 468c-8lLW) 2022/08/14(日)01:53 ID:XCwSZ99k0(1/2)調 AAS
>>18
変数のエスケープ解析して自動でヒープとスタックを使い分けるんじゃなくて、その変数をスコープからエスケープするような使い方をしたときにコンパイルエラーにするようなのを想定しています。
スタックフレーム制約付き変数ですな。
22(1): (ワッチョイ 468c-8lLW) 2022/08/14(日)02:03 ID:XCwSZ99k0(2/2)調 AAS
>>20
確か、Nimもスタックフレームにインスタンスを置くことを強制できなかったかと思うけど、どうだったっけ?
23: (ワッチョイ 422c-GRcq) 2022/08/14(日)02:10 ID:H+Dty+yM0(3/6)調 AAS
>>17
Nimでもスタックとヒープを使いわけられるよ。
refのついた型とクロージャの環境とstring, seqの中身はヒープに確保される。
それ以外のローカル変数はスタックに確保。
C言語のグローバル変数とstatic変数はstatic storageというスタックとは別の所に置かれるよ。
だいたいのシステムプログラミング言語ならヒープとスタックを使い分けられるんじゃないの?
24: (ワッチョイ 422c-GRcq) 2022/08/14(日)02:20 ID:H+Dty+yM0(4/6)調 AAS
間違えて連続投稿してすいませんでした。
>>22
type
SomeObj = object
x: int
proc foo =
var x = SomeObj(x: 10) #スタックに確保
var y = new(SomeObj) #ヒープに確保
foo()
25(1): (スプッッ Sd62-IWzR) 2022/08/14(日)09:07 ID:5kZWLu5Dd(1)調 AAS
ここの系列で出たことあるのか知らないし、ちょっと毛色違うんだけど設定ファイル言語でDhallってあるんだね
方向性は凄く好みなんだけど最新バージョンの規格をそのまま食えるのが現状Haskell(とPureScript?)だけらしくて君らそういうところやぞ……ってなってる
yamlやjsonに変換してから食わせることはできるらしいけどやっぱそのまま食えるのと手間と複雑さは無駄に嵩張るし、この手のDSLはどれだけ広い環境で使えるかが重要よねって
上下前次1-新書関写板覧索設栞歴
あと 283 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.021s