The OpenNET Project / Index page

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



"Релиз языка программирования V 0.4.8"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Релиз языка программирования V 0.4.8"  +/
Сообщение от opennews (ok), 05-Окт-24, 18:19 
Состоялся релиз статически типизированного языка программирования V (vlang). Основными целями при создании V были простота изучения и использования, высокая читаемость, быстрая компиляция, повышенная безопасность, эффективная разработка, кроссплатформенное использование, улучшенное взаимодействие с языком C, лучшая обработка ошибок, отключаемый сборщик мусора (GC), современные возможности и более удобное сопровождение программ. Проект также развивает свою графическую библиотеку и пакетный менеджер. Код компилятора, библиотек и сопутствующих инструментов открыт под лицензией MIT...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=61995

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Релиз языка программирования V 0.4.8"  +/
Сообщение от ilyafedinemail (ok), 05-Окт-24, 18:19 
> Создан русскоязычный чат по языку V в Telegram.

Еще один? Был же уже чат с автором языка.

Ответить | Правка | Наверх | Cообщить модератору

168. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (168), 06-Окт-24, 23:25 
Это был болгарский чат.
Ответить | Правка | Наверх | Cообщить модератору

2. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (2), 05-Окт-24, 18:24 
Как там, is upper функция уже умеет определять не только ascii?
Ответить | Правка | Наверх | Cообщить модератору

41. "Релиз языка программирования V 0.4.8"  +/
Сообщение от koplenov (ok), 05-Окт-24, 23:33 
> Как там, is upper функция уже умеет определять не только ascii?

Тут реализации функции: https://github.com/vlang/v/blob/master/vlib/builtin/string.v...
Тут её тесты: https://github.com/vlang/v/blob/master/vlib/builtin/string_t...

если вы не нашли какого-то своего кейса D: - велком создавать ишью/контрибьютить :D

Ответить | Правка | Наверх | Cообщить модератору

42. "Релиз языка программирования V 0.4.8"  +1 +/
Сообщение от Аноним (2), 05-Окт-24, 23:42 
>if s[i] >= `a` && s[i] <= `z` {

Я про это. Функция ограничена латинским алфавитом.

Ответить | Правка | Наверх | Cообщить модератору

43. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (2), 05-Окт-24, 23:44 
Ладно, справедливости ради, не все компилируемые языки имеют такую функцию вообще.
Ответить | Правка | Наверх | Cообщить модератору

67. "Релиз языка программирования V 0.4.8"  +1 +/
Сообщение от Walker (??), 06-Окт-24, 05:04 
Golang умеет
Ответить | Правка | Наверх | Cообщить модератору

96. "Релиз языка программирования V 0.4.8"  +2 +/
Сообщение от koplenov (ok), 06-Окт-24, 12:25 
Накидайте тестовые кейсы и желаемое поведение чем трепаться - добавлю
Ответить | Правка | Наверх | Cообщить модератору

190. "Релиз языка программирования V 0.4.8"  +1 +/
Сообщение от фф (?), 07-Окт-24, 13:01 
is_upper('ф') == false
а судя по коду выдаст true
Ответить | Правка | Наверх | Cообщить модератору

219. "Релиз языка программирования V 0.4.8"  +1 +/
Сообщение от konart (?), 09-Окт-24, 13:50 
Я в выходные может накину, но вообще общий пойнт в том, что авторам языка в целом надо сначала документально, хотя бы для себя самих, определиться с тем как оно должно быть.
В частности определиться с тем, что вы считаете стройкой и строкой в верхнем регистре.
>if s == '' || s[0].is_digit() // и далее по коду

выглядит странно.

т.е. строка вида "0 ZERO" даст false, хотя тут сплошной верхний регистр, а строка "ZERO 0" вернет true, хотя тут тоже самое по сути.

Ответить | Правка | К родителю #96 | Наверх | Cообщить модератору

76. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (-), 06-Окт-24, 08:16 
Ради торжества справедливости: не всем нравится ICU
Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

213. "Релиз языка программирования V 0.4.8"  +/
Сообщение от bOOster (ok), 09-Окт-24, 09:29 
ICU тут причем? Пользуй другую unicode реализацию, дай бох что их штуки 4 чтоле.
Ну или на крайняк дешифровывай UTF-8 тот-же в ручную, своей головой. Если мозгов хватит.
Ответить | Правка | Наверх | Cообщить модератору

3. "Релиз языка программирования V 0.4.8"  –3 +/
Сообщение от Аноним (3), 05-Окт-24, 18:25 
>На V разрабатывается Volt - лёгкий и быстрый сервис обмена сообщений, который наметил взять лучшее от Discord, Telegram, Signal и Slack.

Открыл сайт, там очередная "вебня", ну да "лучшее" они взяли ага щас

Ответить | Правка | Наверх | Cообщить модератору

6. "Релиз языка программирования V 0.4.8"  +7 +/
Сообщение от Аноним (2), 05-Окт-24, 18:40 
Не могли бы расшифровать ваш новояз на человеческий? "Вебня" - это что конкретно?
Ответить | Правка | Наверх | Cообщить модератору

21. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (21), 05-Окт-24, 21:47 
>"Вебня" - это что конкретно?

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

Ответить | Правка | Наверх | Cообщить модератору

93. "Релиз языка программирования V 0.4.8"  +1 +/
Сообщение от Аноним (93), 06-Окт-24, 11:08 
Это когда язык нацелен создавать не программы, а сайты.
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

7. "Релиз языка программирования V 0.4.8"  +/
Сообщение от animechaos (ok), 05-Окт-24, 18:52 
Буквально ты смотришь на нативный код, который в запустили через webassembly
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

18. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (-), 05-Окт-24, 21:09 
> Открыл сайт, там очередная "вебня", ну да "лучшее" они взяли ага щас

Вебня, не вебня, а что-то типа питона для сишников. Проблема в том что у большей части переменных напрочь отсутствует аннотация - так что намерений кодера в сорце нет. Значит валидация намерений в компилтайме - отдыхает. И вместо этого, оно, видимо, будет брякаться прямо в рантайме, как питон? Или как это предполагается, без явного указания типов и проверки что в переменную грузят то что реально задумано а не то что напечатали/скопипастили по запаре?

Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

59. "Релиз языка программирования V 0.4.8"  +2 +/
Сообщение от Аноним (59), 06-Окт-24, 03:33 
>Проблема в том что у большей части переменных напрочь отсутствует аннотация - так что намерений кодера в сорце нет. Значит валидация намерений в компилтайме - отдыхает.

Откройте для себя вывод типов по Хиндли-Милнеру. Захотите попробовать - возьмите Ocaml. Или Haskell, но из-за полиморфизма в последнем, там иногда придётся делать это вручную.

Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

176. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (-), 07-Окт-24, 03:30 
> Откройте для себя вывод типов по Хиндли-Милнеру. Захотите попробовать - возьмите Ocaml.
> Или Haskell, но из-за полиморфизма в последнем, там иногда придётся делать
> это вручную.

Вывод типов это прекрасно, но явная аннотация куда надежнее и работает лучше. А вон то может оказать медвежью услугу, увы и ах.

А все ваши окамы и хаскели - ну, они где-то есть. Но ими для создания real-world проектов никто не пользуется. И стиль програминга - write only. Примерно 0 человек на этом глобусе хотят вкуривать во все эти полеты мысли какого-то Васяна, вгружая половину его бошки со всеми наворотами, чтобы ему патчик на свою проблему прислать.

В этом месте гнедая немного ломает ногу - и НЕХ навсегда остается игрушкой для академически настроенных умов, котрым главное красивые абстракции, и черт с ним с результатом - да и развитием проекта и прочими майнтенансами, экая печальная фигня, и вообще чего пристали, "филин - стратег!"

Ответить | Правка | Наверх | Cообщить модератору

185. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (59), 07-Окт-24, 10:59 
>Вывод типов это прекрасно, но явная аннотация куда надежнее и работает лучше.

Почему вы свои домыслы за факты выдаёте? Кроме того, вывод типов добрался уже даже до таких консерваторов, таких как Java и C++, не говоря про то, что даже обрезанном Go он есть из коробки.
>вгружая половину его бошки со всеми наворотами, чтобы ему патчик на свою проблему прислать.

А много людей могут патчи в linux прислать? Вот отладить, где там в многопотоке память бьётся? Нет? Как же так?
>Но ими для создания real-world проектов никто не пользуется.

Опять ваши домыслы. В частности на них пишут компиляторы и анализаторы кода. Тот же rust стартовал с кода на ocaml.

Ответить | Правка | Наверх | Cообщить модератору

214. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (-), 09-Окт-24, 10:33 
> Почему вы свои домыслы за факты выдаёте? Кроме того, вывод типов добрался
> уже даже до таких консерваторов, таких как Java и C++,

Ну да, ну да, похомячить всем хочется. Это правда качество проектов таки - рушит. Ибо ведет к факапам. У какого-нить C++'ера может и хватить ума юзать "auto" только в каком-нибудь итераторе, когда вреда нет. Но не факт что ограничится только этим.

А в вон тех примерах - аннотации намерений кодера нет. А вывод типа это прекрасно, но вообще ни разу не гарантирует совпадений с intent кодера. Значит о том что не совпадает - узнает где-то сильно потом.

> не говоря про то, что даже обрезанном Go он есть из коробки.

А в каком-нибудь хрусте - аннотации типов от и до, и типы дотошные. И это таки спасает их от кучи тупых багов и обломов где-то сильно опосля.

>>вгружая половину его бошки со всеми наворотами, чтобы ему патчик на свою проблему прислать.
> А много людей могут патчи в linux прислать? Вот отладить, где там
> в многопотоке память бьётся? Нет? Как же так?

Прикинь, даже я присылал, и не только в линух. Довольно часто можно не трейсить многопоток, если я могу воспроизвести проблему и сделать "git bisect". Простота сишки и отсутствие мега-абстракций позволяет быстро въехать в проблему даже стороннему челу, если комиты как и требует Торвальдс - "на экран влазит". Прикинь какая магия! Можно в навороченом проекте загасить баг почти не одупляя в "глобальную" логику и все такое.

А какие-нибудь хаскелисты - часто фигачат в режиме театра 1 актера. Просто наблюдение. Ибо когда вы разогнались с мега-абстракциями, остальным может быть элементарно лень вгружать половину вашей бошки, проще решить проблему иными методами, вплоть до того что накорябать эрзац на чем-то другом может быть быстрее чем въезжать в полет мысли. Он конечно будет гадкий и не masterpiece. Но свою задачу все же решит.

>>Но ими для создания real-world проектов никто не пользуется.
> Опять ваши домыслы. В частности на них пишут компиляторы и анализаторы кода.
> Тот же rust стартовал с кода на ocaml.

Опять же - нишевое разовое маргинальное применение по сути. И вообще-то нормальный яп должен был бы стратовать - с фазы архитектуры. Судя по дикому костылянию синтаксиса на кажлый пук, и продолбу в всех мыслимых аспектах системщины, спустя 15 лет пинков себя пяткой в грудь на тему системности - с этим как-то не задалось. И синтаксис у хруста ну такой себе, скажем прямо. А костыли намекают что фаза архитектуры - продолбана напрочь.

Ответить | Правка | Наверх | Cообщить модератору

227. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (59), 10-Окт-24, 14:43 
>А вывод типа это прекрасно, но вообще ни разу не гарантирует совпадений с intent кодера. Значит о том что не совпадает - узнает где-то сильно потом.

В Ocaml алгоритм вывод типов предельно понятен, и никакого "сильно потом" нет, и то, как он работает выясняется во время первого знакомства с языком, во время чтения документации. Если в вашем языке что-то намудрили с выводом типов, то вопросы к вашему языку
>если я могу воспроизвести проблему и сделать "git bisect".

Отлично. А теперь отладьте проблему уровня "ноутбук не выходит из сна". У вас есть старые ядра, где это не работает совсем, и новые, где это не работает иногда. Можите вместо сна взять проблему с файловой системой или гибридной графикой, буквально что угодно.
>А какие-нибудь хаскелисты - часто фигачат в режиме театра 1 актера

Хаскелем мир не ограничивается. Опять же, посмотрите на Ocaml, там порог входа существенно ниже.
>Опять же - нишевое разовое маргинальное применение по сути

С каких пор создание компиляторов стало нишевым и маргинальным?
>И вообще-то нормальный яп должен был бы стратовать - с фазы архитектуры.

Архитектуру нужно на чём-то воплощать. И воплотить архитектуру компилятора на Ocaml гораздо проще, чем то же самое, но на c/c++. А вообще, посмотрите на opam, там много применений будет

Ответить | Правка | Наверх | Cообщить модератору

233. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (-), 14-Окт-24, 06:42 
> В Ocaml алгоритм вывод типов предельно понятен, и никакого "сильно потом" нет,
> и то, как он работает выясняется во время первого знакомства с
> языком, во время чтения документации. Если в вашем языке что-то намудрили
> с выводом типов, то вопросы к вашему языку

Я предпочитаю явную аннотацию типов. Из соображений antibug, чтобы програмер и компилер точно не могли разойтись во мнениях и была явная декларация намерений исключающая разночтения. Двуногие могут быть не выспавшиеся, просто проглючить, их могут отвлечь, и проч. И они иногда могут сделать - нечто странное.

Так что имхо в этом смысле правильные идеи у кого-то типа хрустиков. С let и сопоставлением блоков они немного перестарались, но в целом - видно что они думали как делать относительно безглючный софт.

> Отлично. А теперь отладьте проблему уровня "ноутбук не выходит из сна".

Прикиньте, если раньше выходил а сейчас перестал, bisect и это сможет! И можно сэкономить себе нефигово времени на отношения с хардварными дебагерами и потугами какого-нибудь трейса проприетарной фирмвары (дебагсимволы у вас есть?!)

FYI, я причастен к аннулированию нескольких факапов early boot и даже раскочегарил пару камней с ноля, даже сишный стартап сам себе написал. И тут вы такой рассказываете мне как это все. Прикол!

> У вас есть старые ядра, где это не работает совсем, и новые,
> где это не работает иногда. Можите вместо сна взять проблему с
> файловой системой или гибридной графикой, буквально что угодно.

Я бисектом бахнул несколько багов в дровах GPU. Кроме всего прочего. Прогеры были невероятно рады ТАКОМУ подходу, буквально в реальном времени кроили мне фиксы. Так можно за полдня починить какой-нибудь локап GPU. Вообще не парясь трассировкой! Будущее - здесь.

> Хаскелем мир не ограничивается. Опять же, посмотрите на Ocaml, там порог входа
> существенно ниже.

С точки зрения распостраненности - тоже эзотерика. Я сходу не вспомню ни 1 программы которая реально где-то используется на этом так навскидку. Наверное они где-то есть, конечно. Но в повседневной человеческой дяетельности их примерно 0.

>>Опять же - нишевое разовое маргинальное применение по сути
> С каких пор создание компиляторов стало нишевым и маргинальным?

С таких, что так - очень мало кто будет хруст ставить. Хотя иллюстрация на тему эзотерики, конечно, шикарная. Бутстрап тулчейна - реально одно из самых эзотерических действ в програмизме. Только это очень нишевое развлечение. Примерно как подъем камня с ноля своим кодом :)

