LINUX.ORG.RU

Новый язык V

 , , , ,


1

6

Что сообщество думает по поводу сегодняшнего релиза нового компилируемого языка с авто транслейтом Си в V
https://github.com/vlang/v
? Конкурент Rust?

★★★★★

Последнее исправление: menangen (всего исправлений: 1)

Ответ на: комментарий от Nexmean

Не пойму, как ты это приплёл к своим закидонам, но да ладно.

WitcherGeralt ★★
()
Ответ на: комментарий от no-such-file

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

О ужас....

RazrFalcon ★★★★★
()
Ответ на: комментарий от WitcherGeralt

О, уберпогромисты пожаловали! Заскучал на каникулах, решил раст выучить? Иди лучше с пацанами в футбик гонять, а то мамка отругает за то, что целыми днями в компутер играешься.

ведьмак уже не тот

anonymous
()
Ответ на: комментарий от RazrFalcon

У тебя есть ответ, чем можно объяснить такое странное соответствие: 1..5 в расте и [1; 5) в алгебре? Кроме непродуманности этого момента в языке.

anonymous
()
Ответ на: комментарий от anonymous

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

WitcherGeralt ★★
()
Ответ на: комментарий от no-such-file

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

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

Nexmean
()
Ответ на: комментарий от anonymous

У тебя есть ответ, чем можно объяснить такое странное соответствие: 1..5 в расте и [1; 5) в алгебре? Кроме непродуманности этого момента в языке.

так же просто удобнее

range(1, 5) в питоне то же самое делает

anonymous
()
Ответ на: комментарий от Nexmean

что система типов — это основополагающая часть любого языка программирования

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

no-such-file ★★★★★
()
Ответ на: комментарий от RazrFalcon

которые такие же хорошие как компилятор

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

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

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

Nexmean
()
Ответ на: комментарий от RazrFalcon

Basically, a glyph ID and it's metrics.
Each glyph can have it's own source font.

Ок, про закорючки. «It's» — сокращённое «it is». А possessive case пишется как «its».

hateyoufeel ★★★★★
()
Ответ на: комментарий от Nexmean

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

Нет не может, т.к. у дженериков в рантайме один и тот же тип.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Это тот, у которого 90% false-positive. До уровня rustc ему физически не добраться. В первую очередь из-за особенностей самого языка.

RazrFalcon ★★★★★
()
Ответ на: комментарий от anonymous

Почему нельзя было для включающих оба конца диапазонов оставить 1..5, а для полуинтервалов - 1..<5?

потому что для дискретных рядов [1; 5) - дефолт. вместо точки с запятой, кстати, в странах загнивающего большинства просто запятая

MyTrooName ★★★★★
()
Ответ на: комментарий от RazrFalcon

которого 90% false-positive

Йобу дал что ли?

anonymous
()
Ответ на: комментарий от anonymous

симметрично выглядящий в расте диапазон 1..5

он симметричный только если ты лево с правом путаешь

MyTrooName ★★★★★
()
Ответ на: комментарий от anonymous

В Расте 1..5 выглядит симметрично, но включает 1 и не включает 5

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

no-such-file ★★★★★
()
Ответ на: комментарий от WitcherGeralt

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

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

Norgat ★★★★★
()

Написал бы тогда что, ожидается сегодня в 18:00 UTC.

anonymous
()
Ответ на: комментарий от MyTrooName

потому что для дискретных рядов [1; 5) - дефолт

Пруф можно?

anonymous
()
Ответ на: комментарий от Norgat

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

Прямо как в случае с Linux первой версии.

anonymous
()
Ответ на: комментарий от anonymous

чел, ну ты же понимаешь, чт в яп с 0-based индексами чаще всего используются диапазоны вида [), отсюда и прагматичный дефолт

anonymous
()

Что сообщество думает по поводу сегодняшнего релиза нового компилируемого языка с авто транслейтом Си в V

Очередная хипстота. Поймите вы уже наконец, в 21 веке новый ЯП это не синтаксис, а в первую очередь организация и управление памятью, структурами данных, новые IDE и JIT-ы. Если заходя в документацию вы видите только описание синтаксиса, то сразу закрывайте страницу.

Конкурент Rust?

Нет, забудут через месяц. Максимум, если создатель сильно упоротый, будет периодически засорят эфир. Но через пару лет всё скатится к вопросу «Почему вы не пишите на Nim V?» на редитах и хакерньюсах.

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 1)
Ответ на: комментарий от WitcherGeralt

Я считаю, что проект можно считать перспективным и тратить на него время только в двух случаях: 1) Когда у проекта есть ядро из 3-5 контрибьютеров которые его развивают 2) Когда проект решает конкретно твою проблемы и ты готов войти в его контрибьютеры

