Автор ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Bun ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ экспСримСнт ΠΏΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Π½ΠΈΡŽ с Zig Π½Π° Rust

Π”ΠΆΠ°Ρ€Ρ€Π΅Π΄ Π‘Π°ΠΌΠ½Π΅Ρ€ (Jarred Sumner), ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ ΠΈ основной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ сСрвСрной JavaScript-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Bun, создал Git-Π²Π΅Ρ‚ΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ приступил ΠΊ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Π½ΠΈΡŽ Bun с языка Zig Π½Π° Rust. ΠŸΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Π½ΠΈΠ΅ вСдётся с использованиС AI-ассистСнта Claude, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ сформировано ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ руководство ΠΏΠΎ ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. По словам Π”ΠΆΠ°Ρ€Ρ€Π΅Π΄Π° ΠΏΠΎΠΊΠ° это лишь экспСримСнт, Π° Π½Π΅ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚, ΠΈ высока Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ дальшС экспСримСнта Π΄Π΅Π»ΠΎ Π½Π΅ Π·Π°ΠΉΠ΄Ρ‘Ρ‚ ΠΈ пСрСписанный ΠΊΠΎΠ΄ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ использован.

ΠŸΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΅Ρ‰Ρ‘ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΎ, ΠΈ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ этапС вСсь интСрСс ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ сосрСдоточСн Π½Π° Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ насколько работоспособным получится ΠΏΠΎΡ€Ρ‚, Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ ΠΎΠ½ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ тСстов основного ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ слоТно Π»ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄. Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счётС планируСтся провСсти ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ тСстированиС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Bun Π½Π° Zig ΠΈ Rust.

Π’ Π΄Π΅ΠΊΠ°Π±Ρ€Π΅ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Bun ΠΏΠΎΠ³Π»ΠΎΡ‚ΠΈΠ»Π° компания Anthropic, поэтому Ρƒ Π”ΠΆΠ°Ρ€Ρ€Π΅Π΄Π° Π΅ΡΡ‚ΡŒ рСсурсы для вовлСчСния Π² ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄ΠΎΠ²Ρ‹Ρ… AI-ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Claude. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Bun примСняСтся Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°Ρ… Claude Code ΠΈ Claude Agent SDK, ΠΈ компания Anthropic заинтСрСсована Π² ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ Π΅Ρ‘ качСства ΠΈ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ. Bun являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° языкС Zig, ΠΏΡ€ΠΈ этом Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Zig ΠΈ Bun расходятся мнСния Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ примСнСния AI Π² процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Zig ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Ρ‘Π½ Тёсткий Π·Π°ΠΏΡ€Π΅Ρ‚ примСнСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… языковых ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ pull-запросов, issue ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² (Π·Π°ΠΏΡ€Π΅Ρ‰Ρ‘Π½ Π΄Π°ΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ Ρ‡Π΅Ρ€Π΅Π· AI нСанглоязычных ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²).

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ Zig Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Π² Ρ€Π΅Ρ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ созданных Ρ‡Π΅Ρ€Π΅Π· AI pull-запросов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π½ΠΈΠΌΠ°ΡŽΡ‚ рСсурсы ΠΈ врСмя (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ бСссмыслСнныС измСнСния, AI-Π³Π°Π»Π»ΡŽΡ†ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΈ Ρ€Π°Π·Π΄ΡƒΡ‚Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² 10 тысяч строк). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Zig ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ сСбя ΠΊΠ°ΠΊ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π° участников, Π° Π½Π΅ вносимый ΠΈΠΌΠΈ Π²ΠΊΠ»Π°Π΄ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ β€” Π³Π»Π°Π²Π½ΠΎΠΉ Ρ†Π΅Π»ΡŒΡŽ принятия pull-запросов называСтся Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π² Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ Π½ΠΎΠ²Ρ‹Ρ… участников.