>>И вообще-то нормальный яп должен был бы стратовать - с фазы архитектуры.
> Архитектуру нужно на чём-то воплощать. И воплотить архитектуру компилятора на Ocaml гораздо
> проще, чем то же самое, но на c/c++.

Только потом результат что-то спросом не пользуется. И таки - есть и многие иные варианты раскрутки компилеров. То что этот лучший - ну, э, в случае хруста это проявляется в чем? В продолбаной архитектуре ЯП чтоли? Когда синтаксис и стдлибу на любую проблему жутко костылить надо?

> А вообще, посмотрите на opam, там много применений будет

Опять же - где все это водится в диком виде?

Ответить | Правка | Наверх | Cообщить модератору

207. "Релиз языка программирования V 0.4.8"  +/
Сообщение от старый пень (?), 08-Окт-24, 12:08 
Да ладно, мой код крутился в поисковике nigma.ru в течении 7 лет, из них 5 лет когда я там уже не присутствовал.
Нормальный такой real world, выполняемая задача защита проекта от ботов и логических ddos.

На тему write only, как раз наоборот, чужой код очень легко модифицировать если ты способен разобраться в теме зачем он написан, типы тебе стелют соломку и компилятор явно сигналит где проблемы.

На тему 0 человек, ну ага, hackage эти 0 человек и накидали пакетами....

Ответить | Правка | К родителю #176 | Наверх | Cообщить модератору

215. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (-), 09-Окт-24, 10:56 
> Да ладно, мой код крутился в поисковике nigma.ru в течении 7 лет,
> из них 5 лет когда я там уже не присутствовал.

Из этого поста я узнал про существование какого-то "nigma.ru". И это круто, хорошо и правильно - потому что что? Оно кого-то обставило в какой-то номинации? Нечто за этим сайтом взлетело как некий продукт? И почему - в прошедшем времени? Бобик таки - того?

Я так то в курсе что все яп эквивалентны. Так что некий проект можно запилить - даже на брейнфаке. Но как говорится - есть нюансы.

> Нормальный такой real world, выполняемая задача защита проекта от ботов и логических ddos.

И это все - дало мастеркласс кому и почему? Или - как обычно, сдохло ибо понимал тот код 1 кодер на весь глобус, а когда ему надоело в рожу тянуть лямку - ему и амба? Я угадал?

> На тему write only, как раз наоборот, чужой код очень легко модифицировать

Если быть вами. А если васяном с улицы - вот вам полкило высоконцептуального брейнфака. И чтобы сделать патч который на другом яп за 5 минут делается, придется сперва нехило повкуривать в абстрации. Дольше чем все написание патчика. Такое комбо - булщит, увы.

> если ты способен разобраться в теме зачем он написан, типы тебе
> стелют соломку и компилятор явно сигналит где проблемы.

Взаимосключающие параграфы. Или уж надо разбираться, или уж - легко.

> На тему 0 человек, ну ага, hackage эти 0 человек и накидали пакетами....

Я честно говоря не знаю кто и что куда накидал. На гитхабе вон вообще васяны налили - миллионы домашек. Но не все из них являются серьезными проектами. Процентов 80 даже тупо не компилится, или страдает ломовыми проблемами, от нетлицензиивыпират до концептуального алго с перформансом вида O(n^3), нуачо, на полутора тестовых записях работает же!

Ответить | Правка | Наверх | Cообщить модератору

220. "Релиз языка программирования V 0.4.8"  +/
Сообщение от старый пень (?), 09-Окт-24, 14:53 
Ну да, взлетело. На этом поисковике натренировалась команда и потом подняла вполне себе успешный проект https://coccoc.com
Во Въетнаме это ведущий поисковик.
Сейчас нигма уже не работает, как бы куча ресурсов имеют свой жизненный цикл.... селяви.

Не угадал, защита от ddos это тупо обслуживающий сервис, и оно вообще не дохло ))

С каких эт пор Васян с улицы с легкостью запатчит код? Может у него определенная квалификация должна быть?
Нечего там вкуривать, не больше чем на любом другом языке.

Если ты не разбираешься в доменной области, что ты вообще там поправить можешь? Если код считает какую то гидродинамику, а ты в ней не в зуб ногой, что ты там можешь поправить даже зная язык на котором код написан?
Мальчик, подрасти немножко.

Серьезные проекты.... 90% пэйперов по алгоритмам за последние 20 лет пишутся на haskell....
Если для тебя алгоритмы это какая то заумная фигня, ну ты наверно не в ту профессию пошел.

Ответить | Правка | Наверх | Cообщить модератору

223. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (-), 10-Окт-24, 04:05 
> Ну да, взлетело. На этом поисковике натренировалась команда и потом подняла вполне
> себе успешный проект https://coccoc.com
> Во Въетнаме это ведущий поисковик.

Ох, опеннетчики умеют поразить историями успеха. А что, гугол у них не в почете? Простите, вьетнам настолько мелкая штука, что у меня даже знакомых вьетнамцев так на вскидку не припоминается, чтобы кросс-верификацию заявы сделать. Не, на честное слово джентльменам я уже давно не верю.

Со своей стороны я и этот сайт впервые вижу. На этом глобусе несколько миллиардов сайтов и, конечно, среди всего этого великолепия есть сайты на чем угодно. Что сие доказывает я хз. Если это типа-успех вебдева, ну, ок, это успех - по сравнению с чем?

> Сейчас нигма уже не работает, как бы куча ресурсов имеют свой жизненный
> цикл.... селяви.

Я уже заметил что жизненный цикл проектов на эзотерике - выглядит довольно характерно.

> Не угадал, защита от ddos это тупо обслуживающий сервис, и оно вообще не дохло ))

В смысле не дохло? Проект живой? Где-то применяется? Или выброшен на свалку истории, как обычно у концептуалов с эзотерикой?

> С каких эт пор Васян с улицы с легкостью запатчит код? Может
> у него определенная квалификация должна быть?

Ну я вот как васян с улицы патчил - баги в linux kernel. И хотя я нии...у в глубины подсистем, когда git bisect мне показал патч размером со скрин, и я знаю сишку, отсутствие крутых абстракций позволяет быстро увидеть что не так в небольшом сегменте кода - даже мне. Хоть я и не вхож в те подсистемы. Но если есть пример хорошего кода, плохого кода, и я вижу как сломалось, все сильно упрощается. А простейший фикс это вообще git revert <offending commit>.

Добро пожаловать в дивный новый мир. А с вон тем так, ессно, не прокатит. Там все же придется вгрузить немеряно абстракций в бошку. Что хуже - скорее всего уникальных для именно этого проекта. И это 2 минуты на фикс. И пару недель на въезд в абстракции. Вы уж простите, но за это время я проблемы решу другими способами.

> Нечего там вкуривать, не больше чем на любом другом языке.

А вот фиг. Высокопарные абстракции - это высокопарные абстракции.

> Если ты не разбираешься в доменной области, что ты вообще там поправить
> можешь? Если код считает какую то гидродинамику, а ты в ней
> не в зуб ногой, что ты там можешь поправить даже зная
> язык на котором код написан?
> Мальчик, подрасти немножко.

Я смотрю такой подход у вас офигенно работает для успеха ваших проектов и яп :). Ну и для вон того всякие DSL могут иметь смысл, чтобы спецу по гидродинамике - не вкуривать в огромный пласт абстракций навороченных концепций от академ программизма, что врядли было целью в жизни у эксперта по гидродинамике.

> Серьезные проекты.... 90% пэйперов по алгоритмам за последние 20 лет пишутся на
> haskell....

Эти пэйперы - именно что пэйперы. А реальных живых проектов, которые не на бумаге... эээ... :)

> Если для тебя алгоритмы это какая то заумная фигня, ну ты наверно не в ту профессию пошел.

Во многих местах програмизма алгоритмы - на удивление примитивны. А какие особые алгоритмы в например отображении сайтика юзеру? Де факто половину такого кода даже AI могет сносно нагенерять ;)

Ответить | Правка | Наверх | Cообщить модератору

224. "Релиз языка программирования V 0.4.8"  +/
Сообщение от старый пень (?), 10-Окт-24, 08:48 
А гугол проиграл в конкуренцию, не смогли они на локальном рынке.
А так да, всего лишь 100 лямов человек, действительно мелочь. Че уж там.

Проект завершил свой жизненный цикл, принес какое то количество денег, опыта и был забыт.

Да да, верю, вот никому не верю а анониму на слово верю что он спокойно походя патчит ядро за пару минут. ))
Ты не реально крут парниша... языком звиздеть и тролить.

Вообще то работает и весьма не плохо.

Реальные проекты.. А что такое реальный проект? Любой код это нагромождение виртуальных замков в голове и набор байтиков в компе, потрогать не получится. Вообще есть, но если тебе поисковик на 100 миллионов пользователей не катит, то я уж не вижу смысла тебе еще что то показывать, заинтересуешься сам поищешь. А пэйперы это новые мысли и подходы к реализации реальных задач которые могут применяться в дальнейшем.

Во многих да, а во многих нет. От доменной области зависит. Без понятия, сайтиками никогда не занимался, как то больше параллельщина всякая встречается последние лет 10. Ну вот из последнего что попалось любопытного
Aleksander Prokopec, Phil Bagwell, Martin Odersky, "Cache-Aware Lock-Free Concurent Hash Tries
на сайтиках такое явно не нужно, а вот когда у тебя 4 - 5 гигабитов запросов c ограничением на время обработки без подобных вещей уже железа не напасешься.

Как там, Васян с улицы быстренько запатчит? А железа то хватит потом на такой патч?
Так что Васян звизди дальше. И учись лучше. Глядишь не будешь бедным и желчным.

Ответить | Правка | Наверх | Cообщить модератору

225. "Релиз языка программирования V 0.4.8"  +/
Сообщение от старый пень (?), 10-Окт-24, 09:02 
Ну и по моему антидосу, если ты реально не можешь вдуплить что код решающий задачи в 2013 году по защите специфичного веб ресурса (а поисковик это явно не типичный веб сайтик) в 2024 в принципе не может использоваться в связи с весьма глубокими изменениями в вебе, ну я не знаю, можешь считать что проект сдох, по мне так он просто изжил себя.

Хотя если ты не помнишь что такое нигма, ты скорей всего слишком маленький чтоб понять это.

Ответить | Правка | К родителю #223 | Наверх | Cообщить модератору

230. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (59), 10-Окт-24, 15:03 
>когда git bisect мне показал патч размером со скрин, и я знаю сишку

Вы сознательно берёте тривиальный случай. Кстати, как вы будете через бисект искать ошибку, которая есть только на проде? Или если проблема воспроизводится за пару часов, а перебрать нужно несколько тысяч коммитов, а потом портировать исправление со старой версии на новую, ибо баг затрагивает далеко не всех пользователей?
>А простейший фикс это вообще git revert <offending commit>.

Этот коммит зачем-то делался. Сомневаюсь, что его автор хотел что-то специально сломать. Особенно будет весело, если проблема в новой подсистеме, а старая подсистема уже удалена.
>Де факто половину такого кода даже AI могет сносно нагенерять

Ага, если это ваша личная домашняя страничка. А иначе, тормоза могут быть много где.

Ответить | Правка | К родителю #223 | Наверх | Cообщить модератору

228. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (59), 10-Окт-24, 14:49 
>Я так то в курсе что все яп эквивалентны

А вот и нет. Они не взаимозаменяемы. То, что легко делается на Ocaml не получится никогда воплотить на Python, просто из-за различий в семантике этих языков.
>И чтобы сделать патч который на другом яп за 5 минут делается

За пять минут делается, если проблема тривиальна. Я ещё раз рекомендую вам взять любой сложный проект, хоть тот же самый firefox, и отладить любую сложную проблему. Например, firefox падает на x86 в случайных местах. Там же всё просто, по вашим словам
>Взаимосключающие параграфы. Или уж надо разбираться, или уж - легко.

Всему нужно учится. Но после обучения - легко. Вы же не родились умеющим программировать?

Ответить | Правка | К родителю #215 | Наверх | Cообщить модератору

229. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (59), 10-Окт-24, 14:52 
>Я честно говоря не знаю кто и что куда накидал. На гитхабе вон вообще васяны налили - миллионы домашек.

Это пакетный менеджер хаскеля, стыдно не знать.

Ответить | Правка | К родителю #215 | Наверх | Cообщить модератору

182. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Axel (??), 07-Окт-24, 10:04 
Ещё и верстка плавает. Везде padding разный
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

