Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

19.07.2026 12:38 (MSK)

Состоялся релиз статически типизированного языка программирования V 0.5.2 (vlang). Основными целями при создании V были простота изучения и использования, высокая читаемость, быстрая компиляция, повышенная безопасность, эффективная разработка, кроссплатформенное использование, улучшенное взаимодействие с языком C, лучшая обработка ошибок, отключаемый сборщик мусора (GC), современные возможности и более удобное сопровождение программ. Проект также развивает свою графическую библиотеку и пакетный менеджер. Код компилятора, библиотек и сопутствующих инструментов открыт под лицензией MIT.

Среди изменений в новой версии:

  • Внедрена начальная версия управления владением памятью (как в Rust) с использованием флага -ownership. Вся логика реализована во время компиляции (comptime), поэтому не оказывает влияния на скорость или размер обычного V-кода.
  • Добавлен VGC, параллельный сборщик мусора (tri-color mark-and-sweep), перенесённый из Go.
  • Реализованы модули для iOS и macOS, позволяющие писать код без использования Objective-C.
  • Включена поддержка нового бэкенда компилятора V2 ("v -v2 file.v").
  • Разрешено использование отрицательного индексирования массивов, например, "arr#[-1]".
  • Добавлен оператор возведения в степень "**".
  • Добавлен новый стандартный модуль mcp для взаимодействия V-приложений с AI-моделями, инструментами и сервисами, используя протокол MCP (Model Context Protocol).
  • Добавлена возможность перегрузки оператора "[]".
  • Полностью удалён устаревший фреймворк vweb, заменённый на фреймворк veb некоторое время назад.
  • Добавлена возможность использовать "$if bsd" на этапе компиляции.
  • Стандартная библиотека:
  • ORM: Добавлена поддержка продвинутых типов PostgreSQL (например geometry), базы данных H2, метода SQL для операций UPSERT, оператора "OR" в динамических блоках WHERE.
  • В модуль db.sqlite добавлены методы tables, columns, schema, db_size
  • В модуле db.pg теперь потокобезопасный пул для DB, Tx и Conn с API в стиле Go
  • В модуле db.mysql обеспечена поддержка многооператорных запросов.
  • В C бекенд добавлена поддержка архитектуры sparc64 и реализована возможность отладки кода с помощью GDB или LLDB.
  • Появилась возможность писать функции, вычисляемые во время компиляции (помечаются атрибутом @[comptime]).
  • В утилиту командной строки добавлена команда для генерации C-проекта, флаг "-generate-c-project path".
  • Реализован менеджер версий V, предоставляющий возможность собирать проект с указанной версией V в файле .vvmrc.
  • В пакетном менеджере (vpm) появилась поддержка пользовательских зеркал для установки пакетов.