Автор Bun Π½Π΅ согласСн с Π·Π°ΠΏΡ€Π΅Ρ‚ΠΎΠΌ AI Π² Zig ΠΈ ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ AI-слоп останСтся Π½ΠΎΡΡ‚Π°Π»ΡŒΠ³ΠΈΡ‡Π΅ΡΠΊΠΈΠΌ ΠΏΠ΅Ρ€Π΅ΠΆΠΈΡ‚ΠΊΠΎΠΌ 2025 ΠΈ 2026 Π³ΠΎΠ΄ΠΎΠ², Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ПО ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΎ Π·Π°ΠΏΡ€Π΅Ρ‚Π° ΠΏΡ€ΠΈΡ‘ΠΌΠ° ΠΊΠΎΠ΄Π° ΠΎΡ‚ людСй. Π›ΡŽΠ΄ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±ΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Ρ€Π°ΡΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Ρ‹, Π° написаниС ΠΊΠΎΠ΄Π° ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ станСт ΡƒΠ΄Π΅Π»ΠΎΠΌ AI. Π’ качСствС ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ экспСримСнтов с пСрСписываниСм Π½Π° Rust Ρ‚Π°ΠΊΠΆΠ΅ отмСчаСтся ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² Bun, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Π΅ ΡƒΡ‚Π΅Ρ‡ΠΊΠ°ΠΌΠΈ памяти, ΠΈ нСприСмлСмая для ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° Zig Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ принятия Π² язык ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‰ΠΈΡ… ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ.

Из-Π·Π° Π·Π°ΠΏΡ€Π΅Ρ‚Π° примСнСния AI Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Bun Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ собствСнный Ρ„ΠΎΡ€ΠΊ инструмСнтария Zig, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ благодаря ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ AI ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π² 4 Ρ€Π°Π·Π° ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ Π·Π° счёт распараллСливания сСмантичСского Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°. ΠŸΡ€ΠΈ этом судя ΠΏΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Zig ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° отклонСния ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ Π½Π΅ Π² AI, Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ распараллСливаниС сСмантичСского Π°Π½Π°Π»ΠΈΠ·Π° Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ компилятор, Π½ΠΎ ΠΈ сам язык β€” Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Π΅Π· ошибок ΠΈ нСсовмСстимостСй, трСбуСтся внСсСниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² язык Zig. ВмСсто распараллСливания, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Zig Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ, которая ΠΏΠΎ ΠΈΡ… ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½Π° порядок ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ компиляции.

JavaScript-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Bun развиваСтся ΠΊΠ°ΠΊ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΎΠ³ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ Node.js ΠΈ Deno. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ разрабатываСтся с оглядкой Π½Π° обСспСчСниС совмСстимости с сСрвСрными прилоТСниями для Node.js ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ API Node.js. Π’ состав ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π°Π±ΠΎΡ€ инструмСнтов для создания ΠΈ выполнСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° языках JavaScript ΠΈ TypeScript, Π° Ρ‚Π°ΠΊΠΆΠ΅ runtime для выполнСния JavaScript-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π±Π΅Π· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ (совмСстимый с NPM), инструмСнтарий для выполнСния тСстов, систСма сборки самодостаточных ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ прослойка для встраивания ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², написанных Π½Π° языкС Π‘ΠΈ. По ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Bun Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ обгоняСт Deno ΠΈ Node.js (Π² тСстах Π½Π° Π±Π°Π·Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° React ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Bun Π² 2 Ρ€Π°Π·Π° ΠΎΠΏΠ΅Ρ€Π΅ΠΆΠ°Π΅Ρ‚ Deno ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ Π² 5 Ρ€Π°Π· Node.js). Для выполнСния JavaScript задСйствован JavaScript-Π΄Π²ΠΈΠΆΠΎΠΊ JavaScriptCore ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° WebKit с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ‚Ρ‡Π°ΠΌΠΈ.

Source: opennet.ru