Дата публикации:Mon, 24 Mar 2025 07:01:24 +0300
Опубликован релиз статически типизированного языка программирования V 0.4.10 (vlang). Основными целями при создании V были простота изучения и использования, высокая читаемость, быстрая компиляция, повышенная безопасность, эффективная разработка, кроссплатформенное использование, улучшенное взаимодействие с языком C, лучшая обработка ошибок, отключаемый сборщик мусора (GC), современные возможности и более удобное сопровождение программ. Проект также развивает свою графическую библиотеку и пакетный менеджер. Код компилятора, библиотек и сопутствующих инструментов открыт под лицензией MIT.
Среди изменений в новой версии:
- Добавлены анонимные структуры.
Удалена старая функциональность, ранее объявленная устаревшей (до этого 6 месяцев при компиляции проекта выводилось предупреждение о таком коде).
Множество улучшений в парсере и верификаторе (checker) языка.
Изменения, нарушающие совместимость:
Старый синтаксис "[attr]" теперь приводит к выводу ошибки, следует использовать "@[attr]".
string.index_after() теперь возвращает Option (как и string.index()), для старого поведения следует использовать string.index_after_().
vweb объявлен устаревшим в пользу более быстрого, стабильного и простого в использовании veb.
- Добавлен встроенный метод string.split_by_space()
В модуль os добавлены вспомогательные методы File.write_u8/1 и File.read_u8/0.
В модуль os добавлена функция disk_usage, показывающая доступное место для файлового пути.
В модуль time добавлена функция week_of_year().
В x.json2 добавлен Any.as_map_of_strings/0.
- Удалён модуль x.vweb (теперь это модуль veb).
В veb.request_id добавлена новая прослойка (middleware) для отслеживания ID запросов.
Обновлено руководство по veb.
- В модуле orm исправлен генератор кода для опции fk.
В db.sqlite добавлена трассировка для большего количества вызовов при использовании "-d trace_sqlite", а не только для ORM.
В db.pg добавлена поддержка операторов - db.prepare/3 и db.exec_prepared/2.
В db.mysql добавлена поддержка SSL и вынесена во флаг подключения.
- Добавлен пример HTTP-сервера vanilla_http_server - быстрого, многопоточного, неблокируемого, повторно использующего порты и хосты, потокобезопасного, использующего epoll.
Добавлен пример "1 Billion Row Challenge" для демонстрации возможностей производительности языка.
Добавлен пример игры "Сапер" (examples/gg/minesweeper.v).
Добавлен пример головоломке Sokoban с уровнями.
Добавлен пример игры про астероиды (сейчас она содержит < 400 строк кода и использует gg).
Добавлен пример небольшой игры, поддерживающую клавиатуру и сенсорное управление.
Проектом развивается новая ОС Vinix со своим ядром, написанная с нуля на языке V. Vinix теперь может работать с GTK3:
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=62938