次世代言語27 Nim Zig Pony Carbon Gleam (308レス)
1-

31: (ワッチョイ 422c-GRcq) 2022/08/14(日)19:43 ID:H+Dty+yM0(5/6) AAS
可変長配列とか文字列型などの必要なメモリ量が実行時に決まるものや
関数やブロックのスコープと変数の寿命が対応しないもの(GCで管理されるオブジェクト)などはヒープ使うしかないでしょ。
けどローカル変数などをヒープに置くと効率悪いし。
32: (ワッチョイ 4201-8lLW) 2022/08/14(日)19:55 ID:osAuRY7C0(2/2) AAS
>>29
ハードウェアスタックがないマシン(汎用機とか)もあるから実装依存なのは確かだけどそういうマシンでもソフトウェアでスタック作ってるので実装としてはたいして変わらん
33: (ワッチョイ 422c-GRcq) 2022/08/14(日)19:58 ID:H+Dty+yM0(6/6) AAS
>>30
関数の外にある変数やstatic変数はstatic storageというプロセスが生まれてから死ぬまで存在し続ける領域に置かれるよ。
詳しくはdata segmentとかbssとかで検索してね。
static変数は値を保持し続けないといけないからスタックに置けないし、
関数の外にある変数は複数の関数から共有されるのでコンパイル時かリンク時にアドレスが決まってないといけないと思うのでおそらくスタックに置けない。
34
(2): (アウアウウー Saa5-xzlL) 2022/08/14(日)20:34 ID:d/RE/iMKa(1) AAS
C++の定石としてオブジェクトはスタックに置くのが基本だよ
デストラクタを動かしたいからね
ヒープにデータを割り当てたい時は構造体やクラスでラップするのが基本
35: (ワッチョイ adda-TI6p) 2022/08/14(日)20:39 ID:lDco67Nc0(2/2) AAS
>>29
最適化の余地残すために規格では振る舞いしか記述しないのが基本だと思う
レジスタだけ使うとかあるしね
36: (スプッッ Sd62-IWzR) 2022/08/14(日)20:50 ID:/dHI52Jsd(1) AAS
可変長配列に限って言えばCは一応VLAがある
11からオプションだけど
37
(1): (ブーイモ MMb6-Rl2g) 2022/08/15(月)08:38 ID:qDRL1WTlM(1) AAS
>>34
スマポ使えばいいだけだからそれはない
38: (アウアウウー Saa5-xzlL) 2022/08/15(月)13:39 ID:SFJl5V0da(1) AAS
>>37
スマポがまさに>>34のパターン使ってるんだけど
39: (ワッチョイ 027c-5Ix7) 2022/08/15(月)15:41 ID:qHbAfBQi0(1) AAS
スマートポインタwって正直使う必要殆ど無いのに
全てのインスタンス生成で使うバカがいるよねw
40: (ワッチョイ 4201-8lLW) 2022/08/15(月)16:32 ID:zxOEKBbO0(1) AAS
今時生ポインタでイキルバカが出てくるとはw
41: (ワッチョイ e9e6-xzlL) 2022/08/16(火)18:56 ID:1oXHhIiq0(1) AAS
スタックに確保されるのがポインタなのかクラスや構造体の実態なのかをちゃんと理解してない人が多すぎるね
コンパイラとかコンピュータアーキテクチャの勉強すべき
そこを避けてたら絶対に使いこなせない
42
(1): (ワッチョイ 027c-5Ix7) 2022/08/16(火)19:04 ID:JSsOGCvC0(1) AAS
そもそもスタックやらヒープやらちゃんと意味が分かっている奴って
アセンブラレベルで組んだことがあるとかじゃないと
知らなくても仕方ない気がするなぁ
43: (ワッチョイ 460f-U+eq) 2022/08/16(火)19:50 ID:RYKZv1s10(1) AAS
使いこなす必要は無くて、理解が足りなくてもやりたい事が出来れば、それで良いと思うよ。
44: (アウアウウー Saa5-xzlL) 2022/08/17(水)15:25 ID:DfCxGnRFa(1) AAS
理解してなくてやりたいことができるってそれはたまたま動いてるか
その機能が必要ないことをやってるだけ
壁が来た時ぶち当たって手遅れになる
最近スクリプト言語系のエンジニアがRustとかのモダン言語で苦しんでるのを見ると
何が理解できてないのか?を理解することってのはすごく大事
45: (ワッチョイ 3104-GRcq) 2022/08/17(水)16:47 ID:hcUDPGl30(1) AAS
Compiler explorerとかでコードがどんな風に最適化されてアセンブリ言語になるか読んでみるといいかもね。
スタックに割り当てられたローカル変数はレジスタに割り当てられる場合はあるけどグローバル変数やヒープにある変数はかならずメモリ上におかれるから毎回メモリからレジスタにロードして値を計算してからメモリにストアされる。
46: (ワッチョイ ed7c-n+Ky) 2022/08/17(水)17:41 ID:J/baCQNr0(1) AAS
最適化でキャッシュの考慮や制御までするんだから
volatileないと実際どうなるかはわからんとちゃうかな
47
(1): (ワッチョイ 9901-5Ix7) 2022/08/17(水)17:53 ID:cnWCAZlk0(1) AAS
Rustやるなら当然アセンブラが理解できないとってことだね
メモリ安心安全のためには必要なコストだよね
48: (ワッチョイ 9901-U+eq) 2022/08/17(水)20:56 ID:9RiCNb2+0(1) AAS
プログラム書くのが本業の人なら、どうやってプログラムが動くのか知らなきゃっていうのは分かるけれど、プログラムば手段であって、コピペでも何でも良いから欲しい結果が得られるなら良いって人もいるから。

