次世代言語27 Nim Zig Pony Carbon Gleam (308レス)
上下前次1-新
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++でしょ
上下前次1-新書関写板覧索設栞歴
あと 237 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.007s