4. "Релиз языка программирования V 0.4.8"  +3 +/
Сообщение от Аноним (4), 05-Окт-24, 18:25 
Судя по синтаксису это какой-то го у нас дома.
Ответить | Правка | Наверх | Cообщить модератору

22. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Швондик (?), 05-Окт-24, 21:48 
это смесь паскаля с явой
Ответить | Правка | Наверх | Cообщить модератору

178. "Релиз языка программирования V 0.4.8"  –1 +/
Сообщение от Андрей (??), 07-Окт-24, 07:51 
Да, это по сути Go с лучшей интероперабельностью с сишкой, причём настолько, что в текущем виде компилятор генерит сишный код и только затем сишным компилятором доводит его до двоичного elf и пр. Вообще кмк - это очень крутая стратегия, ибо язык по сути минимальными усилиями может затягивать в себя все сишные библиотеки и обёртки, притом и сам порождает вполне достойный код. Из минусов и странных замут - это то, что в языке предусмотрено 4 механизма работы с памятью, что очень ломает мозг, т.к. во-первых половина из них нестабильна, а во-вторых не совсем очевидно как будет работать программа в которой разные модули работают с различными механизмами, особенно с учётом того, что для части механизмов работа с памятью ручная, а для другой автоматическая, от чего потенциально есть риск бардака в вопросе того - кто же всё-таки владеет памятью, как долго и на каких основаниях.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

187. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (59), 07-Окт-24, 11:44 
>Да, это по сути Go с лучшей интероперабельностью с сишкой, причём настолько, что в текущем виде компилятор генерит сишный код и только затем сишным компилятором доводит его до двоичного elf

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

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

Кроме того, у данного подхода есть и минус - отлаживать придётся сишный код, со всякими промежуточными шагами.
>Из минусов и странных замут - это то, что в языке предусмотрено 4 механизма работы с памятью, что очень ломает мозг, т.к. во-первых половина из них нестабильна, а во-вторых не совсем очевидно как будет работать программа в которой разные модули работают с различными механизмами, особенно с учётом того, что для части механизмов работа с памятью ручная, а для другой автоматическая, от чего потенциально есть риск бардака

Это не просто потенциально, это обнаружится при написании первой же программы, которая будет взаимодействовать с любой сложной структурой данных. Даже без прямого взаимодействия с чужим кодом это с лёгкостью может привести к утечкам(а их уже обнаружено много https://github.com/vlang/v/issues?q=is%3Aissue+memory+leak) и потенциально порче памяти

Ответить | Правка | Наверх | Cообщить модератору

238. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Вова (?), 22-Окт-24, 23:15 
Если он генерит "промежуточную сишечку", это уже медленный канпелятор! Скорости надо учиться у Паскаля.
Ответить | Правка | К родителю #178 | Наверх | Cообщить модератору

201. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (201), 07-Окт-24, 19:29 
го без телеметрийных зондов
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

8. "Релиз языка программирования V 0.4.8"  +2 +/
Сообщение от Аноним (8), 05-Окт-24, 19:07 
Судя по активности https://github.com/spytheman разрабу хорошо платят. Даже в выходные пашет.
Ответить | Правка | Наверх | Cообщить модератору

23. "Релиз языка программирования V 0.4.8"  +5 +/
Сообщение от Швондик (?), 05-Окт-24, 21:49 
либо просто ещё молодой на энтузиазме
Ответить | Правка | Наверх | Cообщить модератору

45. "Релиз языка программирования V 0.4.8"  +1 +/
Сообщение от Аноним (2), 06-Окт-24, 00:22 
Не могу сказать конкретно про этого. Но автор языка иногда вбрасывал вакансии на участие в разработке. Хз откуда деньги, но зп обещал.
Ответить | Правка | Наверх | Cообщить модератору

94. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Швондик (?), 06-Окт-24, 11:16 
походу на крипте чутка бабла поднял
Ответить | Правка | Наверх | Cообщить модератору

136. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (8), 06-Окт-24, 18:53 
На сайте 6 спонсоров https://vlang.io/ Так что ничего волшебного тут нет.
Ответить | Правка | Наверх | Cообщить модератору

163. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Швондик (?), 06-Окт-24, 23:03 
Так намного лучше
Ответить | Правка | Наверх | Cообщить модератору

110. "Релиз языка программирования V 0.4.8"  +4 +/
Сообщение от Вы забыли заполнить поле Name (?), 06-Окт-24, 14:57 
Опять эксперты заняты любимым делом: считают чужие деньги. Я наоборот рад за людей, что они делают, что нравится, да ещё и денежки на это есть.
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

135. "Релиз языка программирования V 0.4.8"  +1 +/
Сообщение от Аноним (8), 06-Окт-24, 18:50 
Общество вправе знать, кто заказчик банкета. Вроде все честные люди, а ведут себя как барыги из 90-х.
Ответить | Правка | Наверх | Cообщить модератору

11. "Релиз языка программирования V 0.4.8"  +7 +/
Сообщение от Аноним (11), 05-Окт-24, 19:44 
Очень приятный в использовании, конечно до применения в чем то серьезном еще далеко.
Изучается быстро, выглядит как более совершенный и разумный аналог го.
Парадигма expected optional для обработки ошибок хорошо структурирует код.
Можно использовать автономно в отличие от его корпоративного аналога, который требует интернета для репозитория и отсылки телеметрии.

И вменяемая лицензия кстати :)

Ответить | Правка | Наверх | Cообщить модератору

39. "Релиз языка программирования V 0.4.8"  +/
Сообщение от koplenov (ok), 05-Окт-24, 23:25 
Тут в чатике я как-то расписывал про успешно реализованные проекты на V: https://t.me/vlang_rus/51615
Ответить | Правка | Наверх | Cообщить модератору

49. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (49), 06-Окт-24, 02:11 
Есть хоть один энтерпрайз проект? Хелоуворлды с житхаба не интересны.
Ответить | Правка | Наверх | Cообщить модератору

50. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (49), 06-Окт-24, 02:14 
Почитал. Какие-то внутренние админки и пет проекты для двух юзеров. Короче песочница и совочки.
Ответить | Правка | Наверх | Cообщить модератору

57. "Релиз языка программирования V 0.4.8"  +2 +/
Сообщение от koplenov (ok), 06-Окт-24, 03:20 
> Короче песочница и совочки.

Нуу, как затащил V в прод, у нас больше года проект на нем работает

админка со сбором статы и скрипты на V сейчас рулят 400хста доменами, полет нормальный

допиливаются фичи и идем к цели в 800 доменов

сейчас 2.8к строк кода бекенда на v
1.6 фронта на ts (генерируется в 17к строк)


пользуются на постоянке четыре чела
я один разраб


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

Ответить | Правка | Наверх | Cообщить модератору

95. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (93), 06-Окт-24, 11:21 
Такое обычно на Perl хорошо писать.

У вас есть где-нибудь страница сравнения с perl?

Ответить | Правка | Наверх | Cообщить модератору

97. "Релиз языка программирования V 0.4.8"  +/
Сообщение от koplenov (ok), 06-Окт-24, 12:27 
> У вас есть где-нибудь страница сравнения с perl?

Чего с чем в каких аспектах?

Плотнее это можно обсудить в самом чатике https://t.me/vlang_rus

Ответить | Правка | Наверх | Cообщить модератору

115. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (93), 06-Окт-24, 16:00 
На мой телефон не приходят смски, не могу зарегистрироваться в телеграмме.

У вас нет IRC канала? Или хоть xmpp?

Ответить | Правка | Наверх | Cообщить модератору

138. "Релиз языка программирования V 0.4.8"  +/
Сообщение от koplenov (ok), 06-Окт-24, 19:00 
> На мой телефон не приходят смски, не могу зарегистрироваться в телеграмме.
> У вас нет IRC канала? Или хоть xmpp?

тогда давайте пробовать обкатывать сам volt - https://volt.im/s/russians

он не требует номера телефона

Ответить | Правка | Наверх | Cообщить модератору

103. "Релиз языка программирования V 0.4.8"  +1 +/
Сообщение от Аноним (11), 06-Окт-24, 13:02 
Примерно в таком ключе и планируется использовать - с десяток серверов с синхронным запуском/остановом/управлением прикладного ПО, было до этого автоматизировано при помощи каких то деревенских скриптов, го отпадает по ряду причин, V справится идеально.
Ответить | Правка | К родителю #57 | Наверх | Cообщить модератору

133. "Релиз языка программирования V 0.4.8"  +1 +/
Сообщение от Аноним (59), 06-Окт-24, 18:22 
>пользуются на постоянке четыре чела
>я один разраб

Как вам удалось протощить это в прод? Вы единственный разработчик в проекте?
>Как никак, а это кже успех - затащить на прод технологию, которая хорошо себя показала

В чём она себя показала хорошо? Если бы вместо вас пришёл другой человек, и затащил Ocmal/FreePascal/Go/любой другой язык, то это кто-то бы заметил?

Ответить | Правка | К родителю #57 | Наверх | Cообщить модератору

141. "Релиз языка программирования V 0.4.8"  +/
Сообщение от koplenov (ok), 06-Окт-24, 19:15 
> Как вам удалось протощить это в прод? Вы единственный разработчик в проекте?

да, единственный разработчик(/бекендер/фронтендер)/девопсер на три направления и три проекта

остальные в команде - вебмастера бородатых лет, не программисты


> В чём она себя показала хорошо?

стабильная работа написанного сервиса

сервис также собирал статистику, на которое опиралось руководство в своих отчетах при дальнейшем планировании работы


в разработке нам полностью хватило стандартной библиотеки языка

все это оказалось достаточно предсказуемо надежным для той категории задач, возложенных на меня

> Если бы вместо вас пришёл другой человек, и затащил Ocmal/FreePascal/Go/любой другой язык, то это кто-то бы заметил?

Если бы этот кто-то другой сделал все необходимое на Ocmal/FreePascal/Go/любой другой язык и оно решало все те же задачи, было бы так же просто разворачиваемо, не требовало много времени - почему нет?

Лично мне про Ocmal/FreePascal/perl было бы интересно послушать в современном мире и вебе
Про go, c#, js, php - нет

Соответвенно потому что на сегодняшний день успешно реализованных проектов на вторых хватает, а у первых достаточно стереотипное (как по мне) представление об их использовании

Ответить | Правка | Наверх | Cообщить модератору

151. "Релиз языка программирования V 0.4.8"  +1 +/
Сообщение от Аноним (151), 06-Окт-24, 20:44 
>стабильная работа написанного сервиса

Удивительно, ведь V еще только в стадии разработки первой версии.

> достаточно стереотипное (как по мне) представление об их использовании

А какое?

На Free pascal 'е можно web-интерфейс приделать
https://github.com/PierceNg/fpwebview

Можно и для android'a
https://samadhiweb.com/tags/Pascal.html
https://github.com/jmpessoa/lazandroidmodulewizard/
https://habr.com/ru/articles/835244/

Ответить | Правка | Наверх | Cообщить модератору

198. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (198), 07-Окт-24, 17:06 
> Лично мне про Ocmal/FreePascal/perl было бы интересно послушать в современном мире и вебе

а куда делся пайтон?

но вообще, максимально странно, пилить свой язык в таком обилии готовых, очень сомнительные переспективы, которые могут быть компенсированы только киллер фичами, но их видимо не будет.

Ответить | Правка | К родителю #141 | Наверх | Cообщить модератору

204. "Релиз языка программирования V 0.4.8"  +/
Сообщение от koplenov (ok), 07-Окт-24, 22:40 
> а куда делся пайтон?

тот же джанго - он в вебе новость? по наблюдениям - точно не новость

было решено отказаться от искусственных сложностей, в случае питона это был бы зоопарк зависимостей, их версий и сложность разворачивания

V же давал единственный статичный бинарь на выходе, без специфичных телодвижений
при этом сборка проекта занимает пару секунд, из-за этого мы решили собирать проект напрямую на сервере - это вышло тупо быстрее, а когда итераций на дню много, это неплохо так ускоряет процесс отладки


На питоне у нас был написан один модуль, и только с ним (работой его зависимостей) есть проблемы при разворачивании бекенда на разных осях

> но вообще, максимально странно, пилить свой язык в таком обилии готовых, очень сомнительные переспективы, которые могут быть компенсированы только киллер фичами, но их видимо не будет.

мне понравилось, что из коробки в стандартной библиотеке есть все необходимое для реализации чего-то стоящено,
например, драйверы работы с разными базами данных, встроенная orm, веб сервер, шаблоны, etc


В отличие от вышеупомянутого питона, где для совершения человечных веб запросов уже требуется сторонний модуль наподобие `requests`, в V эти и многи другие приблуды просто есть, и стремяться к описанию "просто работает"

А если чего-то не хватает, и при этом это какая-то типовая задача, можно внести свой вклад в стандартную библиотеку

Как по мне, весомая киллерфича V в том, что его ничего не сковывает в развитие стандартной библиотеке
В отличе от c/c++ где переизобретение "строк" - это норма


тут кстати автор V презентовал язык ребятам из IBM - https://www.youtube.com/watch?v=_dIAcNp9bJs

¯\_(ツ)_/¯

Ответить | Правка | Наверх | Cообщить модератору

206. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (198), 08-Окт-24, 10:58 
Немного точек над И.., питон не люблю и не использую.

> мне понравилось, что из коробки в стандартной библиотеке есть все необходимое для реализации чего-то стоящено,

Думаю любой "молодой" язык может этим похвастаться, 20/80 в чистом виде, и вот когда в периметре интересов появляется что-то нестандартное с необходимостью подкрутить, где-то что-то очень специфичное, а в стандарте это не предусмотрено, что делать? переписывать функционал стандарта переусложняя проект..

> Как по мне, весомая киллерфича V в том, что его ничего не сковывает в развитие стандартной библиотеке

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