それで、Rustがそんな人に合わせる必要はないし、そんなのはPython辺りに任せて、Rustはプロフェッショナルの道具でいいんじゃないの?
49: (ワッチョイ dd5f-FS65) 2022/08/17(水)21:08 ID:3noakHYk0(1) AAS
それでいいよ
あっちのスレの空気持ち込まないでくれ
50: (ワッチョイ adda-TI6p) 2022/08/17(水)22:39 ID:SgLVBpM30(1) AAS
>>47
アセンブリ知ってて損することはないけど、必須な知識ではないよ
スタックやヒープの区別について分かっていればよくて、理解のための手段のひとつとしてアセンブリが提案されているだけ
他の手段で理解できるならそれで良い
Cを使いこなすのにアセンブリの知識が必須ではないのと同じ
51: (ワッチョイ 79f0-mhOm) 2022/08/17(水)23:44 ID:C+o8slGL0(1) AAS
書いたコードがどんな機械語になってるか、確認してない層が一定数存在するって事?
周りに居たら嫌だなぁ
52
(1): (ワッチョイ a5a4-n+Ky) 2022/08/18(木)00:15 ID:uPozsGij0(1) AAS
どんなバイナリになるかイメージはするけど確認なんてしないだろ
最適化ビルドするとまるで想像通りじゃなくてびびったりはする
53: (ワッチョイ 827c-Z8r5) 2022/08/18(木)00:23 ID:K1uqUAUE0(1) AAS
>>52
だよね。
54: (ワッチョイ e9e6-xzlL) 2022/08/18(木)01:11 ID:yLDzsouG0(1/2) AAS
>>42
俺特殊なハードウェア用のコンパイラとか作ってたんだけど
コンパイラ作ってようやくCがちゃんと理解できたよ
マジでコンパイラ作らないとわらないと思う
55
(1): (アウアウウー Saa5-oUG4) 2022/08/18(木)11:25 ID:p/limWqpa(1) AAS
外部リンク:www.kinokuniya.co.jp
ISBN 4797337958
56: (ワッチョイ e9e6-xzlL) 2022/08/18(木)12:21 ID:yLDzsouG0(2/2) AAS
>>55
これはまあまあおすすめ
ただ32bitCPU時代に書かれた本なのでそこが微妙なのと
理論的なものがほとんどなく構文解析もJavaCC使ってるし
コード生成も毎回演算結果をスタックにpushするようなことをやってた気がする
allocaも自前で実装するし
ただCのような言語をアセンブリ言語へコンパイルするための勉強としては悪くない
57: (アウアウウー Saa5-oUG4) 2022/08/18(木)14:58 ID:qt1eMpHHa(1) AAS
著者はruby厨
racc使う予定だったらしい
58: (ワッチョイ e936-4eON) 2022/08/18(木)21:22 ID:1X5HVpNn0(1) AAS
intel ISAのドキュメントがオレオレ用語多くて意味わからん
59: (ドコグロ MM4f-06yp) 2022/09/05(月)00:54 ID:cFc+MJ1wM(1) AAS
あげ
60
(2): (ワッチョイ 5f7c-eJ3+) 2022/09/05(月)01:08 ID:9iTWKe040(1) AAS
nimも早くnull安全にしてくれないかね。
61: (ワッチョイ 0701-Jj1I) 2022/09/05(月)01:34 ID:ARttffD10(1) AAS
ドラゴンブックを見て一つ一つ実装していくのが良いですよ。
誤植が猛烈に多いのも練習問題のような気がしてきますよ。
62: (テテンテンテン MM8f-jyuF) 2022/09/05(月)08:15 ID:HWNfM8e/M(1) AAS
>>60
このあたりは偏執狂のRustの方が上手だな。
いっそのこと参照型のゼロ値は禁止すればいいのに。
63: (ワッチョイ 5f4b-Iguz) 2022/09/05(月)22:33 ID:1hFtemgL0(1) AAS
>>60