Первый пункт важен потому что есть фактор автобуса. Вероятность того, что проект с 1-2 людьми развалится из-за него крайне высокая. К тому же, это прямой индикатор того, что где-то в онлайне или офлайне эти люди собрались, обсудили идею, поверили в нее и решили туда инвестировать свое время. Нижняя граница 2-3 человека (хотя тут риски всеравно велики).

Второй пункт - это как раз момент когда ты смотришь на проект перед пунктом 1.

К тому же, посмотри на область в которой это все происходит - языки программирования. Сейчас у нас есть приличная пачка стабильных инструментов C, C++, C#, Java, JavaScript, Python, PHP и парочка проектов которые активно развиваются - Go и Rust.

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

Без такой поддержки удел любого нового ЯП - прозябание в неизвестности и неэффективности вкладывания своего времени в изучение и разработку на нем (потому что преимущество семантики и сентаксиса будет нивелирование отсутствием инструментов, людей и работы на этом ЯП).

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

Norgat ★★★★★
()
Последнее исправление: Norgat (всего исправлений: 1)
Ответ на: комментарий от foror

На сайте первое что увидел - compilation speed-up. В языке есть generics'ы и прочие плюшки, раз уж он может конвертить с++ код в свой, а это уже что-то значит.

Хотлоадинг тоже неплохая фича, на сях это вроде можно делать через использование shared lib'a, все руками, и это си (ну или с++) но это ж геморрой.

Репл тоже есть, зачет (при том что сам язык компилируемый).

Конечно рано что-то говорить, но по-моему неплохие такие фичи.

Поймите вы уже наконец, в 21 веке новый ЯП это не синтаксис, а в первую очередь сообщество и/или маркетинг.

fixed

PS он еще там vid ( https://github.com/medvednikov/vid ) выкатил - киллер вима видимо

anonymous
()
Ответ на: комментарий от Norgat

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

WitcherGeralt ★★
()
Ответ на: комментарий от ya-betmen

Как минимум горутины, а вообще, тут сравнение есть (несуществующего языка с несуществующими фичами с существующими языками и сущесвующими фичами): https://vlang.io/compare

WitcherGeralt ★★
()
Ответ на: комментарий от anonymous

Кстати, интересует как трансляция плюсов будет уметь в «No global variables».

anonymous
()
Ответ на: комментарий от anonymous

но по-моему неплохие такие фичи.

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

а в первую очередь сообщество и/или маркетинг

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

foror ★★★★★
()
Ответ на: комментарий от foror

И в каждом есть все вот это вместе? Вот как взлетят так и буду пользоваться. Может быть. Как и c этим V.

А так я вообще за лисп, лол.

anonymous
()
Ответ на: комментарий от Norgat

Без такой поддержки удел любого нового ЯП - прозябание в неизвестности и неэффективности

Глупости. Сделайте нормальный ЯП и свой веб-фреймворк я буду не для джавы делать, а для него. А либы от си и крестов возьмём, в нормальном ЯП должен быть хороший интероп с этими ЯП.

foror ★★★★★
()
Ответ на: комментарий от t184256

Меня отпугали две вещи.

Первое это как я сказал, как они воспевают как они в 100 раз лучше Go, не упоминая что там есть green threads и все операции не блокирующие. В другой части документации обещают их сделать, но тогда «производительность как в С» улетит в окно.

Потом в разделе по управлению памятью всего пару абзацев. И в духе «иногда мы освобождаем память, но иногда нет». Ну я даже не знаю. «У нас нету ни GC, ни счётчика ссылок, ни move semantics и все работает». Ух вы мои заи.

Короче это просто недоделанный Go. И когда доделают, то будет просто ограниченая версия Go. Сравнения с С/C++/Rust тогда будут сильно мимо

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 3)
Ответ на: комментарий от t184256

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

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

WitcherGeralt ★★
()
Последнее исправление: WitcherGeralt (всего исправлений: 1)

Just like in Go and C, functions cannot be overloaded.

Не нужно

In V, variables are immutable by default.

Не нужно 2

Please note the difference between := and = := is used for declaring and initializing, = is used for assigning.

Не нужно 3

mut m := map[string]int{}

жуть, не нужно

V doesn’t have classes. But you can define methods on types. fn (u User) can_register() bool

Да ну его нахер, дальше читать не стал.

SR_team ★★★★★
()
Ответ на: комментарий от RazrFalcon

/0

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

foror ★★★★★
()
Ответ на: комментарий от SR_team

Да ну его нахер, дальше читать не стал.

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

foror ★★★★★
()
Ответ на: комментарий от foror

Точнее те, на которых уже нахерачены тонны легаси. Джава скорее свою ненужность доказала. Её уже во всю скалами и котлинами закапывают.

WitcherGeralt ★★
()
Последнее исправление: WitcherGeralt (всего исправлений: 1)
Ответ на: комментарий от WitcherGeralt

Её уже во всю скалами и котлинами закапывают.

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

foror ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.