В общем, не пытаюсь переубедить или чтото доказать, но смотрится бледно, учитываю вашу активность могу порекомендовать написать обзорную статью на язык в целом, кто и зачем его сделал и чем он лучше и/или запилить какой-нибудь прожектик малюсенький.. вот недавно менял телефон, оказывается на телефоне нельзя посмотреть версию apk-шки, можно там конечно с установкой явы, ну блин на ровном месте проблема, но это такое))

Ответить | Правка | Наверх | Cообщить модератору

199. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (199), 07-Окт-24, 18:16 
> я один разраб
> затащить на прод технологию, которая хорошо себя показала, написать инструментарий, на который можно доказательно-финансово опираться и развивать это дело дальше - достойно

Ну под такими лозунгами можно хоть брейнфак затащить.

В совке кто-то считал достойным железку с завода вынести, а сейчас кто-то считает достойным на деньги работодателя вместо работы играться в доморощенные язычки без экосистемы, сообщества и будущего, тратя на решение простейших задач Nx времени, обеспечивая работодателю проблемы при своём увольнении или банально болезни и гарантируя в итоге ещё Mx трат на переписывание на нормальном ЯП и потери на сопутствующие простои и миграции.

Написал я вашему работодателю, Роман, пусть хотя бы в курсе будет на что его деньги уходят.

Ответить | Правка | К родителю #57 | Наверх | Cообщить модератору

202. "Релиз языка программирования V 0.4.8"  +/
Сообщение от koplenov (ok), 07-Окт-24, 22:17 
> Ну под такими лозунгами можно хоть брейнфак затащить.

Конечно, только если бы он удобно покрывал все хотелки:

- нужно было ходить в базу (mariadb)
- писать в свою (sqllite3 заюзал)
- исполнять системные команды (через os.execute)
- иметь рестню (vweb покрыл потребности)
- джейсонить (json из стдлибы подошел)
- конфиги вынес в томл файлы (toml из стдлибы подошел)
- с темплейтами тоже удобно работать (embedded_file крута тема)

V это все покрыл своей стандартной библиотекой, без сторонних зависимостей


> Написал я вашему работодателю, Роман, пусть хотя бы в курсе будет на что его деньги уходят

Я тоже умею читать профили, аноним, с нетерпением жду разговоров :3

Ответить | Правка | Наверх | Cообщить модератору

209. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (59), 08-Окт-24, 18:49 
>V это все покрыл своей стандартной библиотекой, без сторонних зависимостей

Это минус языка, а не плюс. Перегружает стандартную библиотеку и замедляет развитие функционала, плюс отсутствие альтернатив.

Ответить | Правка | Наверх | Cообщить модератору

216. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (-), 09-Окт-24, 11:45 
> Это минус языка, а не плюс. Перегружает стандартную библиотеку и замедляет развитие
> функционала, плюс отсутствие альтернатив.

При том toml как конфиги - ну такое себе. Какой баклан вообще придумал что markup language - отличный выбор для конфига? Может на HTML еще конфиги запилить?

Ответить | Правка | Наверх | Cообщить модератору

210. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (59), 08-Окт-24, 19:00 
>Конечно, только если бы он удобно покрывал все хотелки:

То что вы описали решается буквально любым языком, хоть php, хоть ocaml, хоть ruby, хоть go, ...

Ответить | Правка | К родителю #202 | Наверх | Cообщить модератору

205. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Анонимище (?), 08-Окт-24, 10:04 
>обеспечивая работодателю проблемы при своём увольнении

так в этом и прикол :)

Ответить | Правка | К родителю #199 | Наверх | Cообщить модератору

48. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (49), 06-Окт-24, 02:09 
В го телеметрия включается опционально и эксплицитно. Ты это, конечно же, знаешь, но сознательно опустился до глупой манипуляции.
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

68. "Релиз языка программирования V 0.4.8"  –1 +/
Сообщение от OpenEcho (?), 06-Окт-24, 05:06 
> его корпоративного аналога, который требует интернета для репозитория и отсылки телеметрии

Даже прям так, - требует? В обоих зайцев не попал... "специалист!"

Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

91. "Релиз языка программирования V 0.4.8"  –1 +/
Сообщение от Аноним (2), 06-Окт-24, 10:54 
Петрович, успокойся. Никто у тебя go не отнимет.
Ответить | Правка | Наверх | Cообщить модератору

125. "Релиз языка программирования V 0.4.8"  +/
Сообщение от OpenEcho (?), 06-Окт-24, 17:32 
А, это ты Анонимыч, ну пасиб, успокоил, троль дальше...
Ответить | Правка | Наверх | Cообщить модератору

217. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (-), 09-Окт-24, 11:47 
> Петрович, успокойся. Никто у тебя go не отнимет.

Вот это - совсем ниоткуда не следует. Решит гугол завтра что go - все, и он таки - все. Ну а что, с пикасой, вэйвом и прочими плюсами опыта - есть, да и фуксики в процессе познания этого тао.

Ответить | Правка | К родителю #91 | Наверх | Cообщить модератору

12. "Релиз языка программирования V 0.4.8"  –1 +/
Сообщение от Аноним (12), 05-Окт-24, 19:57 
> Разрешён возврат работы функции в качестве аргумента другой функции.

вау! это новое слово в науке и технике!
что? то есть как это сейчас не 60-ые?

Ответить | Правка | Наверх | Cообщить модератору

20. "Релиз языка программирования V 0.4.8"  +1 +/
Сообщение от Ъ (?), 05-Окт-24, 21:27 
по ссылке сходи, речь о функциях возвращающих несколько значений
Ответить | Правка | Наверх | Cообщить модератору

78. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (78), 06-Окт-24, 08:40 
Не то что в языке. В MS Excel это всегда было.
Ответить | Правка | Наверх | Cообщить модератору

30. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Карлос Сношайтилис (ok), 05-Окт-24, 22:43 
Первый раз вижу этот язык и зуб не дам, но может имеется ввиду, что при вложенных функциях, результат в виде кортежа распаковывается в отдельные аргументы, а не является одним аргументом-кортежем.
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

179. "Релиз языка программирования V 0.4.8"  +1 +/
Сообщение от Андрей (??), 07-Окт-24, 08:51 
именно так и есть, по сути это фишка, которую скопировали с Go
Ответить | Правка | Наверх | Cообщить модератору

14. "Релиз языка программирования V 0.4.8"  +2 +/
Сообщение от Аноним (14), 05-Окт-24, 20:26 
Зачем ещё 1 язык программирования?
Ответить | Правка | Наверх | Cообщить модератору

27. "Релиз языка программирования V 0.4.8"  –2 +/
Сообщение от Продавец (?), 05-Окт-24, 22:39 
Потому что будущее на дворе, дружище! Ну-ка быстренько изучать! Япы которые ты знаешь позволяют отключить ГЦ? Вот и тото-же. Не стоит возиться со всяким старьем
Ответить | Правка | Наверх | Cообщить модератору

56. "Релиз языка программирования V 0.4.8"  +2 +/
Сообщение от Аноним (59), 06-Окт-24, 03:19 
А кому это реально нужно? Тот же D(better C) уже давным давно есть.
Ответить | Правка | Наверх | Cообщить модератору

98. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Продавец (?), 06-Окт-24, 12:32 
Это нужно например тем, кто прогает на D со всеми его устаревшими концептами
Ответить | Правка | Наверх | Cообщить модератору

109. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (109), 06-Окт-24, 14:56 
И какие именно там устарели?
Ответить | Правка | Наверх | Cообщить модератору

183. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Продавец (?), 07-Окт-24, 10:48 
Отсутствие всего того, что есть в V, очевидно же
Ответить | Правка | Наверх | Cообщить модератору

208. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (208), 08-Окт-24, 12:11 
И надо заранее отметить, что отсутствие в V того, что есть в D считаем также устаревшим, а если это будет добавлено, придумаем зачем это старье добавили :-D
Ответить | Правка | Наверх | Cообщить модератору

36. "Релиз языка программирования V 0.4.8"  +/
Сообщение от koplenov (ok), 05-Окт-24, 23:15 
Тут по ссылке кратко чем он отличается отдругих основных языках и что в нем сделано проще и лучше: https://vlang.io/compare
Ответить | Правка | К родителю #14 | Наверх | Cообщить модератору

144. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (144), 06-Окт-24, 19:27 
А какие отличая от Zig в идеологии? Выглядят похоже
Ответить | Правка | Наверх | Cообщить модератору

86. "Релиз языка программирования V 0.4.8"  –1 +/
Сообщение от нейм (?), 06-Окт-24, 09:46 
Чтобы тебя аишницей не заменили (быстрее, чем могут сейчас). Или индусами/ганийцами. Не знаю, что обиднее, если честно.
Ответить | Правка | К родителю #14 | Наверх | Cообщить модератору

25. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (25), 05-Окт-24, 22:09 
Звучала уже где-то история про вавилонский сервер.
Или это был "один сервер то rule them all"?..

Короче, судьба его была сложной: обвязку-таки допилили, а ядро так и не построили. Поэтому пришлось кооперироваться с хоббитом, который построил ядро, но не имел обвязки.
И это ещё когда писалось всё в основном на сях.

А теперь языков много и чё дальше будет -- неизвестно.
Едим попкорн, наблюдаем.

Ответить | Правка | Наверх | Cообщить модератору

28. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (109), 05-Окт-24, 22:41 
Как там с наследованием, уже добавили?
Ответить | Правка | Наверх | Cообщить модератору

38. "Релиз языка программирования V 0.4.8"  +/
Сообщение от koplenov (ok), 05-Окт-24, 23:20 
> Как там с наследованием, уже добавили?

Тут оно структурное как в go, подробнее по ссылке - https://docs.vlang.io/structs.html#embedded-structs

В сочетании с интерфейсами, весьма неплохая штука

Ответить | Правка | Наверх | Cообщить модератору

34. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Я (??), 05-Окт-24, 23:01 
unsafe есть? как пометить опасные участки кода? табуляция обязательна? без этого мильены мух не признают
Ответить | Правка | Наверх | Cообщить модератору

37. "Релиз языка программирования V 0.4.8"  –3 +/
Сообщение от koplenov (ok), 05-Окт-24, 23:17 
> unsafe есть? как пометить опасные участки кода?

есть, подробнее про работу с unsafe по ссылке - https://docs.vlang.io/memory-unsafe-code.html


> табуляция обязательна?

неа, не обязательно - это вам не питоны и не го

Ответить | Правка | Наверх | Cообщить модератору

71. "Релиз языка программирования V 0.4.8"  +2 +/
Сообщение от OpenEcho (?), 06-Окт-24, 05:13 
> неа, не обязательно - это вам не питоны и не го

И с каких это пор табуляция в Го стала обязательной ???

Ответить | Правка | Наверх | Cообщить модератору

100. "Релиз языка программирования V 0.4.8"  –1 +/
Сообщение от koplenov (ok), 06-Окт-24, 12:39 
Речь то шла в целом про форматирование

в Go оно строгое и перенос строки в неположенном месте = ошибка компиляции

пример с if:
скомпилируется - https://go.dev/play/p/eKwLnsRq8us
а это уже нет - https://go.dev/play/p/Go3n6maxG9g

также как и это - https://go.dev/play/p/2G_fIlIJyeo

Ответить | Правка | Наверх | Cообщить модератору

124. "Релиз языка программирования V 0.4.8"  +/
Сообщение от OpenEcho (?), 06-Окт-24, 17:28 
Товарищ, прочитайте пожалуйста ещё раз, - очень, очень внимательно:

>> табуляция обязательна?
> неа, не обязательно - это вам не питоны и не го

Где вы в слове `табуляция`(!!!) увидели "Речь то шла в целом про форматирование" ?

c := 4 +
                    4
  println(ci)

Сильно похоже на питоновское? А работает...

FYI: https://go.dev/ref/spec#Semicolons

Ответить | Правка | Наверх | Cообщить модератору

137. "Релиз языка программирования V 0.4.8"  +/
Сообщение от koplenov (ok), 06-Окт-24, 18:56 
> unsafe есть? как пометить опасные участки кода? табуляция обязательна? без этого мильены мух не признают

Хорошо, первым проявлю конструктив в разговоре

> unsafe есть?

есть

> как пометить опасные участки кода?

блоком кода unsafe {  } - подробнее по ссылке в первом ответе

Ответить | Правка | Наверх | Cообщить модератору

159. "Релиз языка программирования V 0.4.8"  –1 +/
Сообщение от OpenEcho (?), 06-Окт-24, 22:35 
Вы же сами, специфически выделили в отдельный вопрос табуляцию !

>> табуляция обязательна?
> неа, не обязательно - это вам не питоны и не го

На что и мой коммент что это не корректно то отношению к Го.
go fmt нафигячит табуляций, да, для того, чтобы у всех был одинаковый стиль и легче сопровождать, понимать чужой код, но это вообще - НЕ ОБЯЗАТЕЛЬНО, так же как и V, C, C++...

Ответить | Правка | Наверх | Cообщить модератору

40. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (40), 05-Окт-24, 23:27 
раньше компиляторов Си не требовал, а теперь...
Ответить | Правка | Наверх | Cообщить модератору

181. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Андрей (??), 07-Окт-24, 09:14 
V ? Тот самый V который с сишного бэкэнда начинался и который у них пока является основным ? В остальном он как раньше так и сейчас не требовал сишного компилятора только потому, что в сборке таскал tcc
Ответить | Правка | Наверх | Cообщить модератору

44. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (44), 05-Окт-24, 23:52 
Ты не ты если не запилишь себе собственный ЯП.
Ответить | Правка | Наверх | Cообщить модератору

46. "Релиз языка программирования V 0.4.8"  –1 +/
Сообщение от Аноним (-), 06-Окт-24, 01:59 
> Основными целями при создании V были простота изучения и использования, высокая читаемость, быстрая компиляция, повышенная безопасность, эффективная разработка, кроссплатформенное использование, улучшенное взаимодействие с языком C, лучшая обработка ошибок, отключаемый сборщик мусора (GC), современные возможности и более удобное сопровождение программ.

