Комментарии 17
Тоже повёлся на красивый синтаксис и удобство, а под капотом оказывается не всё так гладко, вот недавняя разгромная статья по этому языку https://mawfig.github.io/2022/06/18/v-lang-in-2022.html
Твоя? Мощно!
Проект очень молодой, в стадии "Beta". Если сейчас погонять примеры из этой статьи, то уже не всё так плохо.
Ну и эта хабростатья вроде про новое интересное. Совсем не обязательно бежать и заменять Vlang'ом Golang и прочее. Где-то оно может и пригодиться. Вполне может прижиться где-нибудь рядом с bash'ем как скриптовой язык.
https://github.com/vlang/v/blob/master/doc/docs.md#cross-platform-shell-scripts-in-v
Посмотрим как будет развиваться.
Делаю обзор на твой обзор - эта статья лишь твое субъективное мнение.
Не особо разгромная если честно. Анонимный чел месяц искал баги в тайп чекере, которые быстро были пофикшены, половину наврал (типа изменяемой string.len).
Сейчас абсолютно все баги из этой статьи пофикшены, полезность в ней нулевая. Но удаляться/обновляться она не будет.
Язык V безусловно можно обвинить в том, что он "неправильно" работает, видел я его начальные версии.
С другой стороны нельзя не отметить, что по крайней мере его автор пишет на нем достаточно сложные штуки, далеко зашедшие. Один только ved чего стоит.
Так что я все таки желаю успехов проекту, пусть он и не столь академичен, как хотелось бы.
А смысл обозревать язык, автор которого постоянно врёт и тупо собирает донаты под обещания?
Ну собрать 30к звёзд на github все таки непросто)
А можно примеры вранья в студию?
Ну вот, например: https://xeiaso.net/blog/series/v
Нет никакого вранья :)
Нехитрый тест на производительность
V дает результат от 125 до 181 миллисекунд против 28 на Go.
лукавите, в go по умолчанию собирается прод сборка :D
обычная сборка (v .
) прошлась за 235мс
продовая сборка (v -prod .
) прошлась за 34мс
Для чистоты также не хватает кода на го, предположим что он таков:
package main
import "time"
func main() {
start := time.Now()
var sum = 0
var i = 0
for i <= 100000000 {
sum += i
i++
}
println(time.Since(start).Milliseconds())
println(sum)
}
этот код на го на моей машине исполняется (go run main.go
) за 36мс
В данном примере любопытно сравнить размеры бандлов, потому что у V первый блок кода собрался в бинарь весом в 140 килобайт, код на го в бинарь весом в 1.3мб
Подытожив, код на V отрабатывает не медленнее эквивалента на го, а размер статического бандла меньше на порядок (140кб vs 1.3мб)
Но хорошо, отойдем от синтетики
V поддерживает различные фишки, взятые от разных языков. Но думаю, что желание запихнуть в язык как можно больше всего в какой-то момент может его убить.
Тут неплоха демка от автора языка для челиков из IBM: https://www.youtube.com/watch?v=_dIAcNp9bJs
Он отмечал, что хочет предоставить разработчикам единый путь для реализации чего-то - чтобы не нужно было искать библиотеку для парсинга json, или искать бекенд фреймворк или orm для чего-то простого - всё из коробки: UI либа, ORM, вебсервер и куча других батареек
Кстати, для VSCode есть плагин, поддерживающий этот язык.
Дап, также недавно вышел плагин языка для идешек от джетов: https://intellij-v.github.io/
Интересно наблюдать за развитием языка - ишью правятся шустро (что быстро опровергает множество статей против "V"), батарейки работают, синтаксис принципиально не усложняют
А вам как? :D
V lang. Обзор и сравнение с Golang