ディスカッション (11件)
ZigのELFリンカーに関する開発ログが公開されました。コンパイル効率とリンク速度の向上に向けた直近の改善点や、実装上の工夫について詳しくまとめられています。
何年も前にZigについて初めて聞いた時、まさにこれこそが衝撃を受けた約束だったんだ。それが現実になるのを見られて本当に嬉しい!
今こうして進められている取り組みが、Bunの騒動に対する反応としてどれくらい影響しているのか気になるな。
ZigやRustなどはCが通用するニッチな分野でしか使えないって思い込んでいたけど、そうじゃないね。少なくともこれからは違う。このリンカーと他ターゲットへのインクリメンタルコンパイルが実装されれば、Zigは『Cの代替』になるだろうし、CやRustのパフォーマンスを維持しつつJSやPython並みのスピードで開発できるようになるはず。Andrewが当初夢見ていた、妥協のないUXを持つDAWを作ることもずっと簡単になるだろうね。誰かがZigネイティブなイミディエイトモードやリアクティブなUIフレームワークを作ればの話だけど。
とはいえ、@cImportが削除されたのはちょっと残念!あれがないと、もう自信を持って『C言語界のKotlin』とは呼べないよ。
これらの改善はかなり期待できるね。リリースされたら早速試してみたい。
0.17.xでWindows側のコンパイラも何か改善されるのかな?それともLinuxだけ?
つまりこのリンカーは高速なインクリメンタルリンクができるということで、開発の反復スピードには最適だね。
でも、インクリメンタルリンクは何らかの形でリンク時最適化(LTO)と排他関係にあるんじゃない?つまり、リリースビルドでこれを使うことはないってことだよね?
他にも同じようなコンパイル速度を叩き出す言語ってあるかな?知っているか覚えている範囲だとTurbo Pascalくらいしかないんだけど。
Rakuのバックエンド(MOARVM)をCからZigに移植する話が少し出ているね。例えば、Zigのより幅広いハッシュオプションは大きな最適化になる可能性がある。
尋ねられたから答えると、フロントエンドはNQPでセルフホストされているし、成熟しつつあるRakuASTプロジェクトのおかげでRaku文法への移行も進んでいる。新しいAST(6.e.PREVIEW)は、より優れたイントロスペクションと高レベルな最適化機能をもたらしてくれるはず。だから、VMをリファクタリングやリライトして大幅な速度向上を実現する可能性は十分にあるよ。
何にせよ、スキルがあって興味がある人は https://raku.org/community で一緒に楽しもう。
Hacker Newsのデベロッパーみたいにクールでヒップな人間じゃないんだけど、最近Zigをよく見かける。これって今流行りの新しいやつなの?もうRustはおしまい?
私は今、Zigにトランスパイルされるメモリセーフな言語を作っているんだ。Goのようなランタイムを持っていて、インタープリタ(GCなし)でもコンパイルでも動く。Rubyみたいな手触りだけど、TypeScriptのようにインクリメンタルな型付けができるようなものだ。
バージョン0.16から現在にかけてのZigチームのおかげで、RustではなくZigをターゲットにして本当に良かったと思ってる。Rustの方がメモリセーフだしターゲットにするのはずっと簡単だっただろうけどね。
Zigは最高のビルドシステム設計で、最高のトランスパイル先だと信じていたし、6ヶ月経った今でもそれを強く確信している。
私がGCを排除した一番の理由は、エイリアシングこそが全ての悪の根源だと考えているからだ。博士号がなくても使える、グローバルな複雑さがゼロの言語が欲しいんだよ。
早く1.0になってほしいな。そうすれば、企業でも本格的に導入できるようになると思う。