std/options で

ひとまずOK じゃないか ?
64
(2): (ワッチョイ 4704-Ka/N) 2022/09/06(火)04:20 ID:6xx96XME0(1) AAS
Not nil annotationはversion2.xで使えるようになるらしいよ。
外部リンク:github.com
65: (テテンテンテン MMff-jyuF) 2022/09/06(火)08:29 ID:AHhd6ypaM(1) AAS
>>64
not nil がデフォルトになるとあるね。
66: (ワッチョイ 5f4b-Iguz) 2022/09/06(火)13:26 ID:3wQQbwTr0(1) AAS
>>64

2.0がいつ出るかなんて全く不明
1.8.0の次は1.10.0
次は1.12.0となって。。。
恐らく5年以上先 ?
67: (テテンテンテン MM8f-jyuF) 2022/09/08(木)12:38 ID:H4D+Re2GM(1) AAS
スタックフレームて大抵の実行環境で使用されているのに、スタックフレームに特化した言語て無いよね。
なんでなんだろう?
68: (ワッチョイ 4704-Ka/N) 2022/09/08(木)17:28 ID:cKTVDYCV0(1) AAS
世の中のほとんどのプログラムにはヒープメモリが必要だからでしょ。
実行時じゃないとサイズがわからないことがあるし、スタック上に動的にメモリ領域を確保できるようにするとかなり大きめにスタックを確保しなくてはならくなるだろうし。
69
(2): (ワッチョイ e7da-ZIhe) 2022/09/08(木)18:05 ID:U6/gufpm0(1) AAS
スタックフレームに特化した言語ってどういうものを想定してるの?
Forthみたいなスタック指向の言語とは違うよね
70: (ワッチョイ 5fe0-InTp) 2022/09/08(木)18:22 ID:ydRaiFc90(1) AAS
実CPUのスタック操作なんて仕様にいれたら足枷だしね
関数のABIとは別に仮想的なローカルスタックを扱えるかんじ?
71: (ブーイモ MM8f-W2iS) 2022/09/08(木)18:50 ID:11l7kxGRM(1) AAS
>>69
COBOL++でしょ
72
(1): (テテンテンテン MM8f-jyuF) 2022/09/08(木)19:36 ID:gDKj2SJwM(1) AAS
>>69
スタックフレームならではの特性をコードに明記できる、といったイメージ。
例えばスタックにあるインスタンスしか受け付けない(参照)引数とかあれば、shared ptrとかunique ptrの参照渡しも安全に使える。
Rustがそこそこいい感じなんだけど、なんか中途半端。
73
(2): (ブーイモ MM8f-W2iS) 2022/09/08(木)21:06 ID:g68A8C0LM(1) AAS
>>72
Rustなら実用上はCopyで十分
74: (ワッチョイ 0701-Iguz) 2022/09/08(木)22:22 ID:D8Erj63H0(1) AAS
>>73
rustの話は向こうのスレでお願い
75: (ワッチョイ bf8c-jyuF) 2022/09/09(金)07:32 ID:v1OYGNdb0(1) AAS
>>73
そういうのが中途半端だと言っている。日本語も読めないのかよ。
76: (ワッチョイ a95f-Yvh5) 2022/09/16(金)11:26 ID:eTFy07in0(1) AAS
800 デフォルトの名無しさん sage 2022/09/15(木) 23:09:10.28 ID:KFRYW2wo
次スレはこれらの言語を入れてください
Zig
外部リンク:ziglang.org
Jakt
外部リンク:github.com
77: (ワッチョイ a563-jxjI) 2022/09/16(金)11:34 ID:CoCetj5m0(1/3) AAS
Jaktは知らないな
どんな処理系かな
78: (ワッチョイ a563-FZWc) 2022/09/16(金)11:58 ID:CoCetj5m0(2/3) AAS
パッと見の構文はRustソックリ
borrow checkerはなく、代わりにARCを使って実行時にメモリ管理しようとしてるっぽい

なんでRustやZig使わないんだろうと気になったけど、自作したSerenityOSのためのエコシステムはできるだけすべて自作したい、くらいの動機みたい
参考: 外部リンク:awesomekling.github.io
まあZig未満のドマイナー言語にとどまりそう
79: (ワッチョイ a563-FZWc) 2022/09/16(金)12:01 ID:CoCetj5m0(3/3) AAS
書き忘れた
jaktはC++へのトランスパイラ、ってのも特徴

SerenityOSはC++で作ってたから、C++トランスパイラにすれば移行しやすかったってことだろう
80: (アウアウウー Sa5b-8eP5) 2022/09/18(日)13:44 ID:KpBP36NGa(1) AAS
トンズラパイラに観えた
81: (ワッチョイ 1e66-JEMU) 2022/09/28(水)19:48 ID:Tun9Z/EC0(1) AAS
Nim追加
Language x10 x100 x200 x400 Memory Comment
--------------------------------------------------------------
Zig 0.118 1.073 2.113 4.203 3.2MB (std.HashMap, caller-hash by Context(Fnv1a_64))
Nim(clang) 0.211 1.171 2.245 4.372 4.2MB (CustomCountTable,LTO,ARC,caller-hash) New
C(gcc) 0.136 1.146 2.271 4.531 2.0MB (optimized.c,binary IO,jemalloc,O4,LTO)
C(clang/LLVM) 0.137 1.147 2.280 4.544 2.0MB (optimized.c,binary IO,jemalloc,O3,LTO)
省18
82: (ワッチョイ 6bf0-rqSc) 2022/10/09(日)07:33 ID:alq59Sy20(1/2) AAS
検証 外部リンク:blog.fascode.net

Language 10^5 10^6 Comment
----------------------------------
C++(clang) 0.032 1.029 (O3,LTO,vector,fastmod)
Nim(clang) 0.033 1.031 (O3,LTO,Seq,fastmod)
Nim(gcc) 0.041 1.339 (O4,Seq,fastmod)
C++(gcc) 0.042 1.502 (O4,vector,fastmod)
省18
83: (ワッチョイ 6bf0-rqSc) 2022/10/09(日)07:34 ID:alq59Sy20(2/2) AAS
感想:
Juliaは確かに速いが、他との比較は最適化オプションしだい。

動的配列/リストのベンチになるかと思ったが、やってみたらgccが振るわない。
原因はmodulo計算の最適化の違い? 外部リンク:godbolt.org

ZigはLLVMのmodulo最適化をトリガー出来なかったか。

OdinはLLVM AOTコンパイラとしての性能を引き出せている(今回は)
まだ言語機能の特徴をつかんでいないが、映画、ゲームグラフィックス分野で使う様な
省4
84: (ワッチョイ 074b-kHT+) 2022/10/09(日)11:10 ID:hHOnLIUR0(1) AAS
並べるときは速度の早い順で書いて下さい
85: (ワッチョイ d9f0-ofdD) 2022/10/31(月)12:29 ID:RFzpfvk70(1) AAS
「Python 3.11」がリリース、4年で5倍の高速化を目指す「Faster Cpython」計画が始動
外部リンク[html]:forest.watch.impress.co.jp

200万ドル程度と見積もられる資金はMicrosoftが協力

参考
Faster-Cpython Microsoft
Pyjion Microsoft
Cinder Instagram/Facebook/Meta
省3
86: (ワッチョイ 8901-HLP5) 2022/10/31(月)13:03 ID:4lYEr6WH0(1) AAS
Rust「…」
87
(1): (ワッチョイ e5f0-FFna) 2022/11/13(日)10:14 ID:lA0JSaU/0(1) AAS
検証??
画像リンク[png]:i.imgur.com
88: (ワッチョイ 234b-H0Ic) 2022/11/13(日)17:19 ID:vYboHCwy0(1) AAS
>>87
時間比較する時は
時間で昇順ソートした表を掲載して下さい
89: (アウアウウー Saa9-FFna) 2022/11/14(月)11:28 ID:EWF0SvAna(1) AAS
>Nimが想像より遥かに速くて「Cと同程度」以上の結果

