!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
探検
次世代言語27 Nim Zig Pony Carbon Gleam
1デフォルトの名無しさん (ワッチョイ c35f-St8y)
2022/08/05(金) 09:40:50.22ID:/hLfNpmA02デフォルトの名無しさん (テテンテンテン MMee-Jv5Y)
2022/08/05(金) 12:18:02.18ID:X0qTPiXKM 乙
3デフォルトの名無しさん (ワッチョイ ba7c-t4GX)
2022/08/05(金) 20:57:32.27ID:IaHwMjJC0 本スレ
4デフォルトの名無しさん (ワッチョイ 9a4b-Xfpw)
2022/08/05(金) 23:22:06.64ID:mIb2aBTZ0 ただし Rust言語ネタは禁止します
5デフォルトの名無しさん (アウアウウー Sa55-9Xv3)
2022/08/06(土) 15:25:50.11ID:eSBCWCwIa >>1
O2
O2
6デフォルトの名無しさん (ワッチョイ 895f-UFof)
2022/08/07(日) 04:00:41.01ID:40aW3DD80 久々にHaxeのプロジェクトページを訪ねてみたらサポートターゲットにHashLinkなるVMが追加されていた
Nekoの後継?
Nekoの後継?
7デフォルトの名無しさん (ワッチョイ 1907-Z5J/)
2022/08/07(日) 13:37:10.92ID:Dd35QVWO0 過疎やん
8デフォルトの名無しさん (スッップ Sd33-agxP)
2022/08/07(日) 15:10:39.88ID:G9vPq40Zd >>6
haxeまだあったのか。
昔ちょろっと見てけっこう良さそうな印象持ったけど流行らなかったな。
nimもトランスレーター系だし、同じ将来にはならないで欲しい。
結局はバックにGAFAMがつくかどうかによるのかねぇ。
それでいうとpythonは運・タイミングが良かったのか。
haxeまだあったのか。
昔ちょろっと見てけっこう良さそうな印象持ったけど流行らなかったな。
nimもトランスレーター系だし、同じ将来にはならないで欲しい。
結局はバックにGAFAMがつくかどうかによるのかねぇ。
それでいうとpythonは運・タイミングが良かったのか。
9デフォルトの名無しさん (ササクッテロ Sp5d-RXyn)
2022/08/07(日) 15:41:37.32ID:SSq6cfdBp nimとかD言語みたいなちょっと良くした程度の言語だと流行らないんだろうなあ
RubyでいうRailsみたいな超人気フレームワークが登場すると話が変わってくるんだろうけも
RubyでいうRailsみたいな超人気フレームワークが登場すると話が変わってくるんだろうけも
10デフォルトの名無しさん (ワッチョイ 1b8c-lJ3c)
2022/08/08(月) 01:27:47.98ID:mO/LiGB2011デフォルトの名無しさん (ワッチョイ 132c-D0FT)
2022/08/08(月) 15:07:53.58ID:XhYLtnJ40 >>10
nimpyやnimporterが公式になるってどういうこと?
標準ライブラリになることを期待してるのかもしれないが、標準ライブラリになったとしても使いやすくなるとは限らないよ。
C/C++のライブラリだったらc2nimやfutharkというツールがC/C++のコードを読んで自動的にバインディングを生成してくれるらしい。
futharkはlibclangを使ってコードをパースするらしい。
nimpyやnimporterが公式になるってどういうこと?
標準ライブラリになることを期待してるのかもしれないが、標準ライブラリになったとしても使いやすくなるとは限らないよ。
C/C++のライブラリだったらc2nimやfutharkというツールがC/C++のコードを読んで自動的にバインディングを生成してくれるらしい。
futharkはlibclangを使ってコードをパースするらしい。
12デフォルトの名無しさん (ワッチョイ 13a5-s6Hz)
2022/08/11(木) 04:05:29.11ID:Bpvt7Gu80 CarbonってC++のABI問題の拗れが引き金となって生まれたものなんだろうけど
わざわざ文法から作り直すことないのにな
実用的なレベルになるまで相当かかりそう
わざわざ文法から作り直すことないのにな
実用的なレベルになるまで相当かかりそう
13デフォルトの名無しさん (スッップ Sd33-JIap)
2022/08/11(木) 08:03:21.25ID:6LydNS9Hd GoogleでC++の糞の山のメンテばっかりさせられて嫌気が差したんだろ
所詮数あるホビー言語の一つに過ぎないんだから好きにさせてやれよ
所詮数あるホビー言語の一つに過ぎないんだから好きにさせてやれよ
14デフォルトの名無しさん (テテンテンテン MM8b-lJ3c)
2022/08/12(金) 13:09:15.20ID:0xlDyyucM15デフォルトの名無しさん (ワッチョイ 937c-agxP)
2022/08/12(金) 15:40:56.79ID:bDQmrk+50 nimのアンダースコアを無視する仕様は好きじゃない。
16デフォルトの名無しさん (ワッチョイ 132c-D0FT)
2022/08/12(金) 18:28:24.07ID:D0nb2yzy017デフォルトの名無しさん (ワッチョイ 468c-Waa7)
2022/08/13(土) 22:42:00.05ID:6wAoLN5t0 Rustを見てて疑問に思うところがあるんだけど、
「コールスタック専用変数」「ヒープ用変数」といった
使い分けをする言語はあるのかしらん?
現状の言語で近いのは
C:変数はコールスタック専用。ヒープのインスタンスはポインタで管理
Rust:変数はコールスタック専用。ヒープ用変数はBox、Vec、Rcとかで模倣
ぐらいか。
コールスタックにあるインスタンスはスコープに連動するRAIIとかの便利な特性があるから、
他の言語でもコールスタック専用変数があってもいいと思うんだけど。
例えばJavaにコールスタック用変数があればfinalizeメソッドももっと使いやすくなりそう。
コールスタック用変数専用クラスとかあってもいいし。
「コールスタック専用変数」「ヒープ用変数」といった
使い分けをする言語はあるのかしらん?
現状の言語で近いのは
C:変数はコールスタック専用。ヒープのインスタンスはポインタで管理
Rust:変数はコールスタック専用。ヒープ用変数はBox、Vec、Rcとかで模倣
ぐらいか。
コールスタックにあるインスタンスはスコープに連動するRAIIとかの便利な特性があるから、
他の言語でもコールスタック専用変数があってもいいと思うんだけど。
例えばJavaにコールスタック用変数があればfinalizeメソッドももっと使いやすくなりそう。
コールスタック用変数専用クラスとかあってもいいし。
18デフォルトの名無しさん (スッップ Sd62-Rl2g)
2022/08/13(土) 23:29:46.92ID:601ao6Evd スタックとヒープの使い分けができるという意味ならGoとかC#とか
19デフォルトの名無しさん (ワッチョイ 422c-GRcq)
2022/08/14(日) 01:50:30.53ID:H+Dty+yM0 >>17
Nimでもスタックとヒープを使いわけられるよ。
refのついた型とクロージャの環境とstring, seqの中身はヒープに確保される。
それ以外のローカル変数はスタックに確保。
C言語のグローバル変数とstatic変数はstatic storageというスタックとは別の所に置かれるよ。
だいたいのシステムプログラミング言語ならヒープとスタックを使い分けられるんじゃないの?
Nimでもスタックとヒープを使いわけられるよ。
refのついた型とクロージャの環境とstring, seqの中身はヒープに確保される。
それ以外のローカル変数はスタックに確保。
C言語のグローバル変数とstatic変数はstatic storageというスタックとは別の所に置かれるよ。
だいたいのシステムプログラミング言語ならヒープとスタックを使い分けられるんじゃないの?
20デフォルトの名無しさん (ワッチョイ 422c-GRcq)
2022/08/14(日) 01:50:48.23ID:H+Dty+yM0 >>17
Nimでもスタックとヒープを使いわけられるよ。
refのついた型とクロージャの環境とstring, seqの中身はヒープに確保される。
それ以外のローカル変数はスタックに確保。
C言語のグローバル変数とstatic変数はstatic storageというスタックとは別の所に置かれるよ。
だいたいのシステムプログラミング言語ならヒープとスタックを使い分けられるんじゃないの?
Nimでもスタックとヒープを使いわけられるよ。
refのついた型とクロージャの環境とstring, seqの中身はヒープに確保される。
それ以外のローカル変数はスタックに確保。
C言語のグローバル変数とstatic変数はstatic storageというスタックとは別の所に置かれるよ。
だいたいのシステムプログラミング言語ならヒープとスタックを使い分けられるんじゃないの?
21デフォルトの名無しさん (ワッチョイ 468c-8lLW)
2022/08/14(日) 01:53:56.93ID:XCwSZ99k0 >>18
変数のエスケープ解析して自動でヒープとスタックを使い分けるんじゃなくて、その変数をスコープからエスケープするような使い方をしたときにコンパイルエラーにするようなのを想定しています。
スタックフレーム制約付き変数ですな。
変数のエスケープ解析して自動でヒープとスタックを使い分けるんじゃなくて、その変数をスコープからエスケープするような使い方をしたときにコンパイルエラーにするようなのを想定しています。
スタックフレーム制約付き変数ですな。
22デフォルトの名無しさん (ワッチョイ 468c-8lLW)
2022/08/14(日) 02:03:29.71ID:XCwSZ99k0 >>20
確か、Nimもスタックフレームにインスタンスを置くことを強制できなかったかと思うけど、どうだったっけ?
確か、Nimもスタックフレームにインスタンスを置くことを強制できなかったかと思うけど、どうだったっけ?
23デフォルトの名無しさん (ワッチョイ 422c-GRcq)
2022/08/14(日) 02:10:20.77ID:H+Dty+yM0 >>17
Nimでもスタックとヒープを使いわけられるよ。
refのついた型とクロージャの環境とstring, seqの中身はヒープに確保される。
それ以外のローカル変数はスタックに確保。
C言語のグローバル変数とstatic変数はstatic storageというスタックとは別の所に置かれるよ。
だいたいのシステムプログラミング言語ならヒープとスタックを使い分けられるんじゃないの?
Nimでもスタックとヒープを使いわけられるよ。
refのついた型とクロージャの環境とstring, seqの中身はヒープに確保される。
それ以外のローカル変数はスタックに確保。
C言語のグローバル変数とstatic変数はstatic storageというスタックとは別の所に置かれるよ。
だいたいのシステムプログラミング言語ならヒープとスタックを使い分けられるんじゃないの?
24デフォルトの名無しさん (ワッチョイ 422c-GRcq)
2022/08/14(日) 02:20:35.55ID:H+Dty+yM0 間違えて連続投稿してすいませんでした。
>>22
type
SomeObj = object
x: int
proc foo =
var x = SomeObj(x: 10) #スタックに確保
var y = new(SomeObj) #ヒープに確保
foo()
>>22
type
SomeObj = object
x: int
proc foo =
var x = SomeObj(x: 10) #スタックに確保
var y = new(SomeObj) #ヒープに確保
foo()
25デフォルトの名無しさん (スプッッ Sd62-IWzR)
2022/08/14(日) 09:07:22.22ID:5kZWLu5Dd ここの系列で出たことあるのか知らないし、ちょっと毛色違うんだけど設定ファイル言語でDhallってあるんだね
方向性は凄く好みなんだけど最新バージョンの規格をそのまま食えるのが現状Haskell(とPureScript?)だけらしくて君らそういうところやぞ……ってなってる
yamlやjsonに変換してから食わせることはできるらしいけどやっぱそのまま食えるのと手間と複雑さは無駄に嵩張るし、この手のDSLはどれだけ広い環境で使えるかが重要よねって
方向性は凄く好みなんだけど最新バージョンの規格をそのまま食えるのが現状Haskell(とPureScript?)だけらしくて君らそういうところやぞ……ってなってる
yamlやjsonに変換してから食わせることはできるらしいけどやっぱそのまま食えるのと手間と複雑さは無駄に嵩張るし、この手のDSLはどれだけ広い環境で使えるかが重要よねって
26デフォルトの名無しさん (スッップ Sd62-Rl2g)
2022/08/14(日) 09:18:07.39ID:E6D9Byfed >>21
C#はスタック変数のエスケープは不可で、その参照を返すようなことはできない
クロージャでキャプチャされたり非同期メソッドの場合にヒープに昇格する例外はあるが、文脈から明らかであり、いわゆるエスケープ解析とは異なるものだ
更に、構造体を ref struct として定義することで上記のような昇格も不可となり、完全にスタック専用になる
C#はスタック変数のエスケープは不可で、その参照を返すようなことはできない
クロージャでキャプチャされたり非同期メソッドの場合にヒープに昇格する例外はあるが、文脈から明らかであり、いわゆるエスケープ解析とは異なるものだ
更に、構造体を ref struct として定義することで上記のような昇格も不可となり、完全にスタック専用になる
27デフォルトの名無しさん (ワッチョイ 4201-8lLW)
2022/08/14(日) 10:18:19.35ID:osAuRY7C0 >>25
ちょっとぐぐってみたけど俺はできると思ってる子がなんかこれあったら便利やんって言うのを色々詰め込んだイメージ
本当にでかい設定ファイルなら嬉しいのかも知れないけど大多数の設定ファイルにはオーバースペック過ぎて流行らないと思う
ちょっとぐぐってみたけど俺はできると思ってる子がなんかこれあったら便利やんって言うのを色々詰め込んだイメージ
本当にでかい設定ファイルなら嬉しいのかも知れないけど大多数の設定ファイルにはオーバースペック過ぎて流行らないと思う
28デフォルトの名無しさん (ワッチョイ adda-TI6p)
2022/08/14(日) 10:55:58.43ID:lDco67Nc0 オーバースペックさで言うとyamlも相当だしそれだけでは判断できないのでは
29デフォルトの名無しさん (ワッチョイ 79f0-mhOm)
2022/08/14(日) 19:14:39.32ID:1Y4ysm770 スタックとかヒープとか基本的に実装依存じゃないの
言語レベルで規格として策定されてるのある?
言語レベルで規格として策定されてるのある?
30デフォルトの名無しさん (ワッチョイ 027c-5Ix7)
2022/08/14(日) 19:23:27.68ID:TMCPzdUa0 CやC++はmallocやらnewなどでメモリ確保しない限りは全てスタックではないの?
今時のコンパイラはどうやってるのか知らんけど昔は少なくともそうだった
今時のコンパイラはどうやってるのか知らんけど昔は少なくともそうだった
31デフォルトの名無しさん (ワッチョイ 422c-GRcq)
2022/08/14(日) 19:43:04.36ID:H+Dty+yM0 可変長配列とか文字列型などの必要なメモリ量が実行時に決まるものや
関数やブロックのスコープと変数の寿命が対応しないもの(GCで管理されるオブジェクト)などはヒープ使うしかないでしょ。
けどローカル変数などをヒープに置くと効率悪いし。
関数やブロックのスコープと変数の寿命が対応しないもの(GCで管理されるオブジェクト)などはヒープ使うしかないでしょ。
けどローカル変数などをヒープに置くと効率悪いし。
レスを投稿する
ニュース
- 【子ども・子育て支援金】来年4月から徴収、月収50万円なら月600円程度…健保連試算 [蚤の市★]
- 【札幌】「アニメのキャラのまねをするためだった」上半身はダウンジャケット・下半身はスッポンポン…43歳無職の男を逮捕 [nita★]
- 高市首相告白「『なめられない服』を選ぶことに数時間を費やしました」「外交交渉でマウント取れる服、買わなくてはいかんかもなぁ」★4 [ぐれ★]
- 【芸能】篠田麻里子「水戸黄門」のオフショット公開!「くの一姿が可愛い」「うっひゃー」「スケさんカクさんが羨ましい!」 [湛然★]
- 「加熱式たばこ」の受動喫煙、「紙巻き」同様の対策強化を検討へ…厚労省の専門委が議論スタート [蚤の市★]
- 【🐼】パンダ、日本で会えなくなる? 中国との関係悪化で不安の声 ★2 [ぐれ★]
- 竹中平蔵氏、万博を批判していた人たちにチクリ「反省の弁聞きたい」 [686538148]
- 京都のホテル、暴落wwwwwwwwwwwwwwwwwwwwwwwwwwwww [329329848]
- 【速報】高市、今度はロシアに喧嘩を売る [329271814]
- ラーメンは500円くらいでいいよな
- (;ヽ´ん`)「ヤバい、遠足のバスの手配忘れてた…どうしたらいいんだ...そうだ!」 [977261419]
- 国宝みたんだけど