Простота изучения на английском языке. Дожились. В 90-е дети 1-3 классов изучали Лого на русском языке. Веб версия этого языка до сих пор существует. Вот это реально просто и понятно даже ребенку. Потом изучали как правило Паскаль, который далеко не всем был понятен, хоть и простой язык программирования. Но на сегодняшний день самый простой это JavaScript - исторически так сложилось что он явно какими-то лингвистами разрабатывался, а не инженерами. Его и Node,Bun,Dino может, его и браузер может да и некоторые микроконтроллеры могут переварить. Тогда это было не так очевидно - он был не развит. А высокая читаемость это к 1С. Быстрая компиляция это к ассемблеру. Ничего не скажу за все остальное - не знаком с языком. Тем не менее уже описание выглядит красивым набором слов для рекламы.

Ответить | Правка | Наверх | Cообщить модератору

51. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (-), 06-Окт-24, 02:18 
И я бы ещё добавил что есть Фортран - говорят хорош для математики. Есть lua - прост, стар и также как js для всего подходит из-за разнообразия дополнений, используется в геймдеве. Есть Action Script с Flash технологией для мультимедийных приложений, да и просто для рисования мультиков. Нынче господа толстосумы вложились в ИИ, т.е. нужно что-то простое для создания ИИ нынче. Такое есть? Я видел анимации некоторых компаний софта по отладке ИИ, которым они называют глубокое обучение, которое реально многослойный персептрон, который и можно визуально отлаживать - рассматривая как идёт обучение и принятие решений на 3D модели. И это все хорошо, а V - для чего?
Ответить | Правка | Наверх | Cообщить модератору

79. "Релиз языка программирования V 0.4.8"  +1 +/
Сообщение от Аноним (79), 06-Окт-24, 08:49 
Да-да, все хороши. А для всего есть C#.
Ответить | Правка | Наверх | Cообщить модератору

105. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (105), 06-Окт-24, 13:40 
>а V - для чего?

Про V написано, что он берёт лучшее, что есть в Go, Rust, Swift, Javascript, при этом лишён их недостатков. А вдруг это правда?

Ответить | Правка | К родителю #51 | Наверх | Cообщить модератору

108. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (-), 06-Окт-24, 14:23 
Зашел на https://vlang.io/ посмотрел и понял что это утверждение не правда. От Javascript он лучшее не взял это уж точно. От Go тоже не похоже. Насчёт других языков - не в курсе.
Ответить | Правка | Наверх | Cообщить модератору

129. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (59), 06-Окт-24, 17:51 
>А вдруг это правда?

Неправда. Автор вводит людей в заблуждение. Например, автор утверждает, что у него нет нулевых укаазателей, но у него есть не только нулевые указатели, у него любая переменная может быть null
fn main() {
    x := []&int { len: 10, cap: 0 }
    println(x[4])
}

&nil

Ответить | Правка | К родителю #105 | Наверх | Cообщить модератору

53. "Релиз языка программирования V 0.4.8"  +3 +/
Сообщение от Alladin (?), 06-Окт-24, 02:59 
"V удалось запустить на Windows XP."
действительно киллер фича
Ответить | Правка | Наверх | Cообщить модератору

82. "Релиз языка программирования V 0.4.8"  –1 +/
Сообщение от Аноним (82), 06-Окт-24, 09:16 
Луддиты новомодные япы не юзают, так что на xp эта хрень никому нужна не будет, там небось на c99 до сих пор пограммируют.
Ответить | Правка | Наверх | Cообщить модератору

104. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (105), 06-Окт-24, 13:33 
Free Pascal / Lazarus до самых последних версий отлично работают в Windows XP, сам проверял.
Ответить | Правка | Наверх | Cообщить модератору

101. "Релиз языка программирования V 0.4.8"  +1 +/
Сообщение от koplenov (ok), 06-Окт-24, 12:43 
Смотря как посмотреть
Тут я бы отметил что V подходит под описание "просто работает"

Python последних версий не поддерживается
Nodejs последних версий не поддерживается
Go последних версий не поддерживается
список можно продолжать

Посмотрим как ситуация будет развиваться дальше

Ответить | Правка | К родителю #53 | Наверх | Cообщить модератору

134. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (59), 06-Окт-24, 18:24 
>Go последних версий не поддерживается
>список можно продолжать

А зачем вам Go последней версии на XP? И почему на XP, а не скажем ME или 95?

Ответить | Правка | Наверх | Cообщить модератору

139. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (151), 06-Окт-24, 19:04 
XP до сих пор используется, а у ME и 95 нет поддержки SATA,
Ответить | Правка | Наверх | Cообщить модератору

146. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (59), 06-Окт-24, 19:37 
Я видел системы, которые, судя по внешнему виду ещё в досбоксе работают. Так что вопрос по прежнему открыт, зачем нужен современный go в давным давно устаревшей XP
Ответить | Правка | Наверх | Cообщить модератору

150. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (151), 06-Окт-24, 20:42 
XP ещё кому-то нужна (у родственников на старом компьютере, драйверы для старого мфу только для XP), а вот Go определённо никому не нужен
Ответить | Правка | Наверх | Cообщить модератору

173. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (59), 07-Окт-24, 00:19 
Допустим, кто-то до сих пор использует XP. Зачем ему запускать на ней новый софт, безразлично на каком языке? Там же проблемы будут буквально повсюду, вплоть до того, что нужно будет самостоятельно устанавливать новые сертификаты или ограничения в версии directx. И чем дальше, тем проблем будет больше.
Ответить | Правка | Наверх | Cообщить модератору

54. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (54), 06-Окт-24, 03:07 
отступы в пять символов - это откуда позаимствовано?
Ответить | Правка | Наверх | Cообщить модератору

83. "Релиз языка программирования V 0.4.8"  +1 +/
Сообщение от Карлос Сношайтилис (ok), 06-Окт-24, 09:27 
My lang, my rules!

(надпись у автора на тачке)

Ответить | Правка | Наверх | Cообщить модератору

236. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Вова (?), 22-Окт-24, 23:00 
Очевидно же, фортранист покусал :)
Ответить | Правка | К родителю #54 | Наверх | Cообщить модератору

55. "Релиз языка программирования V 0.4.8"  +2 +/
Сообщение от Аноним (59), 06-Окт-24, 03:15 
>V 0.4.8

До стабилизации версии нужно будет переписывать под каждую новую версию компилятора.
>простота изучения и использования

Взаимоисключающие пункты
>повышенная безопасность

Каким образом?
>лучшая обработка ошибок

Чем лучше хаскеля/окамла/раста?
>отключаемый сборщик мусора (GC)

Это минус языка, а не плюс. При написании кода изначально надо знать, как будет управление памятью, как минимум для библиотек, так как иначе память будет течь/код просто не соберётся/порча памяти. Кроме того, уже есть D(better C).
>высокая читаемость
>эффективная разработка
>современные возможности и более удобное сопровождение программ.

Рекламные лозунги, а не реальные возможности
>Разрешён возврат работы функции в качестве аргумента другой функции.

Кортежи не изобретены.
>Исправлена работа дженериков в лямбда выражениях.

Ужас.
>V удалось запустить на Windows XP.

Невероятно важное достижение(нет)

Осуждаю появление очередного языка, без сопутствующей теоретической базы. Есть реально хорошие языки семейства ML, например Ocaml, но нет, продолжают клепать очередной си-подобный язык, без какого-то намёка на прогресс, словно на дворе девяностые.

Ответить | Правка | Наверх | Cообщить модератору

92. "Релиз языка программирования V 0.4.8"  +1 +/
Сообщение от Аноним (2), 06-Окт-24, 10:58 
Ты душный. На часть вопросов есть ответы в самой новости, кстати.
Ocaml нужен 1,5 человекам. Не удивлюсь, если V обгонит его по частоте использования, если уже не обогнал.
Ответить | Правка | Наверх | Cообщить модератору

107. "Релиз языка программирования V 0.4.8"  +/
Сообщение от BeLord (ok), 06-Окт-24, 14:12 
Твой Ocaml позволит получить на выходе бинарник оптимизированный под конкретный процессор,а не под что-то среднее по больнице?-)
Ответить | Правка | К родителю #55 | Наверх | Cообщить модератору

131. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (59), 06-Окт-24, 18:11 
Не интересовался. Думаю с помощью флага -output-obj можно добится данного эффекта
Ответить | Правка | Наверх | Cообщить модератору

58. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (59), 06-Окт-24, 03:27 
https://mawfig.github.io/2022/06/18/v-lang-in-2022.html
Ответить | Правка | Наверх | Cообщить модератору

61. "Релиз языка программирования V 0.4.8"  –1 +/
Сообщение от koplenov (ok), 06-Окт-24, 03:38 
Отличная была статья! А теперь можете првоерить актуальность всего написанного? :3

Два года как никак прошло, подавляющее колличество проблем из таких статей разобрали на ишью и пофиксили

Ответить | Правка | Наверх | Cообщить модератору

64. "Релиз языка программирования V 0.4.8"  +4 +/
Сообщение от Аноним (59), 06-Окт-24, 04:11 
>Два года как никак прошло, подавляющее колличество проблем из таких статей разобрали на ишью и пофиксили

Не исправили, а поставили заглушки на конкретные проблемы. Допустим, автор утверждает, что в языке нет null
https://vlang.io/compare
>No null (null is only allowed in unsafe code)

Далее, берём вот такой код, и пытаемся его собрать
struct Node {
    val   int
    left  &Node
    right &Node
}

fn main() {
    n := Node { 123, 0, 0 }
    println(*n.left)
}
Код прекрасно собирается, и падает во время выполнения. То есть, автор солгал, говоря что в его языке нет null, он есть.

Ответить | Правка | Наверх | Cообщить модератору

77. "Релиз языка программирования V 0.4.8"  –1 +/
Сообщение от Аноним (77), 06-Окт-24, 08:23 
Там же написано, есть для unsafe кода. Left и right помести в unsafe.
Ответить | Правка | Наверх | Cообщить модератору

84. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Карлос Сношайтилис (ok), 06-Окт-24, 09:32 
> Там же написано, есть для unsafe кода. Left и right помести в
> unsafe.

Эм, оригинальное понимание.

Unsafe нужен на этапе ревью и компиляции, чтобы не допустить сборку кривого кода, который выглядит безопасно.

А когда оно в рантайме упало – уже не нужно, и так понятно, где облажались.

Ответить | Правка | Наверх | Cообщить модератору

126. "Релиз языка программирования V 0.4.8"  +1 +/
Сообщение от Аноним (59), 06-Окт-24, 17:36 
>Left и right помести в unsafe.

Вот когда будет ошибка компиляции, тогда и поговорим. Сейчас же это самые настоящие нулевые указатели, прямо как в go и возможно даже как в си. То есть автор лжёт, утверждая, что у него нет нулевых указателей.

Ответить | Правка | К родителю #77 | Наверх | Cообщить модератору

106. "Релиз языка программирования V 0.4.8"  +1 +/
Сообщение от Аноним (105), 06-Окт-24, 13:51 
>Код прекрасно собирается, и падает во время выполнения.

А как должно быть? Мне кажется, отсутствие null и недопущение неинициализированных переменных/полей структуры - это разные вещи.

Ответить | Правка | К родителю #64 | Наверх | Cообщить модератору

127. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (59), 06-Окт-24, 17:45 
>А как должно быть?

Посмотри на Ocaml/Haskell/Rust/Purescript/... В сиподобных языках есть null, который как вирус может просочится откуда угодно куда угодно.
int * a = null;
В этих языках null отсутствует, в место него есть None. И None можно поместить не куда угодно, а только в специально помеченные переменные. Если у вас
val a : int
то None туда никак не просочится. Если у вас
val a : int option
то у вас там может быть None, а может быть число. И если вы захотите что-то с ним сделать, например сложить, то не сможите просто написать
a + 1
Вместо этого нужно будет проверить, что всё на месте
match a with
| Some a -> a + 1
| None -> 1
Можно будет написать
(Option.value_exn a) + 1
В этом случае, программист явно говорит упасть с исключением. Таким образом, программа не упадёт внезапно с null pointer exception, поскольку компилятор следит, чтобы программист указал явно.
>Мне кажется, отсутствие null и недопущение неинициализированных переменных/полей структуры - это разные вещи.

В примере выше поля инициализируются нулевыми указателями

Ответить | Правка | Наверх | Cообщить модератору

145. "Релиз языка программирования V 0.4.8"  +/
Сообщение от koplenov (ok), 06-Окт-24, 19:28 
код:
```
struct Node {
    val   int
    left  &Node
    right &Node
}

fn main() {
    n := Node { 123, 0, 0 }
    println(*n.left)
}
```

при сборке дает ворнинг:
```
PS C:\Users\koplenov\AppData\Roaming\JetBrains\IdeaIC2024.1\scratches> v .\scratch_4.v
scratch_4.v:8:19: notice: assigning `0` to a reference field is only allowed in `unsafe` blocks
    6 |
    7 | fn main() {
    8 |     n := Node { 123, 0, 0 }
      |                      ^
    9 |     println(*n.left)
   10 | }

```


это один из самых любимых аргументов для напастей других на язык

чуть позже оно будет сыпать ошибкой и при прод сборке будет падать на таком коде

Ответить | Правка | К родителю #64 | Наверх | Cообщить модератору

147. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (59), 06-Окт-24, 19:48 
>при сборке дает ворнинг:

И? В языке есть указатели типа сишных. За несколько лет их немного облагородили, и теперь приложение уже не разваливается на части с ошибкой сегментации, по крайней мере в простых случаях, а притворяется языком типа go с ошибкой времени выполнения.
>это один из самых любимых аргументов для напастей других на язык

В 1984 появился Standard ML, в котором уже был тип option. До SML были предшественники, типа ML или Hope. Сколько там лет прошло, сорок? Почему в 2024 году язык с таким поведением вообще в серьёз рассматривают?
>при сборке дает ворнинг:

И как предупреждение превратит указатель в ссылку?
>чуть позже оно будет сыпать ошибкой

С поломкой текущего кода? Почему изначально нельзя было сделать по нормальному?

Ответить | Правка | Наверх | Cообщить модератору

174. "Релиз языка программирования V 0.4.8"  +/
Сообщение от koplenov (ok), 07-Окт-24, 02:04 
поправлено только что - https://github.com/vlang/v/commit/2b52153c1477bb782645f6c50c...

теперь подобный код не соберется

```
PS C:\Users\koplenov\AppData\Roaming\JetBrains\IdeaIC2024.1\scratches> v -prod .\scratch_4.v
scratch_4.v:8:19: error: assigning `0` to a reference field is only allowed in `unsafe` blocks
    6 |
    7 | fn main() {
    8 |     n := Node { 123, 0, 0 }
      |                      ^
    9 |     println(*n.left)
   10 | }

```

Обновить V можно командой: v up
Он сам себя спулит и локально пересоберет
```
PS C:\Users\koplenov\AppData\Roaming\JetBrains\IdeaIC2024.1\scratches> v up
> Updating V...
> git_command: git pull https://github.com/vlang/v master
> backing up `cmd/tools/vup.exe` to `cmd/tools/vup.exe_old.exe` ...
> V self compiling ...
> V built successfully as executable "v.exe".
> Done recompiling.
> Recompiling vup.v ...
> Current V version: V 0.4.8 9c2a753, timestamp: 2024-10-07 01:56:42 +0300

```


> С поломкой текущего кода?

обычно мы ходим по публичным репам и вносим фикс если это что-то критичное
в остальном vfmt сам поправляет код

но, как вы и сказали, такое и не должно было компилироваться


> Почему изначально нельзя было сделать по нормальному?

полагаю, потому что на то не было запроса, и дальше чем байтерских статей это не уходило

Ответить | Правка | Наверх | Cообщить модератору

188. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (59), 07-Окт-24, 11:51 
>поправлено только что

Сначала сделали сборник багов, а потом начали затыкать дырки пальцами. Это какая уже по счёту проблема с памятью?
>полагаю, потому что на то не было запроса, и дальше чем байтерских статей это не уходило

Такие проблемы обнаруживаются сразу же, ещё до написания компилятора, если взять любую статью посвящённую си/плюсам, с разбором того, как делать не надо.

Ответить | Правка | Наверх | Cообщить модератору

154. "Релиз языка программирования V 0.4.8"  +1 +/
Сообщение от Аноним (-), 06-Окт-24, 21:58 
> это один из самых любимых аргументов для напастей других на язык
> чуть позже оно будет сыпать ошибкой и при прод сборке будет падать на таком коде

Хех, хочешь я добавлю ещё один аргумент? Код, приведённый выше, должен падать в любой сборке, и не когда-нибудь потом, а начиная с версии 0.0.1, потому что там грубейшая ошибка типизации: в указатель засовывается integer.

Если он не падает, я делаю вывод, что у вас типизация так же необязательна, как и в C? И кому нужен такой язык?

Ответить | Правка | К родителю #145 | Наверх | Cообщить модератору

60. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (59), 06-Окт-24, 03:35 
>Проект также развивает свою графическую библиотеку и пакетный менеджер.

Уже изобретён пакетный менеджер Nix, сомневаюсь, что у них получится лучше.

Ответить | Правка | Наверх | Cообщить модератору

80. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (79), 06-Окт-24, 08:49 
Ну так его и перепишут.
Ответить | Правка | Наверх | Cообщить модератору

62. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (59), 06-Окт-24, 03:42 
Хотел найти статью, в которой читал про то, что в v отсутствует нормальное управление памятью, не нашёл, зато на гитхабе большое количество багов с утечкой памяти https://github.com/vlang/v/issues?q=is%3Aissue+memory+leak
Ответить | Правка | Наверх | Cообщить модератору

63. "Релиз языка программирования V 0.4.8"  +/
Сообщение от koplenov (ok), 06-Окт-24, 03:52 
> Хотел найти статью, в которой читал про то, что в v отсутствует
> нормальное управление памятью, не нашёл, зато на гитхабе большое количество багов
> с утечкой памяти https://github.com/vlang/v/issues?q=is%3Aissue+memory+leak

*исправленных в том числе
70 closed
18 open

неплохо же

выявляют баги и правят их

Ответить | Правка | Наверх | Cообщить модератору

65. "Релиз языка программирования V 0.4.8"  +1 +/
Сообщение от Аноним (59), 06-Окт-24, 04:15 
>*исправленных в том числе

Для языка, который несколько энтузиастов собрали и запустили - это много.

Ответить | Правка | Наверх | Cообщить модератору

66. "Релиз языка программирования V 0.4.8"  +1 +/
Сообщение от Аноним (66), 06-Окт-24, 05:03 
Он всё ещё "компилирует" в Си, как Nim?
Ответить | Правка | Наверх | Cообщить модератору

81. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (79), 06-Окт-24, 08:50 
Это главная фича, иначе не был бы быстр.
Ответить | Правка | Наверх | Cообщить модератору

90. "Релиз языка программирования V 0.4.8"  –1 +/
Сообщение от Hck3r (?), 06-Окт-24, 10:48 
Это не фича, а просто более простой способ сделать более менее быструю работу.
Правда сильно быстрым от этого он не становится как раз
Ответить | Правка | Наверх | Cообщить модератору

112. "Релиз языка программирования V 0.4.8"  –1 +/
Сообщение от Вы забыли заполнить поле Name (?), 06-Окт-24, 15:11 
Что по отладке? Предлагается отлаживать сгенерированный си код?
Ответить | Правка | К родителю #81 | Наверх | Cообщить модератору

130. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Алексей (??), 06-Окт-24, 18:05 
По отладке все печально. Дебагер в наличии но для платной версии IDEA (по крайней мере недавно было так). В платная есть не у всех.
Ответить | Правка | Наверх | Cообщить модератору

160. "Релиз языка программирования V 0.4.8"  –2 +/
Сообщение от Вы забыли заполнить поле Name (?), 06-Окт-24, 22:36 
> но для платной версии IDEA

В Языке для этого нет средств из коробки?

Ответить | Правка | Наверх | Cообщить модератору

172. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Алексей (??), 06-Окт-24, 23:33 
Из коробки нельзя. Нужно настраивать. В принципе разобраться можно. Тем более что примеры есть. На рутубе есть видосы как VS Code настроить.
Ответить | Правка | Наверх | Cообщить модератору

197. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Вы забыли заполнить поле Name (?), 07-Окт-24, 17:00 
> Из коробки нельзя. Нужно настраивать. В принципе разобраться можно. Тем более что
> примеры есть. На рутубе есть видосы как VS Code настроить.

Это какой-то позор если так.

Ответить | Правка | Наверх | Cообщить модератору

87. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (-), 06-Окт-24, 10:02 
Это между прочим неплохой вариант, особенно если x86_64, arm, risc-v и т.д., поддерживаемые си, не основная архитектура.
Ответить | Правка | К родителю #66 | Наверх | Cообщить модератору

111. "Релиз языка программирования V 0.4.8"  –1 +/
Сообщение от Вы забыли заполнить поле Name (?), 06-Окт-24, 15:04 
> Проект также развивает свой пакетный менеджер.

Это грабли. Как пакетный менеджер будет работать с системными зависимостями? Уже есть nix и guix. Со вторым также можно сделать бутстрапинг своего компилятора.

Ответить | Правка | Наверх | Cообщить модератору

118. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (93), 06-Окт-24, 16:05 
Примерно так же, как pip, cargo, conan, cabal, go get, cpan, npm.

Никаких системных зависимостей давно нет, из Линукса сделали windows.

Ответить | Правка | Наверх | Cообщить модератору

123. "Релиз языка программирования V 0.4.8"  –3 +/
Сообщение от Вы забыли заполнить поле Name (?), 06-Окт-24, 17:22 
> Примерно так же, как pip, cargo, conan, cabal, go get, cpan, npm.

Именно. Для nix и guix есть конвертеры из этих форматов. Зачем еще один, если можно сразу использовать готовый.

> Никаких системных зависимостей давно нет, из Линукса сделали windows.

Они есть, только перечисленные выше пакетные менеджеры их устанавливать не умеют. Эта задача перекладывается на пользователя. С nix или guix таких проблем нет.

Ответить | Правка | Наверх | Cообщить модератору

120. "Релиз языка программирования V 0.4.8"  +/
Сообщение от YetAnotherOnanym (ok), 06-Окт-24, 16:25 
> отключаемый сборщик мусора (GC)

Плохо, штоль? Хорошо!

Ответить | Правка | Наверх | Cообщить модератору

143. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (151), 06-Окт-24, 19:20 
А вдруг случайно отключишь и не заметишь?
Ответить | Правка | Наверх | Cообщить модератору

234. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (234), 14-Окт-24, 10:45 
Таки, если программа будет работать некоторое время, то начнёшь замечать ;)
Ответить | Правка | Наверх | Cообщить модератору

128. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (59), 06-Окт-24, 17:48 
fn main() {
    x := []&int { len: 10, cap: 0 }
    println(x[4])
}
Выведет
&nil
Таким образом, в языке не то что присутствуют null pointer, так там вообще в абсолютно любой переменной может лежать null, с вытекающими последствиями
Ответить | Правка | Наверх | Cообщить модератору

142. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (151), 06-Окт-24, 19:18 
А это и есть "улучшенное взаимодействие с языком C,"
Ответить | Правка | Наверх | Cообщить модератору

132. "Релиз языка программирования V 0.4.8"  +1 +/
Сообщение от Аноним (59), 06-Окт-24, 18:14 
>Создан русскоязычный чат по языку V в Telegram.

Это в той самой площадке, где нужно регистрироваться по номеру телефона? А что не вконтакте тогда?

Ответить | Правка | Наверх | Cообщить модератору

148. "Релиз языка программирования V 0.4.8"  +1 +/
Сообщение от Аноним (148), 06-Окт-24, 20:02 
Говорят секурный. У меня родной человек говорит что другие мессенджеры плохие - у них сообщения не сохраняются когда поменял телефон, контакты теряются. А вот в телеграмме все сохраняется! И сообщения, и контакты! Сразу все подгрузилось! А ещё его разработал человек мира! За свободу так рассказывал! Так рассказывал! Аж во Францию полетел и все там выложил. Секурный говорят мессенджер.
Ответить | Правка | Наверх | Cообщить модератору

232. "Релиз языка программирования V 0.4.8"  +1 +/
Сообщение от Аноним (232), 12-Окт-24, 05:29 
Оставил пару комментариев здравого смысла в телеграмме местных новостей родного города в Украине, так сразу на следующий день полиция возле дома ходила, кого-то искала. У нас она не часто на самом деле - дороги плохие чтобы доехать. Может конечно совпадение, но мне слабо верится что оно. Пришлось телегу удалить. А вообще у нас socksv4 как-то научились перехватывать tor-сети. Смотрю - айпи меняется, а вот некоторые сайты заблокированы. С socksv5 вроде бы всё нормально, хотя из-за кеширования сложно было проверить что это именно оно.
Ответить | Правка | К родителю #132 | Наверх | Cообщить модератору

156. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (-), 06-Окт-24, 22:11 
А кто этот V вообще создал и поддерживает что такой холливар? Я даже и не ожидал что у него хоть какое-то есть сообщество. Сказку про Вавилонскую башню в детстве не читали что-ли? Мне лично не ясно что это и зачем оно нужно? Может хоть создают и поддерживают его где надо?
Ответить | Правка | Наверх | Cообщить модератору

166. "Релиз языка программирования V 0.4.8"  –3 +/
Сообщение от Аноним (168), 06-Окт-24, 23:23 
На данный момент единственный нормальный язык.
Ответить | Правка | Наверх | Cообщить модератору

175. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (-), 07-Окт-24, 02:39 
Вообще странный язык. Я не нашёл ни доков, ни туториалов (может плохо искал?), но так навскидку глядя на примеры, совершенно непонятно о чём автор думал, когда придумывал синтаксис. Я лично прихожу к выводу, что он придумывал его таким, чтобы он был бы не таким как у всех, и что других соображений, которые могли бы определять каким должен быть синтаксис у него не было.

Например, декларация функции вида

fn foo(arg1, arg2) ret_type {}

Вроде всё ок, но как-то сложилось в такой ситуации писать -> перед ret_type. Зачем его не писать? Может автор хотел символы сэкономить? Возможно в этом есть логика, но дальше мы видим, что присваивание пишется как :=, то есть автор вроде хотел символы экономить, а потом расхотел. Если мы предполагаем, что автор всё ж логически консистентен, то надо делать вывод, что экономия символов не приходила ему в голову. Но тогда вопрос зачем делать не так, как принято, остаётся без ответа.

В декларации переменных, в сравнении с C переставлены местами имя типа и имя переменной, но опять же экономия на ":". То же самое: зачем делать не так, как принято?

При этом, при декларации мутабельной переменной используется ключевое слово mut в начале, а при декларации константной, внезапно, никакого ключевого слова не используется (опять экономия на символах?), в результате чего язык подкладывает программисту грабли, по которым только самые идиотские языки типа js решались ходить: мои локальные константные переменные могут нечаянно совпасть именами с переменными из внешней области видимости.

Разглядывая всё это, и пытаясь разгадать принципы заложенные в основу проектирования синтаксиса, я не могу отделаться от ощущения, что единственным принципом было "не так как у всех". Но это самый плохой принцип из всех, потому что то что у всех, всё ж продумано, и если лень думать, то дефолтным принципом должно быть "так как у всех".