Nimが速いのはトランスパイラだからな
90: (ワッチョイ c34b-TaOI) 2022/11/19(土)20:53 ID:7QNjN12J0(1) AAS
Nimの実行速度はGCCと同等と思って良い
91
(2): (アウアウウー Sa5b-tkFl) 2022/11/28(月)15:07 ID:6X8/W5dUa(1/2) AAS
他人が比較したやつを載せるんじゃなくてお前が比較したやつ載せろよ
92: (JP 0Hcf-RPwI) 2022/11/28(月)17:49 ID:SIJnWXGqH(1) AAS
なら >>91 が 比較しろ
93: (アウアウウー Sa5b-tkFl) 2022/11/28(月)18:00 ID:6X8/W5dUa(2/2) AAS
何でやねん
94: (ワッチョイ ffcf-ykd8) 2022/11/28(月)18:40 ID:LDNjf6uN0(1) AAS
今更だけど、スレタイが前スレとは違う言語だらけで
マイナーなのをウォッチする別スレかと思ってたわ
95: (ワッチョイ b7a4-O5Hl) 2022/11/29(火)00:59 ID:QobrmxBH0(1) AAS
TypeScript、Go、Swift、Kotlinって次世代でも何でもなく普及しきってる現役言語で、それぞれ言語別のスレが伸びてるし、
ここはこのスレタイで良いと思うわ
96: (ワッチョイ b74e-WfGi) 2022/11/29(火)12:05 ID:zwTDTYOm0(1) AAS
Gleamだけ知らんのだがどんな言語?
97: (ワッチョイ 97f0-hCdI) 2022/11/29(火)15:23 ID:Vcr0dhdC0(1) AAS
外部リンク:gleam.run
Rust製のErlang、JavaScriptトランスパイラ、という事で語れる人集合!
>>91が比較したら見直すぞ!
98: (ササクッテロ Sp1b-8//E) 2022/12/12(月)11:40 ID:X5LmWbdvp(1) AAS
新言語Verse
外部リンク[pdf]:simon.peytonjones.org
関数型でUnreal Engineに組み込むらしい
99: (ワッチョイ dbf0-TXpN) 2022/12/18(日)01:37 ID:xkWav1uF0(1) AAS
Nested Choice面白いな
100: (オッペケ Srb3-s5ol) 2022/12/18(日)11:18 ID:9uYd/N4Nr(1) AAS
おお、まだJuliaの名前が見られるとは
101: (ワッチョイ 2101-1FQR) 2022/12/24(土)17:31 ID:sDckaCi+0(1) AAS
Zigは一般運用していいレベルだと触って感じた
102: (ワッチョイ a34b-dxp0) 2022/12/25(日)14:55 ID:KZAI5vpb0(1) AAS
一般運用が何をさしてるか不明だけど
仕事で広範囲に使うのは厳しいんじゃ ?
1.0に達して無くて仕様も変更され続けてるし
103: (スッップ Sdba-TwI4) 2023/01/03(火)23:06 ID:EF4+Zmp+d(1) AAS
いつの間にかスレタイNim以外聞いた事ない言語名になってた
104
(2): (ワッチョイ fa4b-TwI4) 2023/01/05(木)00:37 ID:Xf8DhQg+0(1) AAS
Cyber言語
外部リンク[html]:cyberscript.dev

Luajitの3倍高速な組み込み用のスクリプト言語
Pythonライクなインデント

Luaよりも人気でるかも
組み込み用途なので汎用的には流行らないと思うけど
105: (ワッチョイ 5a7c-WW1s) 2023/01/05(木)01:10 ID:Ymjh5Awz0(1) AAS
>>104
lua嫌いだから頑張ってほしいな。
106: (ワッチョイ 5b4b-SFMD) 2023/01/10(火)00:06 ID:lqMsrQlz0(1) AAS
TEST
107
(1): (アウアウウー Saa7-iWdX) 2023/01/21(土)14:23 ID:tJUqTfCaa(1) AAS
Googleって何個流行らん言語開発する気なんやろな
コトリンも結局流行らんかったし
goも流行ってるかと言われると微妙やし
カーボンなんて絶対はやらんわ
108: (ワッチョイ c35f-QR4B) 2023/01/21(土)15:29 ID:6AMuhJZU0(1) AAS
Google Chrome、プログラミング言語「Rust」の採用を発表
外部リンク:news.mynavi.jp
109
(1): (ワッチョイ 439b-jMD/) 2023/01/21(土)18:31 ID:DGuAb7AB0(1) AAS
>>107
kotlinはGoogleちゃうぞ。JetBrains。
110: (アウアウウー Saa7-iWdX) 2023/01/21(土)19:13 ID:mrhEz1eCa(1) AAS
>>109
そうやったんか
泥の印象しかないから思いこんでたわ
111: (スッップ Sd1f-CAvY) 2023/01/26(木)11:26 ID:AA1/dHsVd(1) AAS
>>104
CyberってZigで書かれてるんだな。
あと非JITのインタープリターなのに高速なのは普通にすごい、これは応援するわ。
1-
あと 197 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.023s