ШІ напісаў новую мову праграмавання. У тэстах яна абышла C++ і Rust
Распрацоўшчык Ваутэр ван Аартмэрссэн прадставіў мову праграмавання Goose, рэалізацыю якой амаль цалкам напісаў ШІ. Паводле ўласных тэстаў праекта, праграмы на Goose працуюць хутчэй за аналагі на C++ і Rust і спажываюць менш памяці.
Распрацоўшчык Ваутэр ван Аартмэрссэн прадставіў мову праграмавання Goose, рэалізацыю якой амаль цалкам напісаў ШІ. Паводле ўласных тэстаў праекта, праграмы на Goose працуюць хутчэй за аналагі на C++ і Rust і спажываюць менш памяці.
Ван Аартмэрссэн прыдумаў мову некалькі гадоў таму, аднак не знаходзіў часу завяршыць працу над ёй. Распрацоўшчык заняты ўласным гульнявым стартапам, які выкарыстоўвае іншую створаную ім мову — Lobster. Сітуацыя змянілася з з’яўленнем Claude Fable. Распрацоўшчык вырашыў даручыць нейрасетцы рэалізацыю сваёй ідэі.
«Я не чакаў, што ШІ зможа дапамагчы з гэтым, пакуль не з’явіўся Fable. Мне падалося, што ён ужо дастаткова здольны, каб добра справіцца з задачай», — распавёў аўтар Goose.
У выніку ШІ напісаў большую частку кампілятара, падрыхтаваў дакументацыю, прыклады праграм і тэсты прадукцыйнасці. Сам ван Аартмэрссэн адказваў за архітэктуру і прынцыпы працы мовы, а абмеркаванні з Claude дапамаглі дапрацаваць першапачатковую ідэю.
Goose прызначаны для сістэмнага праграмавання. Яго галоўнае адрозненне ад C++ і Rust — спосаб кіравання памяццю. Замест звычайнага выдзялення памяці ў кучы мова выкарыстоўвае спецыяльныя стэкі, а кампілятар сочыць, каб праграма не звярталася да дадзеных пасля іх выдалення.
Паводле задумы распрацоўшчыка, такі падыход дазваляе пазбегнуць многіх памылак пры працы з памяццю без зборшчыка смецця і складаных правілаў кіравання спасылкамі. Акрамя таго, дадзеныя захоўваюцца кампактна, што дапамагае працэсару хутчэй атрымліваць да іх доступ.
У 16 тэстах прадукцыйнасці, апублікаваных аўтарам, Goose паказаў наступныя вынікі:
У 3,5 разы хутчэй за звычайны C++.
У 1,24–1,26 разы хутчэй за ўручную аптымізаваны C++.
У 1,13–1,19 разы хутчэй за найбольш прадукцыйныя бяспечныя рэалізацыі на Rust.
Спажыванне памяці ў залежнасці ад параўнання аказалася ў сярэднім у 1,25–1,95 разы ніжэйшым.
Кампілятар Goose ператварае праграмы ў C, таму для зборкі можна выкарыстоўваць звычайныя інструменты і кампілятары C. Зыходнікі адкрыты на GitHub пад ліцэнзіяй Apache 2.0. Даступны версіі для Windows, Linux і macOS.
Пакуль мова знаходзіцца на раннім этапе развіцця і мае абмежаванні. Напрыклад, у ёй няма звыклых паказальнікаў на функцыі, а некаторыя аперацыі з масівамі і рэкурсіяй недаступны.
Аўтар называе Goose эксперыментам у стварэнні новай мовы праграмавання з дапамогай ШІ, а не проста ўзнаўленнем ужо існуючай. Паводле яго, узаемадзеянне з Claude дазволіла не толькі рэалізаваць старую ідэю, але і палепшыць сам дызайн мовы.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.