Скажем, с теми же декларациями переменных: есть бонус начинать любой стейтмент с ключевого слова, это резко упрощает парсер. Что для компилятора может быть не очень важно, но это важно для возможности по быстрому на коленке вытачивать тулзы для работы с сорцами. Вот какой-нибудь C++ распарсить -- это ой, даже если я просто хочу выдрать оттуда все заголовки функций, и мне не нужен полный парсер, то это ой. В то же время в паскале или в расте это делается легко и непринуждённо. В V это тоже делается легко, насколько я вижу, но если я хочу что-то поинтереснее? Посчитать размер стекового фрейма функции? О, а вот тут вот я буду вынужден писать парсер, который сможет отличить присвоение переменной от декларации переменной.

На фоне всего этого, довольно занятно разглядывать всё то, что там автор выпилил на своём языке. Безыдейный язык не имеет шансов взлететь. И нет, я могу понять выпиливание собственного языка, с тем чтобы что-нибудь на нём написать и повесить на стенку. Но столько времени вбухивать... Лучше б пошёл почитал что-нибудь про проектирование языков. Я не могу ничего конкретного посоветовать, я лишь поверхностно интересовался, и читал лишь "научпоп" типа там Crafting Interpreters. Но вообще это область, в которой люди PhD защищают, например, теория типов оттуда.

Сначала теория и понимание того, почему существующие языки такие, какие они есть, и только затем проектирование новых прорывных языков. Только так, всё остальное это инженерное фричество.

Ответить | Правка | Наверх | Cообщить модератору

184. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Продавец (?), 07-Окт-24, 10:52 
Что-то маловато аргументации
Ответить | Правка | Наверх | Cообщить модератору

192. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (-), 07-Окт-24, 14:46 
Я не видел документации, откуда я возьму аргументацию?
Ответить | Правка | Наверх | Cообщить модератору

189. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (59), 07-Окт-24, 12:47 
>есть бонус начинать любой стейтмент с ключевого слова, это резко упрощает парсер

Далеко не все парсеры пишутся вручную

Ответить | Правка | К родителю #175 | Наверх | Cообщить модератору

193. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (-), 07-Окт-24, 15:06 
Какая разница, как пишется парсер? Если каждый стейтмент начинается с ключевого слова, то это резко упрощает парсер, в том числе и написанный не вручную. Чем раньше парсер может принять решение о том, что именно он парсит, тем проще парсер.

Но если у тебя стейтменты начинаются с ключевого слова, ты даже регекспами можешь очень немалого достичь.

И это важно. Попробуй написать программу, которая что-нибудь осмысленное делает с C++ сорцами, продираясь через проблемы типа:

int my_fn(int arg);

и

MyClass my_var(arg);

Когда парсер дошёл до '(', он не знает, что дальше будет, то ли список элементов вида type_name ident, то ли список expression'ов. То есть, парсер должен быть готов распарсить и то, и это, чтобы потом задним числом понять, что же он такое распарсил, и принять решение был ли весь стейтмент декларацией функции или дефиницией переменной. Если же в начале первого стейтмента стояло бы fn, а в начале второго let, то вместо безумно сложного парсера, у тебя было бы два субпарсера, каждый из которых может парсить только один стейтмент, и глядя на ключевое слово ты бы решал, какому из них доверить парсинг данного стейтмента.

Ответить | Правка | Наверх | Cообщить модератору

195. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (59), 07-Окт-24, 16:19 
>Какая разница, как пишется парсер?

Большая. От этого зависит и произодительность, и сложность обрабатываемых конструкций и так далее. Например ll парсеры не очень дружат с форматами типа xml, кода до последнего непонято, это открывающий тег и самозакрывающий.
>Если каждый стейтмент начинается с ключевого слова

Это разве что первые бейсики с их 10 LET A = 10
>ты даже регекспами можешь очень немалого достичь

Регулярками можно парсить разве что от отчаяния. Например, регулярка будет воспринимать строку как код.
>Если же в начале первого стейтмента стояло бы fn, а в начале второго let, то вместо безумно сложного парсера, у тебя было бы два субпарсера

Это важно только если вы парсер от начала и до конца пишите вручную. Генераторы парсеров всегда выглядят примерно как вы описываете.

Ответить | Правка | Наверх | Cообщить модератору

203. "Релиз языка программирования V 0.4.8"  –1 +/
Сообщение от Аноним (-), 07-Окт-24, 22:40 
О, да ты знаток, я посмотрю? Википедию читал про парсеры и хочешь похвастаться обширностью своих познаний в теории компиляторов?

Ты можешь продолжать, а я пока отвечу на пару моментов

> Это разве что первые бейсики с их 10 LET A = 10

Не совсем. Если ты заглянешь в тот же rust, то там без ключевых слов стейтменты присвоения, и отдельно стоящие выражения которые ради побочных эффектов стоят. Это вроде и отход от упёртого следования принципу, но он а) оправданный подход, который реально экономит место на экране; б) парсеру это не сильно осложняет жизнь, потому что он может увидев стейтмент без ключевого слова, просто парсить выражение с возможностью использования значков =, +=, и тп в нём. И условная грамматика для такого это expr ~ ('=' ~ expr)?

Но _всё_ остальное -- это стейтменты начинающиеся с ключевого слова, которое определяет тип стейтмента.

> Регулярками можно парсить разве что от отчаяния. Например, регулярка будет воспринимать строку как код.

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

> Это важно только если вы парсер от начала и до конца пишите вручную. Генераторы парсеров всегда выглядят примерно как вы описываете.

Когда закончишь демонстрировать свои обширные познания, я рекомендую от теории перейти к практике, и посмотреть, как контекстная зависимость влияет на количество проблем при создании парсеров. Возьми и попробуй написать парсер C и парсер Pascal, они примерно одинаковые языки по возможностям, но с разными синтаксисами. При этом они достаточно простые, чтобы взяв какой-нибудь генератор парсеров за пару вечеров создать парсер. С паскалем наверное и за вечер можно управиться, даже если не подглядывать в BNF, которым Вирт описывал паскаль. Но ты обязательно попробуй самостоятельно создать парсер, потому что теория без практики -- пустая трата времени. У тебя скорее всего не получится ни за вечер, ни за пять вечеров, но если ты добьёшь до конца эту задачу, то после этого ты сможешь не только теорией из википедии блистать, но будешь реально представлять во что эта теория выливается в реальности.

Ответить | Правка | Наверх | Cообщить модератору

211. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (59), 08-Окт-24, 20:02 
>>>Если каждый стейтмент начинается с ключевого слова
>>Это разве что первые бейсики с их 10 LET A = 10
>Но _всё_ остальное

А ловко вы в воздухе переобуваетесь.
>Регулярками можно парсить резко и быстро, создавая эти регулярки по ходу дела в текстовом редакторе, и интерактивно применять замены по регуляркам

Сам так делаю, но справедливости ради, это можно делать только в очень ограниченом объёме, и самое главное - визуально отслеживая результат. Если вы регулярно парсите какой-то язык, то самое время найти/написать парсер
>Но ты обязательно попробуй самостоятельно создать парсер, потому что теория без практики -- пустая трата времени

Мне вот интересно, что это у вас за практика такая, что вы не можите различить идут ли два идентификатора подряд или только один.

Ответить | Правка | Наверх | Cообщить модератору

212. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (-), 09-Окт-24, 02:18 
> А ловко вы в воздухе переобуваетесь.

Не надо к словам докапываться, попробуй усвоить суть за словами, которую я тебе втолковать пытаюсь.

> Если вы регулярно парсите какой-то язык, то самое время найти/написать парсер

Ну это смотря зачем. Если у меня скрипт регулярками справляется, то зачем я буду писать парсер?

> справедливости ради, это можно делать только в очень ограниченом объёме, и самое главное - визуально отслеживая результат.

Это, я думаю, потому что слаще редьки не едал ничего. Попробуй поработать с синтаксисом, который сочинялся с мыслью о том, чтобы парсер был бы попроще. Если попытаться написать ctags для паскаля, то его легко можно уложить в экран bash скрипта, который grep'ом найдёт все декларации, и соберёт из них CTAGS файл. Но для C нужен аж целый отдельный бинарь.

Не, на bash может такое писать не самая удачная идея, лучше всё равно взять python или perl, и если по-хорошему в экран оно наверное не влезет, с обработкой опций командной строки, но я к тому, что это C действительно парсить регулярками -- так себе идея, и почему? Потому что контекстная зависимость. Но если тебе хочется увидеть как можно сделать ещё хуже, то загляни в C++.

> Мне вот интересно, что это у вас за практика такая, что вы не можите различить идут ли два идентификатора подряд или только один.

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

Ответить | Правка | Наверх | Cообщить модератору

221. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (59), 09-Окт-24, 16:43 
>Не надо к словам докапываться, попробуй усвоить суть за словами, которую я тебе втолковать пытаюсь.

Суть всегда заключается в словах. И если вы не в состоянии внятно выразить свои мысли, то не перекладывайте задачу на меня, угадать что именно вы имеете в виду. А теперь давайте посчитаем, что может быть без ключевого слова в расте - выражения. А что такое выражение? Присваивание, вызов, макросы(не писал на расте, не могу сказать насколько макросы близки к обычным выражениям и заменяемы), бинарные/унарные операторы, литералы. Тут разве что литералы можно распознать сразу, все остальные конструкции после как минимум одного нетерминала. Даже если парсить в лоб с помощью парсер комбинаторов, можно написать код так, чтобы откат был не к началу выражения, а к первому отличающемуся токену.
>Ну это смотря зачем. Если у меня скрипт регулярками справляется, то зачем я буду писать парсер?

Если это ваш собственный локальный скрипт, то хорошо. А вот если это код будет запускаться у посторонних людей, то они могут долго не понимать, почему синтаксически корректный код не работает.
>Не, на bash может такое писать не самая удачная идея, лучше всё равно взять python или perl, и если по-хорошему в экран оно наверное не влезет, с обработкой опций командной строки, но я к тому, что это C действительно парсить регулярками -- так себе идея, и почему? Потому что контекстная зависимость.

Контекст он всегда есть. Даю вам первую подсказку: на паскале написан простенький кодогенератор, где исполняемый код чередуется с литералами, в которых синтаксически корректный код. И как вы собираетесь регулярками отличать объявление на верхнем уровне, от объявления внутри строки? А если взять язык, допускающий интерполяцию в своих строках полноценных выражений? Когда у вас внутри строки будет выражение, внутри которого рекурсивно будет ещё несколько строк?
>Я предложил уже тебе практическое упражнение, которое это твоё любопытство удовлетворить

У меня уже есть опыт написания парсеров. И с указанными вами трудностями я не встречался ни разу. Вот с конфликтами сдвига/слияния я встречался. С тем, что в языке куча синтаксического сахара, и все эти варианты нужно описать, иначе парсер не будет обрабатывать валидные файлы я тоже встречался.

Ответить | Правка | Наверх | Cообщить модератору

222. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (-), 10-Окт-24, 02:11 
> Суть всегда заключается в словах.

Нет, слова лишь коммуницируют состояния ума, и коммуникация заключается в манипуляции состоянием ума принимающей стороны, с тем чтобы синхронизировать состояния. Если ты присмотришься повнимательнее, то это работает не только при коммуникации людей, но и при коммуникации устройств.

> не перекладывайте задачу на меня, угадать что именно вы имеете в виду

Вот не надо тут мне указывать, что мне делать, а что не делать. Я буду перекладывать, во-первых, потому что без кооперации с твоей стороны, успеха коммуникации не будет, во-вторых, я не собираюсь тут писать тысячи слов. Но если тебе нужна подсказка, то вспомни вузовский курс философии, и конкретно древних греков, с их идеальным и реальным. Раст реален, а абстрактные требования типа "все стейтменты начинаются с ключевого слова" -- это описание идеального положения дел. Перечитывая диалоги Сократа, подумай вот над какими вопросами: почему идеальное всегда отличается от реального? Зачем вообще это идеальное нужно, если оно существует только в воображении? И, наконец, как идеальное может позитивно влиять на коммуникацию, сокращая тысячи слов сообщения до двух десятков?

И если такие проблемы с различением идеального и реального, то я настоятельно рекомендую эти проблемы одолеть. В инженерной деятельности очень много идеального и реального, и работая и с тем и с этим надо всегда держать в уме их ограничения. Ну или хотя бы в любой момент отдавать себе отчёт, работаешь ли ты в данный момент времени с идеальным или с реальным.

Ответить | Правка | Наверх | Cообщить модератору

226. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (59), 10-Окт-24, 14:30 
>то вспомни вузовский курс философии

Перевод стрелок продолжается, теперь ещё и на философию.
>почему идеальное всегда отличается от реального

Про первые версии бейсиков я уже упоминал. Давайте ассемблер вспомним, там и присваивание начинается с ключевого слова. Давайте лисп вспомним, где весь код предствален в виде sexp. Там тоже по первому атому можно понять что за выражение.
>И если такие проблемы с различением идеального и реального, то я настоятельно рекомендую эти проблемы одолеть

У ВУЗа есть огромная проблема: ВУЗ просто наваливает кучу теории и предлагает студентам самостоятельно до всего догадываться, вузовский материал либо получиться зазубрить, либо не получиться. Но вот если мне нужно понять какую-то тему, то нужно читать не вузовскую литературу, где будет удивительно простое и понятное объяснение.

Вы не даёте ответов на поставленные вопросы, возможно вы и сами их не знаете, в частости про парсинг регулярками. Точно так же, вы не написали про то, где у вас возникла проблема с посчётом токенов - ни название генератора парсеров, ни описания технологии ll/lr/glr/... Нет никакого смысла философствовать.

Ответить | Правка | Наверх | Cообщить модератору

231. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (-), 10-Окт-24, 22:16 
> Перевод стрелок продолжается, теперь ещё и на философию.

Чувак, я тебе ещё раз скажу, для успешной коммуникации идей, тебе требуется кооперировать, а не сопротивляться.

> У ВУЗа есть огромная проблема: ВУЗ просто наваливает кучу теории и предлагает студентам самостоятельно до всего догадываться

Да. Но это не проблема ВУЗа, а его фишка: основная задача ВУЗа научить тебя самостоятельно до всего догадываться. ВУЗы готовят инженеров и учёных, которым по должности положено догадываться самостоятельно, а не ждать, когда им другие всё объяснят.

Это в школе тебе всё будут объяснять, и если ты не поймёшь, то объяснять ещё раз. В ВУЗе тебе дадут азы, и отправят читать литературу. А потом спросят на экзамене, и если ты не усвоил, то пойдёшь на пересдачу, или вообще вылетишь.

Мне эту разницу объясняли в самом начале первого курса в рамках нескольких пар, которые по форме можно было бы назвать лекциями, которыми первокуров пытались перепрограммировать со школьных привычек на вузовские. В твоём ВУЗе ничего такого не было?

Ответить | Правка | Наверх | Cообщить модератору

191. "Релиз языка программирования V 0.4.8"  +/
Сообщение от AnyNoMouse (?), 07-Окт-24, 14:30 
Авторы почти тысячи языков на этом сайте https://rosettacode.org/wiki/Rosetta_Code не согласны с Вами почти по всем пунктам.
Ответить | Правка | К родителю #175 | Наверх | Cообщить модератору

194. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (-), 07-Окт-24, 15:10 
Большинство из тех языков для меня пустой звук, но те с которыми я знаком, подчиняли синтаксис языка каким-то более глубоким идеям о назначении и способах использования языка, нежели "я хочу не такой как у всех синтаксис". Так что авторы этих языков со мной бы согласились.
Ответить | Правка | Наверх | Cообщить модератору

186. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Golangdev (?), 07-Окт-24, 11:12 
>  На V разрабатывается Volt - лёгкий и быстрый сервис обмена сообщений, который наметил взять лучшее от Discord, Telegram, Signal и Slack.

Удачи конечно автору, желаю вырасти из пет-проекта во что-то серьёзное...

Но мессенджер пока не взял ничего, а в консоле радостно пишет "socket close", и, как и стоило ожидать, вебсокет перестаёт работать.

Ответить | Правка | Наверх | Cообщить модератору

196. "Релиз языка программирования V 0.4.8"  +1 +/
Сообщение от SelfPerfection (ok), 07-Окт-24, 16:47 
Раньше автор делал https://volt-app.com/

Который позиционировался как альтернативный клиент для слака и других сетей.

Теперь Volt это уже что-то другое.

Советую с очень большим подозрением на сделанное автором V, там похоже постоянный бардак, недоделано, непонятно куда бежим и будет ли оно поддерживаться хоть какое-то значимое время.

Ответить | Правка | Наверх | Cообщить модератору

239. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Вова (?), 22-Окт-24, 23:17 
Я бы рекомендовал автору языка сравнивать V не с %%%уергой из подворотен (типа го-растов всяких), а с мэйнстримом - С++, C#, Kotlin, D. Прям отдельную страницу по каждому языку. Начать лучше с D как крутого преемника С++.
Ответить | Правка | Наверх | Cообщить модератору

240. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Вова (?), 22-Окт-24, 23:49 
Такое ощущение, что синтаксис автор придумывал на ходу (читай "от балды") или "в таком языке это пишется так - ну и я так напишу!". Такой язык не взлетит, он нелепый.

Повальная ШИЗА "not null" - не от большого ума. Её завезли с тех пор, как начали аутсорсить индусне важные вещи. Думали, если программист как m@k@k@ будет прыгать через обруч, везде расставляя "не ноль!", программы будут надёжнее. НЕ БУДУТ! Просто ещё больше будете засирать мозг разрабу на раздумия "а вот тут может быть ноль? А тут?". НИКТО не знает, может ли быть ноль! :) И это вместо  того, чтобы думать собственно о решаемой задаче.
Поверьте, вы не медиум - вы даже не представляете, КАК может быть использован ваш код! А учитывая, что большинство из вас - нубы и "нубы с опытом", вы вряд ли сможете спроектировать библиотеку так, чтобы покрыть ВСЕ случаи! Соотв. там, где ваш зумерский мозг думает "ну вот здесь точно не ноль!", вам подсунут дулю и будут сильно удивлены, почему ваша убогая перделка валится на казалось бы простом кейсе.
Забавно, но "не ноль" - это не "гарантия ненулевого указателя", а просто ТУПОЙ И ЛЕНИВЫЙ разраб вместо проверки на ноль втемяшивает атрибут "эта переменная не должна быть нулём" И ВСЁ! Он сбросил с себя все проверки... НА ВАС - юзера кода! А теперь представляете, СКОЛЬКО вам придётся прыгать, прежде чем вызвать sin(a, rad, b, c, d)? КАЖДЫЙ аргумент должен быть либо помечен "не ноль"(заразное поведение), либо ПРОВЕРЕН на не ноль! Вот тебе и "помощь" - вместо одной строки десять!
Хуже того - "не ноль" - он заразен! Одна паршивая функция, запрятанная в недрах, ОБЯЗЫВАЕТ всю вызывающую цепочку прыгать вокруг её капризов "не хачу ноль!". И все будут прыгать, иначе не сканпелится! *facepalm* Хотя казалось бы, для того и придумали исключения, что ДОПУСТИМО, чтобы в 10 вложенных вызовах мог появится NRE, но который отследят в 11-ом месте и проверят.

Вот так КАЗАЛОСЬ БЫ "правильная идея" портит весь ваш код в заботах о безопасности, хотя просто КВАЛИФИЦИРОВАННЫЙ код был бы намного устойчивее и короче.

Ответить | Правка | Наверх | Cообщить модератору

244. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Аноним (-), 17-Ноя-24, 23:59 
> Повальная ШИЗА "not null" - не от большого ума.

Хм, не хочу тебя расстраивать, но КАПС не добавляет твоим словам веса)

>  Думали, если программист как m@k@k@ будет прыгать через обруч, везде расставляя "не ноль!", программы  будут надёжнее. НЕ БУДУТ!

Почему? Вполне отличная штука - принимает ли фунция NULL значение или нет.

> Просто ещё больше будете засирать мозг разрабу на раздумия "а вот тут может быть ноль? А тут?".

В смысле? Это же элементарно.
А в хороших языках ты это видишь буквально с первого взгляда на функцию и ее сигнатуру.

> НИКТО не знает, может ли быть ноль! :)

Что значит не знает?
Что это за камака, вместо прогаммера? Ты еще бы написал что он не знает когда возвращать ошибку, а когда нет.

> И это вместо того, чтобы думать собственно о решаемой задаче.

Это программер, он что на MS-DOS работает? Больше одной задачи в голову не влазит?
Ну тогда стоит задуматься о его замене.

> Поверьте, вы не медиум - вы даже не представляете, КАК может быть использован ваш код!

Но обязаны об этом подумать.

> А учитывая, что большинство из вас - нубы и "нубы с опытом", вы вряд ли сможете спроектировать библиотеку так, чтобы покрыть ВСЕ случаи!

Ложная дихотомия - "раз не можно покрыть все случаи - то можно вообще не думать и писать овнокод".
Во-2х в нормальных языках есть проверки инвариантов, есть нормальные enumʼы, возврат ошибок (например Result<Value, Error>).
Это все позволяет легко и непринужденно писать код который покрывает, думаю 80-90%, всех вариантов.

> Соотв. там, где ваш зумерский мозг думает "ну вот здесь точно не ноль!", вам подсунут дулю и будут сильно удивлены, почему ваша убогая перделка валится на казалось бы простом кейсе.

И вот ты опустился до оскорбления совершенно не знакомых людей.
Может тебе какие-то успокоительные попить? Ну там чай с ромашкой, валерьянку.

> Забавно, но "не ноль" - это не "гарантия ненулевого указателя", а просто ТУПОЙ И ЛЕНИВЫЙ разраб вместо проверки на ноль втемяшивает атрибут "эта переменная не должна быть нулём" И ВСЁ!

В смысле не гарантия?
Разве компилятор пропустит туда что-то что может быть нулем?

> Он сбросил с себя все проверки... НА ВАС - юзера кода!

А это твои проблемы. Хочешь использовать мою либу - значит на моих условиях.
Не нравится? GTFO переписывать ее без null проверок.

> А теперь представляете, СКОЛЬКО вам придётся прыгать, прежде чем вызвать sin(a, rad, b, c, d)?

Перед вызовом пишешь что-то вроде
if (a == NULL || rad == NULL, b == NULL, c == NULL, d == NULL) {
   return error;
}
В современных языках это будет еще проще.

> КАЖДЫЙ аргумент должен быть либо помечен "не ноль"(заразное поведение), либо ПРОВЕРЕН на не ноль! Вот тебе и "помощь" - вместо одной строки десять!

По умолчанию все аргументы не NULL. Те которые нужно пометить - это буквально пара символов.
Конкретно в V это знак "?".
Откуда взялся бред про десяток строк, мне неведомо.

> Хуже того - "не ноль" - он заразен! Одна паршивая функция, запрятанная в недрах, ОБЯЗЫВАЕТ всю вызывающую цепочку прыгать вокруг её капризов "не хачу ноль!". И все будут прыгать, иначе не сканпелится! *facepalm*

Именно так. Потому что программист должен понимать как работает код.
Но ты можешь перед вызовом первой функции, которая не принимает optional, сделать проверку и кинуть ошибку.
А дальше оно передается по цепочке, с гарантиями.

> Хотя казалось бы, для того и придумали исключения, что ДОПУСТИМО, чтобы в
> 10 вложенных вызовах мог появится NRE, но который отследят в 11-ом месте и проверят.

Ты можешь писать код как угодно.
И пробрасывать наверх ошибку или кидать глобальную?
Да такой подход тоже существует.

> Вот так КАЗАЛОСЬ БЫ "правильная идея" портит весь ваш код в заботах о безопасности, хотя просто КВАЛИФИЦИРОВАННЫЙ код был бы намного устойчивее и короче.

Это тот где нифига не проверяют ради экономии строчек кода?
Боюсь квалификация такого программиста - мести метлой улицы.


Ответить | Правка | Наверх | Cообщить модератору

241. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Вова (?), 23-Окт-24, 00:08 
Вот наглядный пример того, что язык - дилетантский:

Vector initialization:
    numbers := [1, 2, 3, 4]

Это что, всё?? Почему нет ЯВНОГО указания, что я создаю переменную? А если я ошибся? А если ранее уже есть подобная переменная? Я же практически пишу наобум "некая переменная = что-то там" - такая расхлябанность допустима для баш-скриптов, но никак не для энтерпрайза!

Add an element to a vector
     numbers << 5

Полная чушь! Во-первых, увлечение "перегруженными сикарашками" - порочная практика из С++. И этот пример показывает почему: да потому что << - это вообще фиг знает что! Почему я должен думать, что << что-то там добавляет?? Я могу даже не знать С++ и его "вывод в поток". Для меня << может быть "сдвинуть массив влево на 5 элементов", т.е. потерять первые 5 ячеек, почему нет?
Во-вторых, как я и сказал, все эти сикарашки могут быть многозначными. Ну кому придёт в голову, что ^ - это степень?? А может это XOR! Или "увеличить на единицу"! Или (как в смоллток) "вернуть значение"?
Видишь, аффтар, как глупо ты рассуждаешь, применяя "всё отовсюду"?
Есть ДЕСЯТКИ порочных практик, которые давно пора забыть.

Reading a file
text := os.read_file(path) or {
    eprintln(err)
}

Сразу видно, передрал Перл! :)) Только если для старика Перлуши эта практика была вынужденно принимаемой, то в новом языке таким "выкрутасам" с or делать нечего, так не пишут! Для ошибок есть исключения - давно принятая практика.
И кстати, почему := , а не = ?? Неужели ты думаешь, что нам в кайф КАЖДОЕ присвоение сопровождать "нажмите шифт, точку с запятой, отпустите шифт, нажмите равно"?!?! Это крайне тупое решение, чем бы оно ни оправдывалось. Присвоение - это РАВНО. Никаких вариантов.

Короче, возьми уже Ди и не майся дурью. :)

Ответить | Правка | Наверх | Cообщить модератору

242. "Релиз языка программирования V 0.4.8"  +/
Сообщение от Вова (?), 23-Окт-24, 00:24 
my_map := {
    'KEY_1': 0
    'KEY_2': 10
}

println(my_map)

Ну для начала, некоторые называют это hash, другие - dictionary. А почему { a: b } внезапно это map? А если я завтра создам UppercasedMap? Как мне в него присвоить это { a: b } ? Есть какая-то концепция инициализации? Чтобы ЛЮБАЯ map-подобная вещь могла принимать этот инициализатор?

А что должна напечатать println(my_map)? Строку "'KEY_1': 0"? А с какого перепоя? Почему не "KEY_1" => 0 ? Это где-то перегружается? Или вызывается какой-то ToString()? Или это личный хардкодинг внутри println?
Много вопросов и НОЛЬ пояснений (на странице сравнения с С++).

Автору: тут мало фонтанировать свежепридуманным синтаксисом, это как раз любой д__ил может! Ты поясни что под капотом, объясни, почему это круто и нет в других языках.

Для меня пока что это "дипломная работа" студентика, но никак не язык будущего.

К слову, мало заявлять "язык вобрал всё лучшее от {перечисление всех мыслимых доноров}". Это ДЛЯ ТЕБЯ что-то показалось "лучшим" - надо пояснять, что именно ты взял, как реализовал и почему это хорошо. Да, документирование своего "сумрачного гения" - это тоже работа! Причём необходимая, иначе никто просто не поймёт, зачем ЕЩЁ ОДИН язык, которых и так напложено сотни и все они - моральные калеки.
Так что за лопату, дорогой автор! Работы - дохрена.

Ответить | Правка | Наверх | Cообщить модератору

243. "Релиз языка программирования V 0.4.8"  +/
Сообщение от ivantroff94email (?), 17-Ноя-24, 23:14 
Новичек на форуме да и с V тоже работал мало, подскажите пожалуйтста, это  ваш чат? https://tg-cat.com/@vlang_rus
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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