Релиз языка программирования V 0.4.10

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 4134
Зарегистрирован: 20.08.2022

#

Релиз языка программирования V 0.4.10
Дата публикации: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.
Среди web-изменений:
  • Удалён модуль 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).

    Добавлен пример небольшой игры, поддерживающую клавиатуру и сенсорное управление.
В утилиту "v" добавлен флаг "-show-depgraph", который генерирует изображение с ModGraph:
Изображение

Проектом развивается новая ОС Vinix со своим ядром, написанная с нуля на языке V. Vinix теперь может работать с GTK3:


Изображение


Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=62938

Жизнь за Нер'зула!

Ответить