Связанные с проектом новости:

  • Появилась открытая реализация сервера Minecraft (Bedrock Edition), написанная на V.
  • Опубликован Mustela, сверхбыстрый (9000 страниц в секунду) генератор статических сайтов, написанный на V.
  • Встроенный драйвер PostgreSQL в V, который также используется в V ORM, теперь является потокобезопасным, как и в Go. Больше не нужно использовать пулы соединений. Драйверы для MySQL, sqlite и MSSQL скоро также получат эту возможность.
  • Veb (веб-фреймворк V) теперь многопоточный. Старый однопоточный цикл событий picoev заменён на совершенно новый бэкенд fasthttp (по одному рабочему потоку на каждое ядро процессора; epoll в Linux, kqueue в macOS/BSD; отсутствие конфликтов блокировок; передача статических файлов без копирования через sendfile()).
  • Модернизированы трассировки стека (включаются опцией "-g"), которые при аварийном завершении теперь показывают полные пути к файлам с номерами строк и именами методов, что позволяет сразу перейти от сообщения об ошибке к точному коду, который её вызвал.
  • Экспериментальный модуль x.json2, написанный полностью на V, теперь стабилен и заменил старый модуль json, основанный на cJSON.


  1. Главная ссылка к новости (https://github.com/vlang/v/rel...)
  2. OpenNews: Релиз языка программирования V 0.4.10
  3. OpenNews: Открыты исходные тексты языка программирования V
Автор новости: koplenov
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65929-vlang
Ключевые слова: vlang
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (48) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 12:44, 19/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +14 +/
    Vhy?
     
     
  • 2.41, Сладкая булочка (?), 21:31, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Vhy not? А что, неплохой лозунг для языка.
     

  • 1.2, Аноним (2), 12:57, 19/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Язык на замену Rust, благодаря наличию опционального сборщика мусора, потому что, сюрприз, от всех утечек памяти Rust не защищает.
     
     
  • 2.4, ноним18 (?), 13:33, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +12 +/
    Так сборщик мусора тоже не защищает от всех утечек памяти.
     
     
  • 3.30, Аноним (30), 17:56, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А от каких не защищает?
     
     
  • 4.52, Xasd1 (?), 23:39, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    элементарный пример:

    постоянно увеличивающийся массив с объектами.

    т к откуда Сборщику Мусора знать что объекты внутри это мусор? :-)

     
  • 3.38, Аноним (-), 19:13, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >  Так сборщик мусора тоже не защищает от всех утечек памяти.

    Зато он их прячет классно. Видишь ты под нагрузкой жор памяти - и гадай, толи GC просто не отработал еще, толи память течет. Очень удобно... поэтому приблуды с GC память жрут как не в себя - всегда и везде.

     
  • 2.5, Аноним10084 и 1008465039 (?), 13:56, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем нужна замена божественному Rust? И да - божественный Rust прежде всего не от утечек памяти защищает, а от ошибок использования памяти вроде дабл-фри, юз-афтер-фри, нул поинтер и т.п.
     
     
  • 3.8, Аноним (2), 14:22, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Единственная вещь, за которую можно поблагодарить Rust - это то, что он подсветил эту проблему, а вот решение, которое он предлагает очень далеко от идеального. Если у V будет человеческий синтаксис и разработчик сможет в полной мере реализовать написанное, а также сможет написать документацию, то лавры самого безопасного языка достанутся ему.
     
     
  • 4.24, Аноним (24), 16:22, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > и Клод сможет в полной мере реализовать написанное, а также сможет написать документацию, то

    Пофиксил, не благодари. К тому же, на первый взгляд, генерируестя высокоуровневый код на сишечке (т.е. как у 100500 других нескучных ЯП, о которых уже никто и не помнит), который и компилируется шлангм/гцц.
    Так что "как в Раст" под большим вопросом (там это отслеживается в MIR = Mid-level intermediate representation https://rustc-dev-guide.rust-lang.org/mir/index.html) ...

     
  • 4.25, Аноним (25), 16:24, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > он подсветил эту проблему

    Поверь мне, это не заслуга раста, до него уже существовали языки с "безопасной памятью", просто раст стал популярным на волне хайпа от корпов.

     
     
  • 5.31, Аноним (30), 17:58, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > до него уже существовали языки с "безопасной памятью"

    Да? И при этом без сборщика мусора?

     
     
  • 6.40, Аноним (25), 21:30, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Да? Про ATS, Cyclone, Swift, SPARK ты не слышал?
     
  • 4.35, laindono (ok), 18:32, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > человеческий синтаксис

    Что под этим подразумевается вообще? Похожесть на единственный выученный язык 30 лет назад?

    Единственный язык, который имеет смысл ругать за синтаксис это C++. Да и то больше по причине его необъятности (человек не может его запомнить чисто физически).

     
  • 3.19, небесный ученый (ok), 15:29, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    не умеете вы в смыслы
    Rust - ржавчина, это по сути паразит который живёт за счет железа, конечный итог - труха и смерть.
    V — значит вендетта, месть за железо, конечный итог -победа.
     
     
  • 4.29, kusb reg (ok), 17:50, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Этот язык назван не в честь ржавчины.

    AI Overview                 Язык программирования Rust назван в честь биологического семейства ржавчинных грибов (англ. Rust fungi).Создатель языка Грейдон Хоар выбрал это имя из-за невероятной живучести, способности к росту в самых суровых условиях и устойчивости этих организмов. Это символизирует надежность, безопасность и высокую параллельность, заложенные в основу архитектуры.

     
     
  • 5.32, Аноним (32), 18:04, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это уже постфактум придумали, когда после "тёплого" приёма растоевангелистов стало понятно, что такое название вредит репутации языка.
     
  • 5.44, Сладкая булочка (?), 21:32, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Создатель языка Грейдон Хоар выбрал это имя из-за невероятной живучести, способности к росту в самых суровых условиях и устойчивости этих организмов. Это символизирует надежность, безопасность и высокую параллельность, заложенные в основу архитектуры.

    Ясно-понятно, любитель грибочков значит. Так и запишем.

     
  • 5.46, Аноним (46), 22:12, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Можно до ycpaчкu пытаться что-то объяснить постфактум, но индустрия приняла РЖУ как РЖУ. И ладно бы дебильное название... сам язык оказался нелепым костылём к проблемам с памятью, взвалив всё на программиста. Хотя казалось бы, ЯП будущего должен ОБЛЕГЧАТЬ задачу написания алгоритмов. Дол__6оё_6, который придумал Раст, решил, что можно заставить юзеров прыгать через его обруч. НЕ ВЫШЛО. Аналогично страдающий комплексом диктатора испанский кр_е_тин забацал Пестон С ОТСТУПАМИ, который тоже никому не упёрся.
     
  • 3.23, Аноним (23), 16:02, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > А зачем нужна замена божественному Rust?

    Чтобы не видеть эти извращения с подменой переменных, синтаксис даже хуже чем у тайпскрипта (ух запятые мои, с точкозапятыми, да значочки восклицательные - риальне будто бы абвгд+ писали под таблетками гормональными), 100500 анврапов и перевызовов и под конец - уродливую систему доставки и сотню утилит только чтобы оно зашевелилось - растапы (игнорящие пакетник), карги, прочую ужесть.
    Даже в го все через один бинарник решается.

     
     
  • 4.34, Аноним (30), 18:16, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Чтобы не видеть эти извращения с подменой переменных, синтаксис даже хуже чем у тайпскрипта

    Кто о чем, а оперннетные эксперты о синтаксисе, ведь дальше синтаксиса знакомство они не осиливают и сливаются...

     
  • 4.36, Аноним (36), 18:47, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Чтобы не видеть эти извращения с подменой переменных, синтаксис даже хуже чем у тайпскрипта (ух запятые мои, с точкозапятыми, да значочки восклицательные - риальне будто бы абвгд+ писали под таблетками гормональными), 100500 анврапов и перевызовов и под конец - уродливую систему доставки и сотню утилит только чтобы оно зашевелилось - растапы (игнорящие пакетник), карги, прочую ужесть.

    Бредовая бредятина, написанная под таблетками проносными.

     

  • 1.3, didok (?), 13:21, 19/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Из однобуквенных ЯП достойные только C и J, ну с натяжкой можно добавить R. Остальные имхо, только зря однобуквенные названия тратят.
     
     
  • 2.7, Vindex (?), 14:14, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +4 +/
    D
     
     
  • 3.10, abu (?), 14:25, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Согласен с вами.
     
  • 3.11, Аноним (11), 14:25, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    какой из?
     
     
  • 4.14, Аноним (-), 14:37, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    он един
     
  • 3.16, didok (?), 15:07, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это работало так: APL, BCPL, B, C. На Сишечке развитие в лучшую сторону закончилось, а бог макросов Александреску не смог заменить ни Лиспяру, ни дыряшку, ни даже гниляшку.
     
  • 2.13, Аноним (13), 14:32, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну хочется же хайповать, но вообще здесь название оправдано минимальностью и компактностью языка
     
     
  • 3.15, didok (?), 15:04, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Минимальность и компактность это про K, а этот NIH ещё даже недописан. Мб он тоже Джавкой станет.
     
  • 3.20, warlock66613 (ok), 15:59, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Сишка уже мертва, просто не все это заметили.
     
     
  • 4.27, Аноним (27), 16:49, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Просто ты живёшь в своем манямирке.
     

  • 1.17, bOOster (ok), 15:23, 19/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Отличный инструмент, кстати.
    Прозрачно вызываются C библиотеки. C CPP есть небольшой гиммор c "экстерничанием", в целом как и в Рже.
     
  • 1.21, Axonic (ok), 16:00, 19/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Брат-близнец Nim
     
  • 1.22, Аноним (22), 16:01, 19/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что фичастей, гибче: V или Hare?
     
     
  • 2.26, Аноним (27), 16:49, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    V
     
  • 2.28, Аноним (28), 17:35, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В HARE
    Нет дженериков.
    Нет comptime.
    Нет макросов.
    Нет встроенного package manager.
    Нет нормального многопоточного runtime.
    Нет async/await (только event loops или multiprocessing).
    Нет полноценного language server (LSP пока нет).
    Этот язык кандовее, чем С или Zig
     

  • 1.33, Аноним (33), 18:13, 19/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Z явно круче
     
     
  • 2.37, Аноним (37), 18:53, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    ig
     
  • 2.39, Dzen Python (ok), 21:09, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Нужен язык "О"
     
     
  • 3.42, Аноним (42), 21:31, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Когда-то видел на гитхабе (сейчас не найду) репозиторий некоего olang — там автор предлагал язык как препроцессор к си и крестам, который бы просто менял синтаксис на более сишарпный и упрощал какие-то штуки. Типа вместо string[] args — string args[], вместо const * int index — const int index* и ещё что-то подобное, включая выставленные по-умолчанию упрощённые инициализации с обнулением и геттеры массивов с проверкой выхода за диапазон.
    Эдакая попытка сделать язык чуть проще для новичков, благо кресты уже давно нечитаемы, а голые си в каждом проекте благодаря местным макросам и костылям чуть ли не отдельный язык.
     
     
  • 4.47, Dzen Python (ok), 22:45, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Немного не об этом была шутка, в контексте упоминания языка Z(ig) в новости о V, но...ты меня заинтересовал.

    Сделать этакий транспилируемый в С/С (with classes)/С++ шарпей, который убирает 90% Common MACRO И при этом не превращается в GObject-only Vala?
    Вот это звучит интереснее: шарп делали реально понимающие в разработке читаемого языка люди, купленные MS (СРАЧ-МИМО). Спасибо, поищу на жыдхабе - это куда интереснее онтопика.

     

  • 1.43, Аноним (42), 21:31, 19/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Паскаль был лучшим.
    Он просто работал.
     
     
  • 2.45, Сладкая булочка (?), 21:34, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Где работал? Если бы он был лучшим, то почему его создатель сотворил Оберон со сборщиком мусора?
     
     
  • 3.48, Аноним (48), 22:45, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Если брать ту же логику, то создатель Delphi сделал C#, а затем Typescript
    И как будто бы TS не вершина эволюции языков.
    На разные диалектах Паскаля до сих пор пишут, вот разработка на обероне это из какая-то совсем нишевая вещь
     
     
  • 4.49, Сладкая булочка (?), 23:04, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Если брать ту же логику, то создатель Delphi сделал C#, а затем
    > Typescript
    > И как будто бы TS не вершина эволюции языков.
    > На разные диалектах Паскаля до сих пор пишут, вот разработка на обероне
    > это из какая-то совсем нишевая вещь

    Это ответы не на мои вопросы.

     
  • 3.51, Аноним (51), 23:35, 19/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Pascal был лучшим в своей нише - маломощные компьютеры, например СМ-ки. В прежние времена было написано на Pascal'е много полезных программ.

    А Oberon OS - это уже для компьютеров помощнее, но нацелен на экономию памяти - приложения использовали те же компоненты (динамически загружаемые модули), что и операционная система, благодаря чему экономия памяти.

     

  • 1.50, Аноним (51), 23:23, 19/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Посмотрел примеры на главной странице - Go проще и понятнее.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру