Главная Юзердоски Каталог Трекер NSFW Настройки

Программирование

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 502 65 178
V thread #1 /v/ Аноним 20/01/20 Пнд 03:49:08 1578220 1
image.png 22Кб, 500x500
500x500
не нашел — создал

The V Programming Language
Simple, fast, safe, compiled language for developing maintainable software

Язык программирования V — самый молодой среди успешных и самый успешный среди молодых, начало разработки где-то в феврале 2018, initial release на гитхабе 2019-06-22 и уже 15k звёзд в январе 2020.

Язык воспринимали как мем, оспаривали утверждения о том, что он реально в разработке: https://github.com/vlang/v/issues/35

Сейчас на нём уже написаны компилятор V, текстовый редактор vid, пакетные менеджеры vpm и vpkg, мессенжер volt (пока только mac os), движок форума vorum и множество других вещей.

Сайт https://vlang.io
Доки https://vlang.io/docs
Песочница https://vlang.io/play
Автор: Alex Medvednikov
Patreon: https://www.patreon.com/vlang

Вклад в V сегодня — это шанс вписать своё имя в стандартную библиотеку популярного в будущем языка.
Аноним 20/01/20 Пнд 04:07:04 1578225 2
pepe5.jpg 123Кб, 1000x666
1000x666
За ним кто-то стоит? Университет, корпорация?
Аноним 20/01/20 Пнд 04:18:12 1578226 3
Аноним 20/01/20 Пнд 04:49:58 1578232 4
>>1578220 (OP)
Это тот мемасный шпрахе, у которого вместо GC, рэндом господень?
Аноним 20/01/20 Пнд 05:16:22 1578234 5
image.png 341Кб, 420x441
420x441
Аноним 20/01/20 Пнд 05:19:34 1578235 6
image.png 19941Кб, 3024x4032
3024x4032
213213.jpg 35Кб, 492x700
492x700
>>1578220 (OP)
Теперь можно не учить го и раст?
Аноним 20/01/20 Пнд 05:19:52 1578236 7
>>1578234
Как в V работа с памятью устроена?
Аноним 20/01/20 Пнд 05:20:09 1578237 8
Аноним 20/01/20 Пнд 05:21:16 1578238 9
image.png 19941Кб, 3024x4032
3024x4032
213213.jpg 35Кб, 492x700
492x700
>>1578220 (OP)
Теперь можно не учить го и раст?
Аноним 20/01/20 Пнд 05:22:50 1578239 10
>>1578236
Не знаю это я здесь спрашиваю о_0
Аноним 20/01/20 Пнд 05:25:07 1578240 11
>>1578239
Ну вот и никто не знает. Последний раз даже автор не знал.
Аноним 20/01/20 Пнд 05:32:00 1578241 12
Чего вообще полезного/интересного из либ можно запилить для языка? Полистал гитхаб и сайт проекта, помощи (кроме как материальной) вроде не требуют, хотя в истории коммитов ники кроме двух авторов иногда проскакивают. Полторы забавных софтин (Vid) на нем написали, но если и дальше будет так уныло, то без нескучных обоев проектов он не взлетит (т.к. фичи языка "компенсируются" его недоделаностью).
Аноним 20/01/20 Пнд 05:32:44 1578242 13
лок forum/development/15066300?cid=15067285
ШОК СКАНДАЛЫ ИНТРИГИ РАССЛЕДОВАНИЯ
Аноним 20/01/20 Пнд 05:33:05 1578243 14
>>1578242
лор*
да не пощу я быстро фикс
Аноним 20/01/20 Пнд 05:37:35 1578244 15
Аноним 20/01/20 Пнд 05:42:05 1578245 16
>>1578235
>>1578238
Думаю че не грузит, а книжка раста 20 мигов весит.
Аноним 20/01/20 Пнд 05:44:06 1578246 17
>>1578245
Пропаганда крестоблядей. Всё у раста хорошо с памятью.
Аноним 20/01/20 Пнд 06:01:04 1578247 18
>>1578236
Не стоит вскрывать эту тему. Ты же не байтоёб какой-то? Пили прикладной софт или системные либы, а о памяти мы позаботимся.
Аноним 20/01/20 Пнд 06:02:52 1578248 19
image.png 193Кб, 1280x826
1280x826
На этой неделе язык будет во всех СМИ.
Спешите причаститься, пока это ещё не стало мейнстримом.
Аноним 20/01/20 Пнд 06:06:08 1578250 20
>>1578242
Не тащи протухшие замечания, сейчас уже всё компилится, и net.http завезли, и тетрис из примера работает, и live-reload кода тоже.
Аноним 20/01/20 Пнд 06:08:12 1578251 21
image.png 90Кб, 1166x541
1166x541
Алсо, вот обновления кодовой базы за последние сутки. И так постоянно.
Аноним 20/01/20 Пнд 06:11:05 1578252 22
>>1578250
Так замечание вот это
>Чуваки, это обычный Monkey из книжки Bell'а (https://interpreterbook.com/)
А не про то, что что-то не компилится.
Аноним 20/01/20 Пнд 06:11:53 1578253 23
>>1578241
Что угодно можно. Возьми любой допиленный язык, тот же Ruby, сравни что есть и чего нету. Сейчас, например, в стандартной либе V дат нету, только time.
Аноним 20/01/20 Пнд 06:12:52 1578254 24
>>1578242
Охуеть там срач развели на 10 страниц, и даже без Малахова. В гите ещё к тому же автор альтернативного говна (Zig) ещё летом высказал свое охуенно важное мнение в виде простыни, обличающем пиздежь автора V (впрочем, по делу, т.к. свои говноидеи высирать нужно в блокнотик, а не на всеобщее обозрение, да ещё и в такой манере, будто это всё уже реализовано).

ОПу: Нужно было таки один тред для нескольких подобных языков пилить, тогда можно было бы тут специальные олимпиады устраивать, чье говно лучше байтики сгенерирует.
Аноним 20/01/20 Пнд 06:13:19 1578255 25
>>1578252
Замечание с потолка. V не имеет отношения к Go кроме похожего синтаксиса, он транспилится в Си. С версии 1.0 будет транспилиться сразу в байткод.
Аноним 20/01/20 Пнд 06:14:14 1578256 26
>>1578254
Из всех "подобных" взлетит только V. Уже взлетает. Спеши на борт.
Аноним 20/01/20 Пнд 06:14:41 1578257 27
>>1578255
>V не имеет отношения к Go
Но имеет ли к Monkey?
Аноним 20/01/20 Пнд 06:15:37 1578258 28
image.png 112Кб, 464x487
464x487
>>1578257
Можно поконкретнее?
Аноним 20/01/20 Пнд 06:18:55 1578259 29
image.png 329Кб, 311x403
311x403
>>1578242
Еще не перелистнул первую страницу, красноглазые уже растом меряются, нереально этих холиварных обмудков читать.
Аноним 20/01/20 Пнд 06:19:16 1578260 30
>>1578258
Ссылку же притащил, правда и сломал скобкой заодно >>1578252 .
Лично мне искать/пиратить её лень, а покупать денег нет.
Аноним 20/01/20 Пнд 06:19:46 1578261 31
>>1578259
Поэтому там ссылка на пост =/
Аноним 20/01/20 Пнд 06:22:37 1578262 32
>>1578260
Monkey programming language != V programming language
Что касается источников вдохновения, это лучше у @alex_medvednikov спрашивать.
Аноним 20/01/20 Пнд 06:23:00 1578263 33
>>1578255
Но синтаксис уже лучше чем в го, лол.
Аноним 20/01/20 Пнд 06:26:08 1578264 34
>>1578263
Ну, хуже чем в Go было сложно сделать.
Аноним 20/01/20 Пнд 06:28:53 1578265 35
Аноним 20/01/20 Пнд 06:32:32 1578266 36
>>1578253
Ладно, вечером уже буду думать, чего хорошего запилить, в слон клонит уже. Сейчас может чутка поковыряюсь ещё, хочу глянуть, насколько хуевый там interop. Но в стандартную либу я вряд ли что-то пилить буду, т.к. не хочу потом лицезреть, как мой код поганят хипстеры-аутисты с их понятиями читабельности кода и его обязательной идиоматичности. А вообще можно всем тредом высрать им чего-то в библиотеку, с каждого по сниппету, а потомки уже потом перепишут идиоматичненько, когда эту идиоматику, собственно, сформируют.

>>1578256
>Уже взлетает
Уже взлетел, тащемта. Почти в 2 раза обогнал по звездам Nim, который гораздо более зрелый, и в 3 с чем-то раз Zig, чем и вызвал бугурт его автора.
Аноним 20/01/20 Пнд 06:39:27 1578267 37
>>1578266
Кстати, от переписывания из-за отступов есть встроенная защита:

You don't need to worry about formatting your code or style guidelines. vfmt takes care of that:
v fmt file.v
It's recommended to set up your editor, so that vfmt runs on every save.

Always run vfmt before pushing your code.
Аноним 20/01/20 Пнд 06:41:49 1578269 38
>>1578266
Тащи лучше реальное что-то
Nim, D, Cristal, Concurnas, Zig (хз что это, проверь)
Похер без шапки, потом лучше пастой о языках побампаешь тред.
Аноним 20/01/20 Пнд 06:46:21 1578270 39
>>1578266
>Уже взлетел, тащемта. Почти в 2 раза обогнал по звездам Nim, который гораздо более зрелый, и в 3 с чем-то раз Zig, чем и вызвал бугурт его автора.
У меня даже есть теория почему. Гоферы свои проекты активно лабызают звездами, тут увидели что похож на го, но даже получше и зазвездили его (а парень сливки с донатов снимает)
Аноним 20/01/20 Пнд 06:51:54 1578272 40
>>1578270
Тащемта донатов не так много как звезд.
Язык действительно приятен, если разовьется до уровня "можно использовать в реальных проектах", то убьет и го, и раст, и крестам достанется.
Аноним 20/01/20 Пнд 06:58:27 1578273 41
>>1578269
Вечером притащу. Я не ОП треда, если что. Там вчера анон на утро вроде нормальную шапку для пачки C-подобных языков готовил, но может это он и есть, решил только по одному языку запилить. Сейчас на ночь тогда займусь исследованием, хочу специальную олимпиаду таки устроить, т.к. хоть V и самый хайповый, но в текущем виде едва ли самый интересный.

>>1578270
>а парень сливки с донатов снимает
Автор Zig летом в 2 раза больше с хомячков на патреоне снимал. Но вот только создатель V - наш соотечественник (вроде как), а автор Zig - американин из NY, так что кто на деньги с донатов живет, а кому только на бургеры с колой - понятно сразу.
растер 20/01/20 Пнд 06:58:35 1578274 42
там гц трогают, или чето типо бороу чекера? олсо синтаксис выглядит как неудачный пример того, что в расте убрали половину операторов.
Аноним 20/01/20 Пнд 06:59:16 1578275 43
>>1578272
★ : $ ≈ 15 : 1
Нормально так.
Аноним 20/01/20 Пнд 07:00:48 1578276 44
>>1578274
Компилятор догадается - почистит.
Аноним 20/01/20 Пнд 07:05:56 1578277 45
>>1578273
Нет, я другой анон. Но я слежу с лета за V и думаю, что он достоин отдельного треда.

Отмечу также, что Alex Medvednikov хоть и русский (или русскоязычный), живет в Нидерландах. Первая его попытка запилить что-то на деньги сообщества закончилась в 2017 неудачно: https://www.kickstarter.com/projects/343672800/fast-native-desktop-client-for-all-major-messaging
Аноним 20/01/20 Пнд 07:07:43 1578278 46
image.png 4779Кб, 1680x1260
1680x1260
>>1578272
Ничего там никуда не разовьется. Парень прочел книгу по интерпретатору на сях и нафантазировал синтаксис (мы тут все можем любимые конструкции собрать).

Очередной язык уровня Дениса Попова. Имело бы смысл если язых хотя бы транслировался в го, а так даже базиса нет.
Аноним 20/01/20 Пнд 07:09:42 1578280 47
Аноним 20/01/20 Пнд 07:10:26 1578281 48
>>1578278
>Имело бы смысл если язых хотя бы транслировался в го, а так даже базиса нет.
Язык транслируется в Си, зачем Го?
Аноним 20/01/20 Пнд 07:12:35 1578283 49
Вот небольшое сравнение Hello World на различных подобных языках, рассортированое по краткости:

Nim:
echo "Hello World!"

V:
println("Hello World!")

Zig:
const std = @import("std");
std.debug.warn("Hello World!\n");

D:
import std.stdio;
void main() {
writeln("Hello World!");
}

Pike:
int main() {
write("Hello World!\n");
return 0;
}

Fantom:
class HelloWorldFactory {
static Void main() {
echo("Hello World!")
}
}

Да начнется Специальная Олимпиада!
Аноним 20/01/20 Пнд 07:15:27 1578285 50
>>1578283
Для олимпиады задача нужна. Типа написать консольную утилиту для вычисления факториала первого переданного аргумента.
Аноним 20/01/20 Пнд 07:24:18 1578287 51
>>1578285
Побугуртить и с хэллоуворлдов можно. Там у половины языков онлайн-playground'ы есть, но оценить выхлоп таким образом не представляется возможным. Ладно, сейчас для сравнения напишу рекурсивную функцию для подсчета факториала числа (без проверок на ошибки), а вечером уже буду компиляторы колупать и разбиратся с передачей аргументов. Вот базовый пример такой функции в чистом C (согласно стандарту, указание типа данных int в некоторых местах можно опускать):

fac(n) {
return (n < 2) ? 1 : n * fac(n - 1);
}
Аноним 20/01/20 Пнд 07:29:07 1578288 52
Аноним 20/01/20 Пнд 07:31:33 1578289 53
>>1578220 (OP)
Зачем создал для одного языка? Планировали общий.
Аноним 20/01/20 Пнд 07:31:44 1578290 54
image.png 21Кб, 661x262
661x262
>>1578278
Вообще, как-то с коллегами думали запилить голосовалку по разным конструкциям синтаксиса и потом собрать типа такой идеальный язык.

Но мы все макаки, нам мозгов не хватит запилить язык, но на рабочем месте собрали такого прикольного уродца, на базе синтаксиса си, получился какой-то груви (сейчас больше котлин напомнит) c помесью питона.
Аноним 20/01/20 Пнд 07:32:24 1578291 55
>>1578281
Чтобы получить хотя бы сборщик мусора
Аноним 20/01/20 Пнд 07:33:10 1578293 56
>>1578288
Там проверок на ошибки дофига, для сравнения слабо подойдет. Я максимально топорный алгоритм использую для удобства его сравнения в разных языках.
Аноним 20/01/20 Пнд 07:34:14 1578294 57
Аноним 20/01/20 Пнд 07:37:44 1578297 58
Аноним 20/01/20 Пнд 07:40:56 1578298 59
>>1578294
Ну как можно было такое название для языка взять? Автор нацик штоле? V is for Victory, V is for Vendetta, V is for Valuable things.
Аноним 20/01/20 Пнд 07:42:16 1578301 60
>>1578298
Насколько я понял это еще два разных языка а ты написал свой язык программирования??
Аноним 20/01/20 Пнд 07:44:39 1578302 61
Аноним 20/01/20 Пнд 07:46:36 1578304 62
Вот реализация для тройки из этих языков, которые я хотя бы немного знаю (для Nim даже весьма идиоматичненько вышло):

Nim:
proc fac(n : int) : int =
result = if n < 2: 1
else: n fac(n - 1)

V:
fn fac(n int) int {
if n < 2 {
return n
}
return n
fac(n - 1)
}

D:
int fac(int n) {
return n < 2 ? 1 : n * fac(n - 1);
}
Аноним 20/01/20 Пнд 07:47:56 1578305 63
>>1578304
Вакаба сожрала звездочки. Фикс:

Nim:
proc fac(n : int) : int =
result = if n < 2: 1
else: n * fac(n - 1)

V:
fn fac(n int) int {
if n < 2 {
return n
}
return n ∗ fac(n - 1)
}

D:
int fac(int n) {
return n < 2 ? 1 : n ∗ fac(n - 1);
}
Аноним 20/01/20 Пнд 07:48:30 1578306 64
>>1578305
А ещё съела пробелы. Nim без них запустится разве?
Аноним 20/01/20 Пнд 07:48:30 1578307 65
>>1578301
Я про Zig и говорю. С названием V всё ок.
Аноним 20/01/20 Пнд 07:50:33 1578309 66
image.png 236Кб, 400x368
400x368
>>1578294
Сука я уже не могу ржать, он тестил принты??
Аноним 20/01/20 Пнд 07:52:56 1578311 67
image.png 10Кб, 485x111
485x111
Аноним 20/01/20 Пнд 07:54:14 1578312 68
>>1578294
>Julia
>344563 KiB
Это реальный размер хеллоуворлда на джулии?
Аноним 20/01/20 Пнд 07:54:29 1578313 69
>>1578304
Да нахер эти факториалы, есть же стандартная хрень, построчное чтение из файлов, работа с датой (хотя бы форматирование), лямбды, короткие записи листов, мап.
Это можно сравнить визуально и насколько вообще парились разработчики
Аноним 20/01/20 Пнд 07:55:15 1578314 70
>>1578311
Переполнение. Я предупреждал, что без проверки на ошибки.

>>1578306
Буду впредь на pastebin заливать.
Аноним 20/01/20 Пнд 07:55:28 1578315 71
image.png 37Кб, 741x443
741x443
>>1578313
>построчное чтение из файлов
Аноним 20/01/20 Пнд 07:58:25 1578318 72
>>1578314
Вообще странно, что ты для факториал в int вычисляешь. В V есть u64, с ним уже до fac(65) без переполнения, хотя на 64 значения тоже рациональнее массив готовых ответов сделать, а не разогревать проц.
Аноним 20/01/20 Пнд 08:00:51 1578320 73
image.png 21Кб, 661x262
661x262
>>1578315
Выглядит как-будто прочитали весь файл, а потом split прожали.
Неужели так трудно лямбдой сделать (типа как на картинке)?

А еще эта or - это сразу крест на последовательном вызове вида:
open().do().some()
Хотя у го там вообще шляпа и так была, это даже лучше.
Аноним 20/01/20 Пнд 08:03:18 1578322 74
>>1578320
>А еще эта or - это сразу крест на последовательном вызове вида
Так V же не скриптовый, тут так не принято.
Аноним 20/01/20 Пнд 08:06:03 1578323 75
image.png 3Кб, 353x115
353x115
>>1578320
Самое гениальное что было придумано, это лямбды из {}
На картинке груви
Аноним 20/01/20 Пнд 08:06:46 1578324 76
>>1578290
>>1578320
У тебя на скрине Ruby, нечего переизобетать, бери да используй.
Аноним 20/01/20 Пнд 08:07:18 1578325 77
>>1578322
Котлин тоже не скриптовый, у не ровно так же (вдохновились же :) )
Аноним 20/01/20 Пнд 08:08:11 1578327 78
>>1578324
На скрине скорее груви.
Нет там do...end
Аноним 20/01/20 Пнд 08:12:49 1578328 79
image.png 38Кб, 1060x259
1060x259
>>1578327
В Ruby не обязательно использовать do..end
Аноним 20/01/20 Пнд 08:15:06 1578330 80
>>1578328
Надо глянуть в Crystal такое няшество есть
Аноним 20/01/20 Пнд 08:16:31 1578333 81
image.png 186Кб, 410x357
410x357
>>1578328
>>1578330
Жалко только не руби не кристал никому нахер не нужен (как и груви)
Аноним 20/01/20 Пнд 08:20:34 1578336 82
>>1578333
Почему же, гитхаб и гитлаб — рельсоприложения, например.
Аноним 20/01/20 Пнд 08:24:11 1578339 83
image.png 10Кб, 578x148
578x148
>>1578330
>>1578328
Забавно что у этих наркоманнов puts переписывает файл (лол, магия ппц)
Аноним 20/01/20 Пнд 08:24:56 1578340 84
>>1578339
Или мой английский из бэд
Аноним 20/01/20 Пнд 08:26:19 1578341 85
>>1578339
Видимо они решили, что в случае совпадения имён у глобального метода и классового внутри блока должен вызываться классовый, т.е. File.puts.
Аноним 20/01/20 Пнд 08:33:26 1578343 86
ruby.jpg 99Кб, 502x640
502x640
>>1578341
Пересахарили до чистой магии.

Ведь реально, ты только и хочешь в момент обхода файла писать в то же файл, это прям интуитивно и логично в Японии.
Аноним 20/01/20 Пнд 08:55:10 1578346 87
>>1578343
В Японии (Ruby) как раз всё норм. Crystal писали Ary Borenszweig, Juan Wajnerman, Brian Cardiff and more than 300 contributors.
Аноним 20/01/20 Пнд 09:01:34 1578347 88
>>1578318
Код в моем примере нужен скорее для сравнения языковых конструкций и количества бойлерплейта, а не для реальных вычислений. Само собой, в продакшене я бы высчитал массив из нужного количества значений в Nim или D (или других языках, которые поддерживают компайл-тайм рассчеты) итеративным методом, а не стал баловатся рекурсией.

>>1578313
Вечером накачаю компиляторов, мануалов и попробую сотворить что-то поинтереснее. Вообще, реализовывать в соло сразу в 6-7 языков немного неудобно, учитывая что на половине из них ничего сложнее helloworld я не писал (а вот на Сишечке понаписывал будь здоров сколько, можно её будет использовать в качестве эталона - мерила для сравнения, т.к. они все от неё наследуются; Nim тоже пописал немного, а вот по D хотя бы доку успел изучить).

В любом случае, до вечера, т.к. после более чем суток без сна моя сообразительность опустилась до весьма низкого уровня.
Аноним 20/01/20 Пнд 09:02:31 1578348 89
Аноним 20/01/20 Пнд 09:03:52 1578349 90
>>1578346
Да? Ну тогда простят меня японцы.
Но вообще какой смысл расшаривать методы в лямбде (и методы кого). Это норма?
Аноним 20/01/20 Пнд 09:05:12 1578351 91
>>1578294
зачем он \n добавил в руби, если puts сам так делает?
там ведь должно быть print "hello world"
Аноним 20/01/20 Пнд 09:23:21 1578356 92
>>1578351
Зачем он вообще это делает (с принтами).
Аноним 20/01/20 Пнд 09:44:06 1578359 93
>>1578289
Бамп вопросу. Теперь дробить на треды?
Аноним 20/01/20 Пнд 09:50:59 1578362 94
Аноним 20/01/20 Пнд 09:53:47 1578363 95
>>1578359
Нет, хочу общий для всех васянских.
Аноним 20/01/20 Пнд 09:56:46 1578365 96
Аноним 20/01/20 Пнд 10:02:21 1578369 97
>>1578305
Как-то некрасиво эти return смотрятся.
Аноним 20/01/20 Пнд 10:11:18 1578373 98
>>1578359
Кого дробить? Никакие нимы с зигами не вытянут конкуренции с V. Этот тред — задел на будущее. Уже через полгода он утопит говнарей с педерастами.
Аноним 20/01/20 Пнд 10:21:30 1578377 99
>>1578373
Nim уже спонсирует компания и использует в продакшене.
Аноним 20/01/20 Пнд 10:55:19 1578397 100
>>1578377
>Statements are grouped by indentation but can span multiple lines.
Такое же говно как питон, не вытянет битвы.
Аноним 20/01/20 Пнд 11:18:31 1578427 101
>>1578220 (OP)
> Синтаксис не на s-expressions
Нахуй не нужно.
Аноним 20/01/20 Пнд 11:43:06 1578441 102
>>1578220 (OP)
> for developing maintainable software

Более абстрактной фразы найти не могли? Можно более нормальное описание нахуй он нужен.
Для "developing maintainable software" эффективней было написать спек и линтеров на существующий язык.
Аноним 20/01/20 Пнд 11:47:24 1578447 103
Зачем нужен еще один недоязык? Пишите на крестах и не бухтите.
Аноним 20/01/20 Пнд 13:14:21 1578548 104
image.png 41Кб, 1140x660
1140x660
>>1578447
>пожалуйста, пишите на крестах
Аноним 20/01/20 Пнд 13:30:28 1578567 105
>>1578220 (OP)
Пока нет корутин - не нужен вообще. Когда завезёте? Системные треды для конкаренси - это хуита голимая в 99% случаев.
Аноним 20/01/20 Пнд 13:30:39 1578568 106
>>1578548
Можно заметить, что крестобоги преисполняются в познании и все меньше испытывают необходимость в задавании вопросов.
Аноним 20/01/20 Пнд 14:11:36 1578592 107
>>1578369
Одна из особенностей V - if/else даже с одиночным предложением требует фигурных скобок {}. По мнению автора языка, это увеличивает читабельность и уменьшает вероятность ошибок. Однако там есть присвоением через if (а-ля тернарочка ?: в других языках), хоть в доках этого и не указано нигде, так что можно записать ещё вот так:

fn fac(n int) int {
return if n < 2 {
1
} else {
n ∗ fac(n-1)
}
}

Если сократить, то можно и так записать, но из-за скобок всё равно не слишком живо смотрится:

fn fac(n int) int {
return if n < 2 { 1 }
else { n * fac(n-1) }
}
Аноним 20/01/20 Пнд 14:22:28 1578602 108
>>1578592
\t это макаба с табами шалит. 3 строчки кода нельзя написать, что бы она чего-то не сожрала или испоганила.
Аноним 20/01/20 Пнд 14:31:09 1578609 109
Аноним 20/01/20 Пнд 14:40:24 1578615 110
>>1578592
Автор V болен принципом 1 way to do things и не хочет делать альтернативные фичи. Хотя << как алиас к push всё же сделал.
Аноним 20/01/20 Пнд 14:41:40 1578616 111
Аноним 20/01/20 Пнд 15:01:58 1578640 112
>>1578615
А нет, я вас наебал, function `push` is private. Не добавил.
Аноним 20/01/20 Пнд 15:25:27 1578664 113
>>1578592
Ещё раз, язык с болезненным делением на expressions и statements не нужен в принципе. Зачем нужен ещё один язык программирования, если это - не лисп?
Аноним 20/01/20 Пнд 15:45:31 1578677 114
>>1578664
Чтобы спасти души говноедов. Ты думаешь, им нравится писать if err != nil после каждого пука?
Аноним 20/01/20 Пнд 15:47:21 1578680 115
>>1578677
>if err != nil
Ну добавьте union type и pattern matching по нему
Аноним 20/01/20 Пнд 15:50:01 1578683 116
Аноним 20/01/20 Пнд 15:51:55 1578686 117
Наговнили что тред в топе сейчас
Аноним 20/01/20 Пнд 15:57:04 1578689 118
>>1578686
Всё логично - говно всплывает
Аноним 20/01/20 Пнд 15:58:06 1578690 119
Краткое сравнение компиляторов и размера бинарников helloworld (Windows, 64-bit):

V:
Вместе со стандартной библиотекой и докой занимает <5 МБ в несжатом виде, заработал без проблем. Бинарник HW занимает 123 KB, с флагами -g -prod 87 KB (без -g не компилируется с -prod), -compress декоративный. Сырой пиздец, на чем-то сложнее простой компиляции нормально не работает, я даже указать имя выходящего бинарника через -o не смог (просто не создает ничего). Использует libc и gcc для компиляции файлов.

Zig:
Занимает 167 МБ (~8400 файлов), вместе с собой тащит стандартные библиотеки C и крестов. Бинарник вышел почти полМБ, но зато с флагом --release-small - всего 8 КБ!

Nim:
69 MB, ~2700 файлов (из которых 1700 это тесты компилятора, которых мне нахуй не нужны). Бинарник - 136 KB, с флагом на релиз и оптимизацию - 87 KB.

D:
Компилятор dmd, 217 MB, ~2800 файлов. Бинарник 312 KB (32-битный - 258 KB), флаги релиза всего 1-2 KB срезают.
Аноним 20/01/20 Пнд 16:16:03 1578702 120
Аноним 20/01/20 Пнд 16:21:21 1578705 121
>>1578702
Судя по более чем сотне постов за полсуток рабочего дня (из которых большая часть пришлась на утро, когда постинг не слишком активен) - оптимизм не излишен. Но этот тред изначально планировался в виде объединенного для нескольких C-подобных языков, хоть V и самый хайповый из них.
Аноним 20/01/20 Пнд 16:26:10 1578709 122
>>1578690
DMD не так хорошо оптимизирует, как GDC или LDC.
Аноним 20/01/20 Пнд 16:27:46 1578710 123
>>1578363
>>1578365
Общий отдельный от этого треда или пока что сидим в этом, а после бамплимита общий?
Аноним 20/01/20 Пнд 16:40:45 1578724 124
>>1578710
Проблема в том, что если nim и d выглядят как полноценные языки с вложенным в них трудом и временем, то V - напоминает болгенос.
Аноним 20/01/20 Пнд 16:43:31 1578729 125
>>1578709
Знаю, анонче. Использовал то, что уже стояло, тем более это вроде как самая официальная реализация. Так же и с Go - есть их говнокомпилятор без линкера, а есть gccgo с линкером и всеми оптимизациями gcc (я жмушные компиляторы больше люблю, хоть llvm и перегоняет по оптимизациям в некоторых случаях). Бинарники GDC под виндой работать не будут, судя по их сайту. LDC потестил, 226 мегабайт, но бинарники уже на полмегабайта выдает, а оптимизации (-O -release) размер не режут вообще.

>>1578710
>пока что сидим в этом, а после бамплимита общий?
This. V всё равно будет иметь первостепенную роль в шапке как самый популярный, как мне кажется.

>>1578724
Там хотя бы нескучные обои были.
Аноним 20/01/20 Пнд 16:46:15 1578735 126
>>1578729
>Там хотя бы нескучные обои были.
Есть же нескучный сборщик мусора.
Аноним 20/01/20 Пнд 16:48:39 1578738 127
>>1578729
Звёздочки на гитхабе не показатель популярности. D уже в продакшене используют, а V ещё не стабилизировался. Ну набежали гитхаберы на интересное описание с плюшками, понаставили звёздочек, и что? Пусть хотя бы в двадцатку tiobe войдёт.
Аноним 20/01/20 Пнд 16:50:11 1578740 128
>>1578738
>набежали гитхаберы
Называй гоферов своими именами.
Аноним 20/01/20 Пнд 16:51:06 1578741 129
Аноним 20/01/20 Пнд 16:53:08 1578744 130
>>1578738
Пока вы хайпуете на халяву, парень донаты кушает и играется.
Мне то как бы насрать, но есть более достойные кандидатуры.
Аноним 20/01/20 Пнд 16:56:34 1578749 131
>>1578744
> Мне то как бы насрать, но есть более достойные кандидатуры.
Огласите весь список, пожалуйста.
Аноним 20/01/20 Пнд 16:56:46 1578750 132
>>1578724
>напоминает болгенос
Болгенос - нагло спизженный продукт с переклееными этикетками. V - это скорее Антивирус Попова™, т.к. заявленного функционала чуть более, чем дохуя, а на деле он либо только в мануале, либо пыль в глаза (флаг -compress, на котором заглушка стоит, или неработающее самообновление).

>>1578738
У D изредка даже свой тред всплывает, но на плаву достаточное время продержатся не способен, быстро тонет. V явно побольше интереса вызывает у проходящих мимо анонов. С объединенным тредом нормально будет.
Аноним 20/01/20 Пнд 17:08:42 1578757 133
>>1578750
Аналогичные треды, скажем, по го, тоже на хейте живут, надо подымать в /b/
Практика показывает там больше кодеров чем тут.
Аноним 20/01/20 Пнд 17:32:07 1578779 134
image.png 72Кб, 1154x452
1154x452
>>1578248
Функциональщики здесь?
Аноним 20/01/20 Пнд 17:36:56 1578784 135
Аноним 20/01/20 Пнд 17:42:26 1578789 136
>>1578705
Этот тред в виде объединения не планировался. Тот анон, что упоминал V вчера днём и рассказывал, что уже пишет шапку, ко мне отношения не имеет. Я не согласен с идеей объединения этих языков в одну категорию, т.к. в отличие от остальных V пилится фанатичным двачером. Ни Nim, ни Zig, ни D зачем это старьё вообще сюда тащить не стремятся сразу закрыть все ниши — REPL, текстовый редактор, веб-фреймворк, встроенная ORM, движок для форума, либа для GUI. В то же время Zig даже пакетным менеджером не разродился, хотя предложения добавить висят в issues с 2017. V заюзал короткое стильное и запоминающееся (хоть и не в первый раз взятое для названия ЯП) имя. Набиря v -v ты понимаешь, что это не npm --version, здесь другие ребята, хоть и настолько же амбициозные и склонные к принципу FITYMI.
Аноним 20/01/20 Пнд 17:43:08 1578790 137
>>1578779
Дзякую табе божа, што я беларус
Аноним 20/01/20 Пнд 17:44:38 1578791 138
>>1578790
А что там недавно за события были? Вроде рф пыталась поглотить.
Аноним 20/01/20 Пнд 17:46:21 1578793 139
>>1578750
>неработающее самообновление
Че это неработающее, я сегодня утром обновил с 09d1eb7 на b1602c72, потом на 9b3ac7e, только что на 84438c0
Аноним 20/01/20 Пнд 17:47:51 1578795 140
image.png 200Кб, 2304x900
2304x900
>>1578779
Хуясе, а с чем это связано?
Аноним 20/01/20 Пнд 17:48:47 1578796 141
>>1578791
Поглотит к 2024, будет ещё один дотационный регион и новые санкции. Я к тому времени планирую съебать.
Аноним 20/01/20 Пнд 17:49:47 1578800 142
>>1578795
С тем что Беларусь пишет код для западных заказчиков.
всегда ваш, кэп
Аноним 20/01/20 Пнд 17:53:18 1578804 143
image.png 33Кб, 676x239
676x239
Аноним 20/01/20 Пнд 17:53:37 1578806 144
>>1578793
На винде у меня не работает:
V panic: exec failed (CreateProcess): The system cannot find the file specified.
TODO: print_backtrace_skipping_top_frames_mingw(2)
print_backtrace_skipping_top_frames is not implemented on this platform for now.

Может mingw не той версии (у меня не самый новый, но и не слишком старый должен быть; впрочем, у меня там пара инсталяций, и хуй знает, какую оно решило использовать). В любом случае, было бы неплохо получить хотя бы неотфильтрованную ошибку mingw, а не сообщение о том, что функция для фильтрации вывода не реализована.
Аноним 20/01/20 Пнд 17:54:54 1578807 145
>>1578804

PHP передает привет

list ($lol, $kek, $cheburek) = explode(",", $lmao);
Аноним 20/01/20 Пнд 17:59:27 1578813 146
>>1578795
ФП очень сильно связанно с желанием индивида самоутвердиться. Почему именно эти странны, я хз.
Аноним 20/01/20 Пнд 18:02:13 1578814 147
>>1578813
>ФП очень сильно связанно с желанием индивида самоутвердиться.
Как будто ойти и программирование в целом не связаны, лол. Программистишки бегают туда-сюда и пытаются всем доказать, что вот они то настоящие программисты, а <языкнейм>-программисты -- не программисты.
Аноним 20/01/20 Пнд 18:03:02 1578816 148
Лол. Здесь прогер своего ядра отказался от rust в пользу nim: https://github.com/ckkashyap/rustix/issues/8
Ещё ядро: https://github.com/dom96/nimkernel
Понятно, что проекты любительские и им не тягаться с ядром линукса. Да и заброшены уже. Но сам факт их наличия говорит, что язык подходит для системщины.
Аноним 20/01/20 Пнд 18:07:10 1578818 149
>>1578816
> в пользу nim
> update: 7 years ago
> до сих пор никто не знает про nim
Аноним 20/01/20 Пнд 18:18:13 1578830 150
>>1578804
У него, кстати, какое-то фанатическое нежелание добавлять новые ключевые слова (впрочем, это объяснимо, учитывая собранный на коленке парсер). Можно было бы вообще извращение по типу такого придумать:
x, y, z := slice(a)
На отмену от := a это не выглядит как попытка присвоить массив переменным, к тому же можно версию с указанием длинны сделать, что бы можно было инициализировать новый массив из куска другого:
dst := slice(src, 8)
Его решение для массивов с более чем 5 элементами будет напоминать создание псевдословарей из C, или даже чего похуже - заполнение словаря парой десятков элеметов в C#.
Аноним 20/01/20 Пнд 18:20:24 1578832 151
Аноним 20/01/20 Пнд 18:22:51 1578836 152
>>1578832
Точно такой же вывод, просто в начале ещё вывело путь к бинарнику V и повторило аргументы.
Аноним 20/01/20 Пнд 18:23:33 1578837 153
>>1578816
Ой, слушай, спасибо что напомнил. У Медведникова же ещё пилится https://github.com/vlang/vos со своим гибридным ядром. Но это затея настолько ебанутая, что контрибьютора там всего три.
Аноним 20/01/20 Пнд 18:25:00 1578839 154
>>1578836
Значит пришло время переустанавливать шиндошс
Аноним 20/01/20 Пнд 18:27:46 1578844 155
>>1578806
В конце концов, просто зайди в локальную репу и сделай make.
Аноним 20/01/20 Пнд 18:31:01 1578846 156
>>1578844
Да мне его обновлять нахуй не нужно. Сама суть в том, что заявленный функционал не работает.
Аноним 20/01/20 Пнд 18:34:59 1578848 157
Аноним 20/01/20 Пнд 18:36:09 1578849 158
image.png 8Кб, 209x142
209x142
Аноним 20/01/20 Пнд 18:41:28 1578852 159
Автор V мне напоминает того шизика из хабра, который 12 лет (по его словам) свой говноЯП пилил (cine), тоже в Сишечку компилируется кстати. Но V явно поуспешнее будет, уже донатов и звезд успел понахватать, хоть они оба сырые.
Аноним 20/01/20 Пнд 18:44:05 1578854 160
>>1578852
V должен сам себя компилировать уже.
Аноним 20/01/20 Пнд 18:53:32 1578858 161
>>1578854
Он же вроде перегоняет код в C и дальше компилирует его при помощи gcc, разве нет? Свой код он в C транспилировать может, а вот когда научится бинарники делать - хуй его знает.
Аноним 20/01/20 Пнд 19:04:44 1578867 162
Аноним 20/01/20 Пнд 19:07:44 1578871 163
>>1578867
ну ето пока не совсем так
подробности в мейкфайле
Аноним 20/01/20 Пнд 19:09:15 1578873 164
>>1578871
хотя если понимать те слова как "компилируется в (бинарники без зависимостей)", то все норм
Аноним 20/01/20 Пнд 19:40:53 1578901 165
Аноним 20/01/20 Пнд 19:55:52 1578919 166
Аноним 20/01/20 Пнд 20:29:52 1578941 167
>>1578690
>Бинарник HW занимает 123 KB, с флагами -g -prod 87 KB (без -g не компилируется с -prod), -compress декоративный.
Ты сегодня это тестил? На какой платформе?
У меня не hello world, конечно, но простенькая утилита с запросами по сети (import term, time, net, os) после -prod -compressed занимает 19400 байт. При этом для -compressed требовалось поставить upx. Такое решение, да, не нативное, но зато strip'ом больше нечего чистить.
Аноним 20/01/20 Пнд 21:09:50 1578972 168
>>1578941
Сегодня, там в первом предложении платформа (Win, архитектура x86-64), но версия V немного не актуальная (впрочем, автор яблопидор и приоритеты у него другие, так что не особо жду). Флаг -compress реализован только на *nix, в Windows декоративный (выводит сообщение, что пока не поддерживается). strip - утилита ЖМУ, а они практически все портированы на винду, так что почистить уже готовые бинарники и я могу, god bless rms. Почему с этим не справляется линкер языка - для меня загадка, но это уже больше не к V вопрос, а к D и прочим языкам, у которых бинарники по полмегабайта. У Go хотя бы оправдание есть - у них линкера нет вообще (слишком сложная тема для гугловских трансгендеров и альтернативно белых), и простой вывод в консоль добавляет 2 мегабайта мертвого груза.
Аноним 20/01/20 Пнд 23:31:58 1579102 169
155613399712194[...].jpg 33Кб, 1000x700
1000x700
Глядя на все эти нововасянские языки, у меня почему-то возникает желание не бежать выбирать самый захайпленный и ждать с моря погоды, а как бы вопреки всему напридумывать свой, который будет ищщо быстрее/проще/компактнее/сахарнее и вообще утрёт носы. Хоть и не суждено этим фантазиям сбыться.
Аноним 21/01/20 Втр 01:41:20 1579155 170
Аноним 21/01/20 Втр 01:41:52 1579156 171
>>1579155
То есть, речь про симпатию.
Аноним 21/01/20 Втр 02:56:20 1579175 172
Аноним 21/01/20 Втр 14:45:04 1579453 173
У этого V говнистый REPL, ни home нажать, ни end, ни ^W.
Аноним 21/01/20 Втр 21:22:17 1579850 174
>>1578220 (OP)

Тред не читал. Вопрос сходу: это сишка с дженериками? Если нет, то зачем это нужно?
Аноним 21/01/20 Втр 21:33:54 1579885 175
>>1579850
В сишке и так есть какие-то генерики (C11). Так что не нужно, лол.
Аноним 21/01/20 Втр 21:47:31 1579912 176
>>1579885
Говно это на макросах и свиче, а не генерики.
Аноним 21/01/20 Втр 21:52:23 1579920 177
>>1579850
Погуглил, дженерики на макросах, такое себе.
Аноним 21/01/20 Втр 22:17:12 1579991 178
>>1579920
Збс.
# define GENERATE_ABS(type)\
type abs##type(type x)\
{\
return x < 0 ? -x : x;\
}

GENERATE_ABS(int)
GENERATE_ABS(float)
GENERATE_ABS(double)
Аноним 21/01/20 Втр 22:34:29 1580057 179
Прикольная штука, но непонятно, что делать, если в одной либе есть interface bar с функцией foo, а в другой либе есть interface baz с функцией foo. Да и куча других проблем вылезет на больших проектах. А для хелловордов и олимпиадок удобно, конечно.
Аноним 21/01/20 Втр 22:45:59 1580072 180
Аноним 21/01/20 Втр 22:47:49 1580074 181
>>1580072
То есть
u := User
u.bar.foo()
Так штоле?
Аноним 21/01/20 Втр 22:49:16 1580077 182
>>1580074
Давай стракты целиком, пока непонятно
Аноним 21/01/20 Втр 22:49:50 1580079 183
>>1579991
А нахуй оно нужно? Для целочисленных типов есть implicit конверсия (даже кастовать не нужно, не кресты), так что функция, принимающая long будет точно так же работать и на int, и на short (разве что переполнение возвращаемого числа чуть по другом может работать). А для чисел с плавающей запятой всё равно придется отдельную функцию пилить, если там что-то нетривиальное, т.к. 5 / 2 != 5.0 / 2.0.
Аноним 21/01/20 Втр 23:18:04 1580121 184
>>1578789
Zig тёплый и уютный. А v для впереди паравоза бегущих хипстеров.
Автор уже заполнил анкету? Аноним 21/01/20 Втр 23:38:18 1580160 185
Итак, Вы собираетесь создать новый
[] функциональный
[] императивный
[] объектно-ориентированный
[] процедурный
[] стековый
[] мультипарадигменный
[] быстрый
[] статически-типизированный
[] динамически-типизированный
[] чистый
[] богатый
[] не-искусственный
[] наглядный
[] простой для новичков
[] простой даже для не-программистов
[] абсолютно непостижимый
язык программирования.

Не получится. И вот почему.
Вы, скорее всего, верите, что:
[] Синтаксис — это то, что делает язык сложным
[] Сборка мусора бесплатна
[] Компьютеры имеют бесконечную память
[] Никому на самом деле не нужны:
[] параллельность,
[] интерактивность,
[] поддержка отладчика,
[] IDE,
[] ввод\вывод,
[] взаимодействие с кодом на других языках.
[] Весь мир общается в 7-битном ASCII
[] Масштабирование для больших проектов будет простым
[] Убедить программистов пользоваться новым языком будет просто
[] Убедить программистов пользоваться новой IDE будет просто
[] Все программисты любят шаблоны
[] Вам не аукнется обозначение некоторого поведения как «неопределенного»

К сожалению, в Вашем языке есть (нет):
[] нормальный синтаксис
[] точка_с_запятой_в_конце_строки
[] проблема табов\пробелов
[] макросы
[] неявное преобразование типов
[] явное преобразование типов
[] наследование
[] goto
[] исключения
[] замыкания
[] хвостовая рекурсия
[] подпрограммы
[] рефлексия
[] подтипы
[] множественное наследование
[] перегрузка операторов
[] алгебраические типы данных
[] рекурсивные типы данных
[] полиморфические типы данных
[] монады
[] зависимые типы данных
[] префиксные\постфиксные операторы
[] вложенные комментарии
[] переносы строк
[] регулярные выражения
[] вызовы по имени
[] вызовы по адресу.

И еще возникают такие вот философские препятствия:
[] Программисты не обязаны полностью понимать теорию относительности и квантовую механику чтобы написать на Вашем языке «Hello, World!»
[] У программистов не должен развиться туннельный синдром за время написания «Hello, World!» на Вашем языке
[] Пока что самая выдающаяся программа на Вашем языке — это компилятор Вашего языка
[] Пока что на Вашем языке Вы не можете написать даже компилятор Вашего языка
[] А еще у Вас нет никаких спецификаций
[] Реализация — вот спецификация
[] но реализация закрытая,
[] защищена патентами,
[] не принадлежит Вам
[] Ваша система типов дефектна
[] Некоторые конструкции Вашего языка, возможно, не могут быть трактованы однозначно
[] и есть конкретные примеры таких конструкций
[] и они валят Ваш компилятор
[] Название Вашего языка делает невозможным его поиск в Гугле
[] Ваш язык — интерпретируемый, а значит никогда не будет столь быстрым как С
[] Ваш язык — компилируемый, а значит никогда не будет гибким
[] Для компиляции Вашего языка требуется искусственный интеллект
[] Вы рассчитываете на оптимизации, которые, откровенно говоря, не способны реализовать
[] В мире меньше 100 программистов, достаточно умных, чтобы использовать Ваш язык
[] Задача ________________, которая у всех решается за полиномиальное время, на Вашем языке реализуется только за экспоненциальное
[] А задачу __________________ и вовсе реализовать нельзя

Кроме того, Ваша реализация имеет следующие недостатки:
[] CPU работает не так, как Вы думаете
[] RAM работает не так, как Вы думаете
[] VM работает не так, как Вы думаете
[] И компиляторы не работают так, как Вы думаете
[] Более того — они даже в принципе никогда не смогли бы так работать
[] Конфликты «сдвиг-свертка» по ходу парсинга решаются методом rand()
[] Вам зачем-то понадобилось присутствие компилятора в рантайме
[] Вам зачем-то понадобился рантайм в компиляторе
[] Ошибки, выдаваемые Вашим компилятором, загадочны и непостижимы
[] Компилятор падает даже от брошенного на него косого взгляда
[] Вы не понимаете базовые принципы оптимизации
[] Вы не понимаете базовые принципы системного программирования
[] Вы не понимаете указатели
[] Вы не понимаете функции

И еще есть и некоторые маркетинговые проблемы:
[] Вам нечего ответить на просьбу увеличить скорость работы
[] Вам нечего ответить на просьбу упростить язык
[] Вы внаглую сфальсифицировали бенчмарки
[] в компилятор были вшиты вычисленные заранее значения расчетов, симуляций или тестов
[] в тестах строковых операций Вы незаметно использовали Perl
[] в мат. тестах Вы незаметно использовали BLAS
[] Хотя это не помогло и никто всерьёз не поверил, что Ваш язык быстрее, чем
[] Ассемблер
[] С
[] Фортран
[] Java
[] Руби
[] Пролог
[] Вы бездоказательно отбросили классическую теорию разработки языков программирования
[] Вы бездоказательно отбросили основы системного программирования
[] Вы бездоказательно отбросили теорию алгоритмов
[] Да Вы вообще все компьютерные науки отбросили

Смотря на всё это в общем, следует заметить, что:
[] Ваш «короткий» пример на 2 десятка строк можно реализовать одной строкой в языке __________
[] Уже существует небезопасный императивный язык
[] Уже существует безопасный императивный язык
[] Уже существует безопасный статически-типизированный функциональный язык
[] Вы переизобрели Lisp, только хуже
[] Вы переизобрели Javascript, только хуже
[] Вы переизобрели Java, только хуже
[] Вы переизобрели C++, только хуже
[] Вы переизобрели PHP, только хуже
[] Вы изобрели что-то лучше, чем PHP, но это не оправдание
[] Вы переизобрели Brainfuck, вот только в отличии от его авторов — на полном серьёзе

Ну и вот что я о Вас думаю:
[] Вы молодец, у Вас есть кое-какие интересные идеи. Но это не взлетит.
[] Получился плохой язык и Вам должно быть стыдно за него.
[] Программирование на этом языке — самое адекватное наказание Вам за его изобретение.
Аноним 21/01/20 Втр 23:38:27 1580161 186
>>1580079
Это просто пример. Впрочем, нормальные люди так делать не будут.
Аноним 21/01/20 Втр 23:41:47 1580164 187
Аноним 21/01/20 Втр 23:43:23 1580167 188
Аноним 21/01/20 Втр 23:44:04 1580169 189
>>1578362
>"Плюсы тормознутое переусложнённое говно!"
>сделал тормознутое переусложнённое говно
Браво, Джон.
Аноним 22/01/20 Срд 00:26:08 1580208 190
>>1580160
Создание ЯП - аутизм ещё тот. Продумывал парочку, на деле дошел до рабочего прототипа только один (ИСЧХ, в него я вложил меньше всего усилий - буквально несколько часов; чуть не переизобрел стаковый язык по типу Forth с облегченным синтаксисом). Что я из всего этого извлек:

1. Хорошая и обширная стандартная библиотека очень важна;
2. Компилироватся язык должен прямиком в машинный код, а не в C, иначе это просто большой макросов с кастомным парсером;
3. Ключевые слова языка должны быть предсказуемыми и иметь однозначный смысл для всех возможных применений (плохой пример - static в чистом C), на конструкции по типу for, while, iter жлобится не стоит;
4. Флаги компилятора (кроме самых базовых), если не планируется встроенная система сборки, лучше разрешить указывать в самом коде - здесь хороший пример C с его #pragma.
Аноним 22/01/20 Срд 02:10:51 1580275 191
Аноним 22/01/20 Срд 04:37:57 1580298 192
>>1580208
Проектировал свой язык, но уперся в том что не хватает нового составного типа данных. Не ООП (в том числе, наследование, агрегация, делегирование) и даже простые структуры не решают вагон встречаемых задач без костылеварения.

Поэтому вся эта сахарщина херня и не имеет смысла (привыкнуть можно ко всему). Если нет гибких "кирпичиков" из которых будешь строить туже стандартную библиотеку. Начинать даже не стоит
Аноним 22/01/20 Срд 05:09:00 1580303 193
image.png 333Кб, 500x260
500x260
>>1580275
Мне даже читать неохота, но представлю, что один обмудок на zig понял, что если принтинь хеллоу-ворд с минимальным числом сисколов, то это будет, неожиданно, очень быстро. И решил оптимизировать именно этот участок, чтобы померятся пиписьками.

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

Пока нормальные проекты замеряют свои писюны в вебе, или в число-дробилках, где-то в другом месте, отважные, но не очень умные, меряются принтами.
Аноним 22/01/20 Срд 05:13:30 1580306 194
Тред не читал.
> фигурные скобки
> 2020
Аноним 22/01/20 Срд 05:19:10 1580307 195
> - Loading complex 3D objects with textures wip
> - Camera (moving, looking around) wip
> - Skeletal animation wip
> DirectX, Vulkan, and Metal support is planned.
> Coming soon:
> - a Delphi-like visual editor for building native GUI apps
> - iOS/Android support with native controls
> - a declarative API similar to SwiftUI and React Native.
wip, wip, coming soon, planned. Охуенные плюсы!
Аноним 22/01/20 Срд 05:22:08 1580308 196
image.png 33Кб, 523x399
523x399
Да это шиза ебаная! Откуда такие проекты берутся?!
Аноним 22/01/20 Срд 08:17:47 1580360 197
>>1580306
>принты
>2020
Могли бы уже ИИ написать, который сам бы принтовал когда надо
Аноним 22/01/20 Срд 08:18:57 1580362 198
>>1580307
Все ждем антивирус и хорошие обои в IDE.
Аноним 22/01/20 Срд 12:07:13 1580517 199
>>1580303
Не угадал. Там лишь демонстрация низкоуровневого программирования и уменьшение бинарника. Никаких бенчмарков.
Аноним 22/01/20 Срд 12:14:16 1580522 200
>>1578220 (OP)
Блин, хотели общий тред по малоизвестным языкам (D, Nim, Crystal...), высрали тред про V с нескучным обоями синтаксисом.

Почему ру-говорящие коммьюнити всегда все делает через попу??
Аноним 22/01/20 Срд 12:22:42 1580537 201
>>1580522
Где мой тред про Nim и D!!!!!
Аноним 22/01/20 Срд 12:24:35 1580543 202
>>1580522
ОП-хуй этот тред запилил, пока шапку для общего пилили, сейчас уже нет смысла раскалывать на два. Тут половина треда обсуждение всяких Zig'ов с Nim'ами, но адепты этих языков не так часто забегают, т.к. не могут найти. Вот можешь почитать, что ОП спизданул: >>1578789
Аноним 22/01/20 Срд 12:48:53 1580566 203
>>1580543
Этот тред выглядит как тред для V. Народ уже по-проигрывал и забил болт. Никаких Nim и D тут обсуждать не будут, потому что красуется заголов V и все проходят мимо.
Аноним 22/01/20 Срд 12:50:49 1580569 204
>>1578789
>>1580543
Ну оп-хуй, он считает, что обещания лучше, чем реально рабочий код. Но мы же не такие долбаебы?
Аноним 22/01/20 Срд 12:50:55 1580570 205
>>1578290
Это же руби! Лучше бы сделали настоящие функции первого порядка, а не поддельные блоки кода, тогда и ООП велосипед не нужен был бы.
Аноним 22/01/20 Срд 12:51:54 1580571 206
>>1580569
...мы знаем цену софта и что значит написать все эти обещания
нужна команда как у MC или гугла.
Аноним 22/01/20 Срд 12:53:38 1580572 207
>>1580570
Это груви и там реально лямбды пишут через { } не блоки, это сахар для лямбд
Аноним 22/01/20 Срд 14:03:18 1580638 208
>>1580569
Очередной ждущий всего готового. Хочешь быстрее — садись и помогай пилить. Пулл-реквесты в master каждые полдня вливаются. Всё растёт, всё меняется, баги фиксятся, добавляются новые, фичи пилятся, ломаются старые, это живой блядь организм, посмотри на график контрибьюторов.
Аноним 22/01/20 Срд 14:20:50 1580651 209
>>1580638
Давай гитхлам я тебе про D залью, раз ты обосрышь один не можешь.
Он согласился создать, за язык не тянул никто. Первую тему можно без шапки бампать инфой по языкам.
Аноним 22/01/20 Срд 14:32:20 1580665 210
image.png 44Кб, 953x460
953x460
Жизнь до и после первого релиза V.
Аноним 22/01/20 Срд 14:35:57 1580668 211
Разобрался, почему make компилятора v не работал на винде (самообновление по той же причине скорей всего). Оно требует установленный и помещенный в PATH бинарник git. Уебанство ещё то, как по мне, т.к. оно ради одного (!) файла из другого репозитория требует эту хуйню, причем в зависимостях нигде не указано (указан только gcc). В итоге ручками собрал (насчет <1 секунды на сборку компилятора автор неплохо так наебал).
Аноним 22/01/20 Срд 14:37:05 1580670 212
>>1580668
>оно ради одного (!) файла из другого репозитория требует эту хуйню
Ты не понял, v up скачивает обновления гитом.
Аноним 22/01/20 Срд 14:53:27 1580686 213
>>1580670
Хуй с этими обновлениями (хотя git в зависимостях нигде нет, что бы понять, нужно в сурцы этой обновлялки лезть). Нахуй один файл компилятора было в отдельный репозиторий выносить? Когда я клонирую репу, я жду, что зависимости либо там присутствуют, либо указаны явно.
Аноним 22/01/20 Срд 14:57:20 1580689 214
А всё потому, что V - это сокращение от Vasyan.
Аноним 22/01/20 Срд 15:00:51 1580690 215
>>1580686
Шизик, как ты можешь работать с опенсорцом и не иметь в PATH бинарника git? Может надо было в докер образ тебе завернуть с предустановленным гитом? А чтобы ты смог запустить докер, надо было написать положить его рядом в репозиторий?
Аноним 22/01/20 Срд 15:11:49 1580708 216
>>1580690
Не всем нужен гит в консоли, когда всё есть в иде. inb4: не знаешь команд гита в консоли - не программист
Аноним 22/01/20 Срд 15:12:47 1580711 217
Давайте разберем по частям написанное автором V в его репозитории на гитхабе:

>Simplicity: the language can be learned in less than an hour
При условии, что ты уже хорошо знаешь хотя бы один C-подобный язык, конечно.

>Fast compilation: ≈100k — 1.2 million loc/s
Пиздежь.

>Easy to develop: V compiles itself in less than a second
На моем 4-ядерном i5 компиляция компилятора v компилятором v заняла ~22 секунды.

>Performance: within 3% of C
Не нужно быть писателем бенчмарок, что бы понять, что язык который предоставляет абстракции поверх C и компилируется в него же, сможет работать с такой же скоростью в исключительно редких случаях.

>C to V translation
Пиздежь, нет вообще ни в каком виде. Зачем выдавать запланированное за действительное - хуй его знает.

>C and JavaScript backends
Никакого JavaScript бэкенда там нет, так что очередной пиздеж.
Аноним 22/01/20 Срд 15:19:23 1580729 218
>>1580690
Мне обязательно нужно иметь его в path? Обязательно пользоватся той самой реализацией? Она обязательно должна быть названа git, а не wingit, g, git-v2? Только красноглазый пидорас или яблопидор мог додуматся тащить в зависимости бинарник на сотню мегабайт ради одного текстового файла с кодом.
Аноним 22/01/20 Срд 15:31:47 1580761 219
>>1580708
Ну это пиздос конечно. Вообще-то так и есть, ты не программист.
И эти люди потом в соседнем треде девочку из Яндекса называют взятой по гендерным квотам. Так девочка в Яндексе пишет код в виме под i3, а местные "программисты" собирают код из подсказок IDE и коммитят мышкой.
Аноним 22/01/20 Срд 15:33:13 1580763 220
>>1580729
Чувак, просто отойди и не мешай. Разработка нового языка процесс не твоего уровня.
Аноним 22/01/20 Срд 15:38:44 1580774 221
>>1580763
А ты много языков разработал? Хотя бы пытался? Я вот парочку пробовал высрать, моя паста выше по треду.
Аноним 22/01/20 Срд 15:43:30 1580780 222
>>1580761
Не программист так не программист. От своих слов не отказываюсь, даже будучи линуксоидом, ебущимся с консолью и гитом каждый день.
При чём тут вообще гендер? Раздел, вроде, про программирование, а не про врождённые особенности анатомии людей.
Аноним 22/01/20 Срд 15:47:48 1580789 223
>>1580780
делаешь/думаешь не как мейнстрим - не погромизд
а так как сообщество чсвшное, с какого хуя правда не особо понятно, то это принимает пугающие формы.
Аноним 22/01/20 Срд 17:00:54 1580842 224
>>1580711
Ты проста не погромизд!
Аноним 22/01/20 Срд 17:53:40 1580883 225
>>1580761
Ох уж эти борщехлебы, определяющие настоящесть программиста по тому, насколько колючий кактус он себе в жопу вставил без всякой на то причины.
Аноним 22/01/20 Срд 18:07:42 1580893 226
>>1580842
А автор V не программист, а эффективный рекламщик. Вместо того, что бы запилить нормальную платформу, он с работающим через раз компилятором и незаконченным синтаксисом полез пилить обертки для отрисовки GUIшек. Зато можно пост на Patreon высрать о том, что в языке теперь GUI можно рисовать - и срубить очередную порцию бабла с хомячков, т.к. они в сорцы всё равно не смотрят. А на деле за два года написан только большой набор макросов для C с костыльным парсером и обертку вокруг gcc, а автор целыми днями сидит в конфочках, насасывающих его поделию - орошает почву для потенциальных инвесторов, так сказать.
Аноним 22/01/20 Срд 18:08:13 1580894 227
>>1580761
Ох эти избалованные мониторами и vim'ами ваннаби-программисты, без своего монитора, совсем не могут код написать.

Хера эта девочка не сидит на VCS? Совсем избалованное поколение.
Аноним 22/01/20 Срд 18:11:41 1580899 228
>>1578220 (OP)
В галеру возьмем парня с 4 годами продакшт опыта на V.
Аноним 22/01/20 Срд 18:13:53 1580900 229
Как определить уровень программиста в 2020 году?

Если он восхищается языком Го - он неопытен и глуп.
Если он пишет на vim - он ограниченный и фанатик с которым будет трудно работать (потому что он особенный и код у него особенный).

Аноним 22/01/20 Срд 18:25:29 1580904 230
>>1580900
Правильно, в 2020 только emacs
22/01/20 Срд 18:45:57 1580909 231
>>1578220 (OP)
Очередная голанг-параша.

>Key Features of V
>...
>Built-in ORM
Сука, 2020 год. Ну сколько можно блядь. Ебаное говно, ебаные дилетанты, говно.
Аноним 22/01/20 Срд 19:05:29 1580917 232
>>1580900
двачую
в 2k20
только жаба на идее
единственная тру комбинушка
Аноним 22/01/20 Срд 19:52:55 1580945 233
>>1580900
Пишу на работке на джаве в идее, а дома на крестах в виме, лол.
Аноним 22/01/20 Срд 22:02:46 1581054 234
Аноним 22/01/20 Срд 22:18:34 1581062 235
>>1581054
Сорян, не успел прочитать инструкцию, давай к 2030.
Аноним 22/01/20 Срд 22:23:31 1581066 236
>>1580900
>Если он восхищается языком Го - он неопытен и глуп
Замечал такое.
Аноним 22/01/20 Срд 22:28:41 1581073 237
Аноним 22/01/20 Срд 22:29:23 1581074 238
>>1581073
То он глуп, но неопытен.
Аноним 22/01/20 Срд 22:59:11 1581108 239
>>1581074
Так ты то же самое сказал, не интересно.
Аноним 22/01/20 Срд 23:16:51 1581132 240
Аноним 23/01/20 Чтв 00:24:52 1581174 241
Предположим, в V из функции мне нужно было бы вернуть массив и какое-то число. Что я бы мог потенциально сделать:
1. Передать ссылку на массив аргументом, а вернуть число. Мутабельные массивы перестают работать, когда передаются в функцию (for now it's not possible to append an element to a mutable array argument либо ошибка C).
2. Вернуть кортеж (tuple). Их в языке нет, так что облом.
3. Вернуть struct. Они аллоцируются на стэке, так что не получится. Аллоцировать заранее тоже нельзя, см. пункт 1.

Вот и всё. Единственный способ - записать изменение в какой-то из элементов массива, но это возможно только для числовых массивов, и нужно делать проверку на переполнение (к примеру, i8 хранит только числа до 127, так что такой массив размером 128+ не вернешь уже без кучи извращений).
Аноним 23/01/20 Чтв 12:46:44 1581425 242
>>1581174
Верни массив с двумя аргументами, где первый хранит число, а второй - массив.
Аноним 23/01/20 Чтв 12:57:11 1581436 243
>>1581425
Типы данных в массиве должны совпадать. Если первый элемент возвращаемого массива - массив стрингов, в нулевой уже не положишь ни число, ни числовой массив.
Аноним 23/01/20 Чтв 13:07:27 1581446 244
>>1581436
Лол, ну и говно. А что гетерогенных структур не завезли? И юнион типов тоже?
Ну верни map тогда.
Олсо не понял проблему с возвратом struct.
Аноним 23/01/20 Чтв 13:14:30 1581448 245
>>1581446
Map тоже не вариант, в этом языке это словарь. Перечитал доку по страктам, там таки можно на куче их аллоцировать, так что вполне себе вариант.
Аноним 23/01/20 Чтв 13:47:55 1581480 246
Объясните кто-то этому пидарасу (который автор V), что количество байтиков в UTF-8 (в котором его говностринги хранятся) != количеству букв. Слово "хуй" - 3 буквы, а не 6. Почему 3-байтовые символы там имеют длинну 4 - я вообще не ебу.

А почему об отсутствии сборщика мусора он так тактично умалчивает? Стал бы кто-либо пользоватся языком, если бы на его страничке было написано, что все аллоцируемые массивы не освобождаются, а память в любой программе с ними течет не хуже, чем пизда феминистки во время месячных? Самый крупный проект на V - блокнотик vid, весит меньше vim, а вот в памяти через 15 минут работы весит как полноценная IDE, т.к. течет не переставая.
Аноним 23/01/20 Чтв 14:08:31 1581490 247
>>1581480
Ты или донять или уходи.
Аноним 23/01/20 Чтв 16:10:27 1581621 248
>>1581490
Не идиоматично. Пусть висит.
Аноним 23/01/20 Чтв 17:02:54 1581659 249
v.jpg 13Кб, 237x234
237x234
>>1578220 (OP)
Почему опенсурс сообщество совместными усилиями не запилит наконец полноценную замену С/С++? Почему ноунейм одиночки считают, что им это под силу? Вот Линус, например запилил свой гит, потому что другие системы контроля не устраивали, да и C++ он не любит.
Аноним 23/01/20 Чтв 17:25:58 1581666 250
Аноним 23/01/20 Чтв 19:23:45 1581755 251
>>1581666
Джонатан Блоу считает, что раст слишком сильно печется о безопасности, что делает его Big Agenda и High-Friction.
Аноним 23/01/20 Чтв 19:44:05 1581771 252
>>1581659
Потому что сообщество, походу, нихуя не может. Даже вся экосистема лялеха, которая тащится энтузиастами, по большей части была придумана ещё в прошлом веке, и до сих пор глюкнутая и не юзер-френдли.
Кто может? Крупные компании, у которых есть миллионы человекочасов, но им некогда, денежки кто-то уже сейчас приносить должен. Вот тот же голанг такой не потому, что у гугла нет ресурсов на допиливание, а потому что он решает их бизнес-задачи, а большего и не нужно.
Аноним 24/01/20 Птн 02:47:19 1581996 253
Аноним 24/01/20 Птн 03:25:32 1582000 254
>>1581659
Да потому что у всех програмиздов баг: подавляющее большинство слабосоциальные интроверты, которым очень сложно коммуницировать и искать компромиссы объединяясь в одно большое сообщество, но гораздо проще форкнуть/переписать или сделать свою реализацию.

В итоге имеем горы языков, форков, дублирующих софтин, библиотек, фреймворков, дистрибутивов и сотни самописанных парсеров json/xml/cfg и етц. Комплекс бога "я сделаю лучше" — только всё усугубляет. Было бы иначе — то каждая опенсорсная софтина/либа/дистр/фреймворк в редких случаях имела бы максимум 1 форк/реализацию... А так имеем десятки, сотни тысячи вариаций и комбинаций одного и того же...

ЗЫ: речь сугубо про открытые нонпрофитные сообщества, а не проприетарщину и ентерпрайз в которых надо делать, что скажут.
Аноним 24/01/20 Птн 05:09:02 1582010 255
Аноним 24/01/20 Птн 05:13:04 1582011 256
>>1582000
Как хорошо, что в других сферах не так, да?
Аноним 24/01/20 Птн 07:23:24 1582028 257
>>1581666
Эксперимент затянулся, мс скоро выкатит свой раст с вменяемый синтаксисом.
Аноним 24/01/20 Птн 11:42:36 1582140 258
>>1582011
Ну давай расскажи в каких сферах энтузиасты выпускают бесплатные продукты в миллионах вариаций делающих одно и то же...
Аноним 24/01/20 Птн 12:21:09 1582158 259
>>1582000
Наглый пиздёж про интровертов. Чтобы где-то опубликовать свой велосипед, уже нужно быть экстравертом, который с лёгкостью может договориться с остальными.
Дело только и исключительно в "комплексе бога".
Аноним 24/01/20 Птн 12:56:04 1582185 260
>>1582158
> Чтобы где-то опубликовать свой велосипед, уже нужно быть экстравертом, который с лёгкостью может договориться с остальными.
Нет. Можно держать гитхаб как зеркало и ни с кем не договариваться.
Аноним 24/01/20 Птн 12:56:51 1582186 261
>>1582185
И никто туда не зайдёт.
Аноним 24/01/20 Птн 13:13:05 1582197 262
>>1582140
Городские стандарты на благоустройство: везде реальные требования одни и те же, но у каждого города свой стандарт. Да любые законы в целом, натуральные форки. Хотя казалось бы, чиновники постоянно на совещания должны кабанчиками скакать. В искусстве вообще брать чужое на грани зашквара. Бизнес? Да такая же хрень, постоянно изобретаются велосипеды и люди сидят на работе скриптов, пока не придет программист и не автоматизирует. Попробуй зайди в магазин для электронщиков и охуей от разнообразия микросхем, микроконтроллеров и прочей поебени. И это кто-то произвел с вложением десятков и сотен тысяч долларов, а не просто нажал кнопку fork на гитхабе.

Просто ты открыл для себя молоток типа "программисты не умеют общаться" и дальше везде видишь гвозди, хотя это большей частью манямирок в твоей голове.
Аноним 24/01/20 Птн 14:41:02 1582257 263
>>1581996
Потому что C++ многие не любят, в том числе уважаемые люди, как Линус. А Си устарел и не очень подходит для разработки крупных проектов. Игровые движки, 3д пакеты, фото/видеоредакторы и прочий высокопроизводительный софт на чистом Си практически никогда не пишется.
Аноним 24/01/20 Птн 15:01:29 1582263 264
>>1582257
Заменить C очень сложно, т.к. он близок к идеалу. Все те языки, которые в этом треде обсуждались - всего лишь расширения/дополнения/макросы (superset) для оригинального C, иногда хорошие, иногда несущие слишком много ограничений в замену пары новых фич. Причем достигнуть близкой к C производительности будет очень сложно, т.к. C фактически портируемый ассемблер, и 90% его фич очень хорошо натягиваются на инструкции архитектуры x86, а там половина "убийц C" генерирует какой-то невнятный код на том же самом C с кучей оверхедных конструкций и тяжелыми либами для простых возможностей языка, и все это потом компилируется отполированным компилятором C, ибо все, что они могут высрать - это трансляторы. ООП возможности крестов вполне может заменить C#, однако что-то низкоуровневое пилить на нем неудобно, а куча абстракций привносит своих оверхеды (Java ещё хуже, т.к. низкоуровневость почти такая же, и при этом генерации нативного кода я в ней не видел, так что только JVM, что уже сосет на распостраненных архитектурах). Комплексной (полноценной) замены не планируется, т.к. всё, что пилят сейчас - это абстракции поверх, а не горизонтальные альтернативы.
Аноним 24/01/20 Птн 15:38:21 1582291 265
>>1578220 (OP)
Какие фичи у языка и под какую область он пилится?
Аноним 24/01/20 Птн 19:07:28 1582445 266
>>1582263
>ООП возможности крестов вполне может заменить C#
Ёбнулся совсем? В том же абзаце пишешь
> невнятный код на том же самом C с кучей оверхедных конструкций и тяжелыми либами для простых возможностей языка,
и тут же на голубом глазу про сиришётку. Аллё, друг, там виртуальная машина, сборка мусора и рантайм, который жрёт на диске больше, чем библиотека стима.
Аноним 24/01/20 Птн 20:19:03 1582472 267
>>1582445
>виртуальная машина
Байткод C# умеет компилироватся в нативные бинарники (причем под конкретную архитектуру, аналог -march=native в C) - гугли ngen (MS сама прогоняет через него библиотеки .NET при установке).

>сборка мусора
Ты прав, но за последние несколько лет я очень редко встречал бинарники на винду на чистых крестах, а не C++/CLI (managed C++).

>рантайм, который жрёт на диске больше, чем библиотека стима.
Тем не менее, он зачастую уже включен в винду с момента установки. И если уж макаки дорвались до написания приложений, пусть лучше пользуются широкой стандартной библиотекой самого языка, чем тащат две сотни зависимостей (как на говНоде) или вообще целиком инстанс хрома (electron) - там обычный блокнот будет весить столько, как клиент-версия библиотеки .NET.
Аноним 24/01/20 Птн 21:36:48 1582504 268
>>1582472
В ноябре выйдет новая версия дотнета, которая будет единой и опенсорсной (дотнет полностью перейдет на опенсорс).
Скринте, топ язык 20ого десятилетия.
Аноним 24/01/20 Птн 21:40:13 1582507 269
>>1582504
На бэке у него сто тысяч конкурентов, так что рынок на бэке вряд ли сильно у него как-то изменится, разве что место джавы пододвинет, как язык для десктоп-приложух он и так весьма значимую долю имеет
Аноним 24/01/20 Птн 22:20:36 1582528 270
Аноним 24/01/20 Птн 22:29:03 1582535 271
Аноним 24/01/20 Птн 22:35:35 1582538 272
image.png 35Кб, 590x495
590x495
image.png 49Кб, 994x650
994x650
image.png 63Кб, 871x693
871x693
image.png 152Кб, 565x436
565x436
>>1582507
Всегда радует реакциях этих из криогенной камеры. Оказывает дотнет уже теснит пхп, а они все там думают как на жаба-коболе спринг запустить так, чтоб не тормозил, или как на го делать кодогенерацию, пробрасывая ошибки ручками верх по стеку, как веселые мартышки.
Аноним 24/01/20 Птн 22:37:19 1582543 273
>>1582538
>дотнет уже теснит пхп
В проектах на шаред хостинге, ага.
Аноним 24/01/20 Птн 22:39:45 1582548 274
image.png 332Кб, 503x1000
503x1000
>>1582538
Продолжайте кушать буллшит маркетологов, ведь 3 сиксилиона девайсев врать не будет.
Аноним 24/01/20 Птн 22:42:36 1582550 275
>>1582543
Шаред хостинг в 2020, когда vps на пару центов дороже.
Попробуй продвинуть в поисковом ранжирование сайт на шаред хостинге, где на одном IP 10К таких же сайтов, половина из которых флуд/спам/скам.
Аноним 24/01/20 Птн 22:54:09 1582564 276
image.png 112Кб, 500x452
500x452
>>1582548
Жабисты подносрали, вот тру-пикча
Аноним 24/01/20 Птн 23:29:52 1582585 277
>>1582548
В 2001 году у джавы был Oracle? Вот ты и обосрался, петух.
Аноним 25/01/20 Суб 00:03:44 1582605 278
>>1582550
Ставлю тебя перед фактом. В компании, где я работал, более 30 linux серверов для шаред хостинга, на каждом по ~500 сайтов. Из них 99.9 на PHP. 15к сайтов на PHP, живых, блядь, оплачиваемых, наполняемых, продвигаемых и поддерживаемых кем-то сайтов. И это ни разу не топовый хостинг провайдер РФ. В каком у тебя манямирке все вдруг метнулись на .NET, когда допиливание сайта на .NET обходится владельцу в разы дороже,— понятия не имею.
Аноним 25/01/20 Суб 10:25:23 1582688 279
>>1582585
>Даун увидел фикс картинку.
>Покакал в тред, типа он умный.
Аноним 25/01/20 Суб 10:27:24 1582689 280
>>1582605
Да вылезай уже из криокамеры.
У нас ~20 кластеров, везде там линукс и везде там .Net Core

аутисты думающие что си шарп это только на винде
Аноним 25/01/20 Суб 11:16:44 1582698 281
>>1582688
>даун не различает 10 и 20 лет
Аноним 25/01/20 Суб 12:22:25 1582715 282
>>1582698
Привлекать к себе внимание на анонимном форуме. Насколько низко ты пал, тортошизик?
Аноним 25/01/20 Суб 17:07:34 1582862 283
>>1582689
>линукс
>.Net Core
Пиздец вы там отбитые. Небось Microsoft Gold Partner.
Аноним 25/01/20 Суб 18:27:13 1582897 284
image.png 1771Кб, 1200x556
1200x556
>>1582862
Что не так криокамерщик? .Net Core опенсорс.
В ноябре будет весь шарфик опенсорс.
Аноним 25/01/20 Суб 20:08:55 1582961 285
>>1582715
Это вы все итт шизики. Вам оракл везде мерещится.
Аноним 25/01/20 Суб 21:56:10 1583022 286
>>1582961
Очевидно что хайп вокруг жабы раздуть искусственно и подогревался больше за счет андроида.
Аноним 26/01/20 Вск 14:29:47 1583267 287
>>1583022
Жаба будет жива и без ведроида.
Аноним 26/01/20 Вск 15:24:49 1583296 288
image.png 439Кб, 900x900
900x900
Аноним 26/01/20 Вск 15:32:46 1583297 289
>>1583296
Delphi + VB / C# сделай еще картинку
Аноним 26/01/20 Вск 16:10:10 1583325 290
>>1583297
Зачем С#, топчик среди фулл-ооп
Аноним 26/01/20 Вск 17:04:32 1583372 291
Аноним 26/01/20 Вск 17:12:33 1583376 292
>>1583296
Если это у жабы всё плохо, то об остальных языках вообще говорить не стоит. Вывод - ИТ в жопе.
Аноним 26/01/20 Вск 17:22:11 1583387 293
Аноним 26/01/20 Вск 17:29:19 1583392 294
>>1583387
Заебался скрывать тот тред. А ещё заебался скрывать МВП-треды
Аноним 26/01/20 Вск 18:28:01 1583442 295
>>1583392
Автоскрытие поставь, программист.
Аноним 26/01/20 Вск 18:42:19 1583447 296
>>1583442
Охуенно, спасибо. Жаль, в клиенте так не сделать.
Аноним 26/01/20 Вск 18:52:32 1583454 297
>>1583376
>Если это у жабы всё плохо, то об остальных языках вообще говорить не стоит
Логика уровня программист.
Конечно, ведь все 3 квинтиллиона дивайсов работают на жабе.
Аноним 26/01/20 Вск 18:55:27 1583456 298
image.png 140Кб, 1580x669
1580x669
>>1583442
Напиши свой парсер-анализатор двачей
Аноним 26/01/20 Вск 18:58:52 1583460 299
>>1583456
> /po
> /news
> /b
Достаточно туда не заходить.
Аноним 26/01/20 Вск 19:03:17 1583464 300
>>1583460
Раньше /po был чуть ли не лучшим новостным агрегатом. Сейчас да, не захожу туда вообще.
Аноним 26/01/20 Вск 19:45:29 1583492 301
image.png 494Кб, 1145x821
1145x821
>>1583456
Хотел написать на джаве в энтерпрайзном ООП стиле, но заебался уже на предметной области и проектировании.
Пикрелейтед схема моего небольшого пет-проекта по генерации капчи.
Аноним 26/01/20 Вск 20:22:59 1583515 302
>>1583492
Сама java EE это продукт фантазии бородатых дядек, которые скорее всего даже уже код реальный не пишут, а рисуют интерфейсы, ради интерфейсов.

Программирую серьезно херову тучу лет, до сих пор не могу нормально проектировать сверху вниз. То что уже писал ни раз, легко могу, но новую предметную область - нет.
Постоянно приходится переосмысливать, переписывать (абсолютно пустая трата ресурсов).
Коллега говорит я тупой у меня функциональное/процедурное мышление, но качественнее код я пишу именно снизу верх.
Аноним 26/01/20 Вск 20:29:56 1583520 303
>>1583515
>>1583492
Пишешь сначала саму генерацию капчи без веба вообще, скриптом. Прям процедуркой.

Потом распределяешь по функциям и классам. Делаешь конечное API внешнее. Допиливаешь до блеска.

И уже потом берешь и на базе известного API ты пишешь уже веб API.
Аноним 26/01/20 Вск 20:31:43 1583521 304
>>1583515
Джава ЕЕ хоть и морально устарела, но и появилась она давным-давно, в те времена, когда из альтернатив был только убогая CGI-лапша на языках типа перла.
Аноним 26/01/20 Вск 20:31:51 1583522 305
>>1583520
Если сама генерации это что-то сложное, его тоже делишь на части и пишешь сначала самое простое, что можешь из этих частей. Но так же снизу вверх потом собирая.
Аноним 26/01/20 Вск 20:35:20 1583524 306
>>1583521
Это можно сказать про сервлеты. Они были настолько практичны, что даже пилили отдельной контейнер, который не включал весь EE, а только часть сервлетом.
Все остальное в ЕЕ это поток говно фантазии (и как и половина ранних w3c творений)
Аноним 26/01/20 Вск 21:33:25 1583564 307
>>1583447
В каком это клиенте так не сделать?
Аноним 26/01/20 Вск 21:38:59 1583571 308
>>1583564
Можно, я не сразу нашёл. Просто день открытий для меня.
Аноним 27/01/20 Пнд 10:47:37 1583849 309
>>1578220 (OP)
Без корутин - нинужно, ибо есть Го и Кристал.
Аноним 29/01/20 Срд 02:53:06 1585279 310
Бамп годному треду.
07/02/20 Птн 22:04:56 1594724 311
Сдох ваш тред? А жява еще жива :З
07/02/20 Птн 22:20:33 1594737 312
>>1594724
Он с момента создания был обречен сдохнуть. Целых 250 постов понадобилось что бы распробовать V и понять, что он - недоделанное говнище, ибо его создатель столько всего напиздел, что целого треда не хватит для опровержения его пиздливых высеров.
Аноним 08/02/20 Суб 23:54:20 1595929 313
image.png 65Кб, 180x160
180x160
>>1594737
Зато явно показал, насколько легко разводит айтишников. Язык V это аналог эксперимента "Ленин гриб".
Аноним 09/02/20 Вск 00:07:50 1595938 314
>>1594724
Да что там жаба - раст и тот живее.
Аноним 09/02/20 Вск 02:25:59 1595979 315
>>1595929
Будто у кого-то были сомнения. Программисты, будучи одним из самых платежеспособных слоев населения в этой стране, предпочитают тратить деньги на потреблядство (в первую очередь из-за комплексов, полученных благодаря бедному/неполноценному детству - по крайней мере я пока не встречал кодеров, выросших в богатых благоприятных семьях, кроме тех случаев, когда это было ещё во время того, когда вычислительная техника была роскошью). Даже те единицы, которые решают вкатится в бизнес, чаще всего обречены на провал из-за наивности мышления и полного непонимания процесса продажи товара (в котором 80% зависит от маркетинга, и лишь 20% от качества и всего остального) - парадокс, вызванный тем, что все потенциальные айтишники с предпринимательской жилкой ещё на стадии выбора профессии ушли в кабанчики, оставляя лишь маленький процесс исключений - хоть и незначительный, но активно расхайпленный СМИ в виде историй успеха отдельных айтишников, которые при выяснении обстоятельств часто имеют опосредствованное отношение к непосредственно написанию кода.

>>1595938
Жабу-то не трогай. У них просто традиции - перекатыватся после 1000 поста.
Аноним 10/02/20 Пнд 21:02:53 1597528 316
Никто не умер, V 0.2 вот-вот выйдет.
Аноним 10/02/20 Пнд 21:05:04 1597531 317
Аноним 03/03/20 Втр 00:37:24 1621555 318
Ну как там, взлетел?
Аноним 03/03/20 Втр 01:13:44 1621560 319
>>1578220 (OP)
>Simple, fast, safe

ну жаба первой версии тож симпл была
Аноним 03/03/20 Втр 01:30:10 1621575 320
>>1578548
На плюсы просто уже заканчиваются неотвеченные мыслимые и немыслемые вопросы
Аноним 03/03/20 Втр 01:32:48 1621578 321
image.png 3Кб, 208x194
208x194
Аноним 03/03/20 Втр 01:53:35 1621583 322
>>1621578
Какая-то невнятная хуйня с памятью
@
Добавлять деструктуризацию

Лол
Аноним 03/03/20 Втр 04:25:01 1621612 323
>>1621578
Или кресты тащемто.
Аноним 03/03/20 Втр 17:57:44 1622081 324
>>1578220 (OP)
Как эти конченные умудряются каждый раз делать другой синтаксис, уже столько языков создали и все равно находится залупа которая делает другой синтаксим
Аноним 03/03/20 Втр 18:18:09 1622097 325
>>1622081
Потому что языкописатели думают, что языки отличаются исключительно синтаксисом. На инфраструктуру им похуй.
Аноним 03/03/20 Втр 19:25:14 1622166 326
За поддув гитхаба платят? Как там вылазят иссисисы каждый день по несколько штук?
Аноним 28/03/20 Суб 03:06:40 1644313 327
>>1622166
Вирусное распространение идей нового языка.
Аноним 28/03/20 Суб 06:13:50 1644332 328
>The new compiler can finally compile itself!
>The old backend will now be removed after all tests pass.
>The new AST based backend is much cleaner, easier to develop/maintain, and ~2 times faster.
>Special thanks to @joe-conigliaro and all other contributors who helped make this happen.

Реальной рандомный васян решивший создать язык при помощи щитпостинга
Аноним 28/03/20 Суб 13:58:51 1644510 329
13770353325750.jpg 136Кб, 1909x1059
1909x1059
Аноним 29/03/20 Вск 02:47:16 1645056 330
>>1578220 (OP)

если мамка борщи готовит и не такое можно написать
Аноним 29/03/20 Вск 08:24:21 1645098 331
>>1578240
работает да и ладно
Аноним 14/04/20 Втр 09:44:22 1657536 332
>>1578220 (OP)
>Язык программирования V — самый молодой среди успешных и самый успешный среди молодых
Дальше не читал.
Аноним 19/04/20 Вск 06:32:58 1661519 333
15843970116370.png 667Кб, 1024x1024
1024x1024
наконец-то не понятный mut заменили на var
19/04/20 Вск 15:20:12 1661912 334
Аноним 20/04/20 Пнд 11:43:01 1662689 335
>>1578264
Не программист, видел только синтаксис С и питона, чем ГО прям так хуев?
Аноним 20/04/20 Пнд 11:49:35 1662695 336
>No null
>No global variables
>No undefined values
>No undefined behavior
>No variable shadowing
>Bounds checking

Кто разменивает свободу на безопасность, не достоин ни того, ни другого
Аноним 20/04/20 Пнд 12:35:19 1662726 337
Аноним 06/08/20 Чтв 18:19:47 1770109 338
Бамп
Аноним 06/08/20 Чтв 18:27:22 1770118 339
>>1662695
А тот кто выбирает свободу
потом остаётся после работы дебажить очередной обосрамс
Аноним 06/08/20 Чтв 20:05:48 1770206 340
Не понял. Почему программы такие маленькие? Вообще странно, что такой язык существует. Кажется чудом.
Аноним 06/08/20 Чтв 20:15:07 1770213 341
06/08/20 Чтв 20:16:17 1770214 342
>>1770206
> Почему программы такие маленькие?
Компенсируется количеством ОЗУ, которое сожрут утечки из-за на редкость кривого компилятора.
Аноним 08/08/20 Суб 19:34:48 1772141 343
Хороший язык
Аноним 13/08/20 Чтв 12:54:45 1775914 344
rofl.jpg 29Кб, 1280x720
1280x720
че котаны, очередной убийца С++?
Аноним 13/08/20 Чтв 13:29:00 1775947 345
>>1775914
С++ мертв, это убийца Rust
Аноним 13/08/20 Чтв 13:33:26 1775958 346
>>1775947
ясно, держи в курсе, зумерок :D
Аноним 13/08/20 Чтв 14:29:15 1776025 347
Аноним 13/08/20 Чтв 23:09:55 1776648 348
Так почаны, нахуй ваш V, все перекатываемся на Odin.

https://odin-lang.org/
Аноним 14/08/20 Птн 00:22:56 1776695 349
>>1776648
Это попытка уебищностью синтаксиса победить раст, который победил кресты?
Аноним 14/08/20 Птн 01:14:35 1776731 350
>>1581659
Твой вопрос надо разделить на два:

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

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

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

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

Вот так и сишка. Её фишка в её примитивности. Простые инструменты тоже нужны. Компилируется на любом говне, полно библиотек, свои задачи решает. Неудобная ручка, выпиленная дедом из пня, занозы? Так надень перчатки, в чём проблема вообще?

>C++
C++ и так на данный момент очень нишевый инструмент. Люди, которые используют C++, и так хорошо понимают, почему им нужен именно C++. Те, кому C++ не нужен, пишут на языках с мусоросборниками, пишут на скритовом гоне, выбора тащемта вагон, бери любой язык под задачу. Поэтому что такое "полноценная замена C++" мне не понятно. Альтернатив крестам полно со своими фишками и заёбами, но если человек взял кресты, то, наверное, именно кресты ему лучше и подходят.
Аноним 14/08/20 Птн 01:48:47 1776744 351
>>1578852
Автор cine это классическая такая история. Каждый кодер пока вырастет, чем-то таким переболеет. Только у этого парня хватило чсв свои наивные юношеские фантазии и открытия выдать за что-то всерьёз полезное. А 12 лет это норма, по строчке кода в месяц, как раз и выходит что пилил ты свой язык аж целых 12 лет.
Аноним 14/08/20 Птн 01:51:03 1776747 352
>>1579102
Ну это нормально. Они сделали изобретение языков весёлым снова. Всё по фану.
Аноним 14/08/20 Птн 01:53:38 1776748 353
>>1580522
Хорошо сделал. Продал V как боженька. И обсуждение D, Nim, Crystal здесь органично вплелось. У общего треда была бы крайне скучная шапка.
Аноним 14/08/20 Птн 01:55:20 1776750 354
>>1581755
Двачну, вкат довольно трудный. И магических закорючек в коде много.
Аноним 14/08/20 Птн 02:11:26 1776754 355
jul.png 3Кб, 124x80
124x80
Кажется, этому треду не хватает Julia.
Аноним 14/08/20 Птн 02:16:28 1776757 356
> Memory management
> The compiler cleans everything up during compilation
> If your V program compiles, it's guaranteed that it's going to be leak free.

Какая-то неубедительная хуйня. А если я создаю циклические ссылки? А если создаю объекты в куче? Там что, весь стейт программы нужно через стек протаскивать?
Аноним 14/08/20 Птн 09:31:35 1776841 357
>>1776695
Мне нравится, идея с " a:= 5; a: int = 5" была позаимствована у блоу, который наверное тоже откуда-то позаимствовал, прикольная идея как по мне. Синтаксис поинтеров немного непривычен, но как утверждает создатель, взят из паскаля.

Cтатьи у него интересные, особенно про аллокаторы. https://www.gingerbill.org/

Автор старается не нагромаждать лишнего и держатся в минималистических рамках.

Компилится как я поняв через ллвм сейчас.
Аноним 14/08/20 Птн 11:45:53 1776969 358
>>1776695
Что ты несешь, кого там блять раст победил?) Его как не юзали в проде, так и не юзают, а пока Сишка на 1 месте в TIOBE, кресты на 4, и кресты дохуя где используются и продолжают использоваться. В этом языке столько киллер-фич, построенных гениями, что убить его не получится еще очень, очень долго.
Покажи мне еще один ЯП, который больше половины вычислений может перекидывать на компайл тайм, имеет возможность бесплатного по рантайму полиморфизма и имеет нечто похожее на темплейты (нет, дженерики далеки от темплейтов), а темплейты, напоминаю, Тьюринг полные, это фактически отдельный язык программирования внутри плюсов. И, внимание, резолвинг ВСЕГО, что связано с темплейтами, происходит во время компиляции - 0 футпринта на рантайм. А variadic templates? Короче, говорить можно об этом долго.

Вердикт таков - даже у раста нет шансов, это мертворожденная хуйня для борщехлебов-хипстеров, которую ждет максимум участь языка D, и это в лучшем случае.
Аноним 14/08/20 Птн 12:42:44 1777049 359
>>1776969
> TIOBE
Дальше твой высер можно не читать.
Аноним 14/08/20 Птн 15:15:25 1777282 360
Аноним 14/08/20 Птн 17:56:02 1777484 361
>>1578220 (OP)
>:=
Что это за ебаная хуита? Можно было обойтись без двоеточия. Хорошо хоть фигурные скобки добавили.
Аноним 14/08/20 Птн 18:30:07 1777530 362
>>1777484
Это не присваивание, как ты подумал из-за знания паскаля, а объявление переменной с выводом типа. Этот синтаксис высрали в Go, затем сабж его спиздил.
Аноним 14/08/20 Птн 18:59:08 1777547 363
>>1578220 (OP)
А, это тот язык, который через шелл curl вызывал?
Аноним 14/08/20 Птн 18:59:39 1777548 364
>>1578220 (OP)
Все еще не понимаю смысла существования V. Nim уже придумали. Какой смысл в V? Появится смысл только если будет куча либ, гейм-движков и кросплатформеннолсть. впрочем как и у нима
Аноним 14/08/20 Птн 19:06:14 1777554 365
>>1777548
Нет в нём никакого смысла. Даже у борщехлёбских лиспов с хаскеллями инфраструктура в разы более развитая.
Аноним 14/08/20 Птн 23:18:01 1777745 366
>>1777548
Ну так можно относительно легко сделать себе имя написав несколько самых насущных либ. Такое ощущение что на дваче сидят не гребцы, а сплошные капитаны галер.
14/08/20 Птн 23:53:28 1777767 367
>>1776969
> Что ты несешь, кого там блять раст победил?)
Я же сказал: победил уебищностью синтаксиса. Это совершенно другая олимпиада, чего ты сразу загорелся?
Аноним 24/02/21 Срд 21:16:30 1950906 368
Аноним 24/02/21 Срд 23:49:32 1951003 369
>>1777554
>лиспов с хаскеллями
Они ещё живы?
25/02/21 Чтв 00:05:10 1951010 370
>>1951003
Живы, если критерием считать не размер комьюнити, а сам факт развития.
хуй знает, вроде мой пост был, за полгода забыл уже
Аноним 26/02/21 Птн 00:20:08 1951845 371
Ладно, если будет дабл я изучу этот язык ролл нахуй
Аноним 26/02/21 Птн 00:20:36 1951846 372
>>1951845
Почти но не судьба, пока ребятки
Аноним 01/03/21 Пнд 14:42:29 1954647 373
Ну и как там этот ваш V?
Аноним 01/03/21 Пнд 23:42:45 1955117 374
>>1578312
>Это реальный размер хеллоуворлда на джулии?
это тред про джулию? а где тред про джулию? а что такое джулия?
Аноним 01/03/21 Пнд 23:46:55 1955120 375
>>1578441
>Более абстрактной фразы найти не могли? Можно более нормальное описание нахуй он нужен.
Если авторы языка, пытаясь описать, зачем он нужен, и чем он лучше существующих, не в состоянии придумать ничего содержательного, значит, их язык ничем не лучше и не нужен, по их же собственному мнению.

- армяне лучше, чем грузины!
- чем же они лучше?
- чем грузины!
Аноним 03/03/21 Срд 19:56:10 1956742 376
Пиздец. Первый СКАМ ЯП.
Аноним 06/05/21 Чтв 15:06:00 2021624 377
Аноним 06/05/21 Чтв 18:55:53 2021974 378
>>1955120
Компилируется быстрее чем си и плюсы. Доштаточно.

>>1956742
Не пизди, нормально всё. Даже работает. Наверное.
06/05/21 Чтв 19:23:45 2022036 379
>>2021974
> Компилируется быстрее чем си и плюсы
И течёт тоже быстрее.
> Наверное.
Этим всё сказано.
Аноним 06/05/21 Чтв 19:45:40 2022071 380
>>1581480
Да вроде не особо течет: https://www.youtube.com/watch?v=gmB8ea8uLsM

>V avoids doing unnecessary allocations in the first place by using value types, string buffers, promoting a simple abstraction-free code style.

>Most objects (~90-100%) are freed by V's autofree engine: the compiler inserts necessary free calls automatically during compilation. Remaining small percentage of objects is freed via reference counting.

Только вот непонятно, как это всё на самом деле работает. Про autofree еще можно поверить, но действительно не всегда можно статически вычислить время жизни переменной. Дальше он пишет про reference counting, но reference counting тоже не поможет при циклических ссылках, например.

И откуда такая скорость конпеляции - тоже не понятно. Тем более если он делает при конпеляции какой-то анализ для вычисления времени жизни объектов.
Аноним 06/05/21 Чтв 20:00:51 2022086 381
>>1578220 (OP)
ОП добавь в шапку про то где у языка истоки пожалуйста. С++ или JS чтобы понятно было для чего он.
Аноним 06/05/21 Чтв 20:42:04 2022114 382
>>2022036
>И течёт тоже быстрее.
Не проверял конечно, но вроде не течет. Покрайней мере по отзывам.
> Этим всё сказано.
Ну чел, это тебе не это.
Если бы это дико текло, вой бы стоял по всем интернетам. А тут только парочка озлобленных шизов с хакерньюс ноют.
Аноним 06/05/21 Чтв 20:44:34 2022115 383
>>1776754
Вот я бы писал на Юлечке.
мимопиздолис
Аноним 06/05/21 Чтв 20:53:13 2022118 384
image.png 67Кб, 1153x420
1153x420
>>2022071
Штош, вопрос с GC вроде решился. Хуякнуть escape analysis, когда он не работает, хуякнуть reference counting, сверху заполировать Boehm-ом. Ну, ладно, допустим такой подход имеет право на жизнь, осталось понять, как там устроена кодогенерация.
Аноним 06/05/21 Чтв 23:05:41 2022241 385
image.png 105Кб, 1201x678
1201x678
>>2022118

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

AST фронта большой и страшный.

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

Сишный бэкэнд хуярит сишку writeline-ми. Autofree - похоже действительно примитивный escape analysis, причем скоупом считается скоуп в языке, прямо как вы его задали. Анализа присвяивяний не могу найти. Возможно его нiт. Объясняю, что происходит на пикрелейте. Допустим у вас есть:

a = malloc(хуй)
x = f(* a) { retun a; }
return x

Вот тут очевидно нельзя добавлять free(a), нужно знать, что было внутри f. Афтор решил эту задачу, да как красиво! Создаёт переменную tmp в которую копирует стурктуру целиком, теперь можно удалить все выделенные переменные (если, конечно, внутри функции f они куда-нибудь не утекли). Собственно, для этого, наверное, и нужно, чтобы функции были "чистыми" и не было глобальных переменных. Потому что какого-то явного assignment analysis я там не вижу.

Некоторые оптимизации тоже встроены в генератор. Однопроходные, естественно, матчит ноды AST-а и заменяет на более "оптимальные" на его взгляд.

Нативный генератор недописан. Вернее там вообще почти пусто, кругом заглушки. Есть такое ощущение что это вообще не должно конпелироваться, потому что есть вызовы несуществующих функций. Или я в глаза долблюсь. Интересно, про какие миллионы строк в секунду на нативном генераторе они говорили. Миллионы строк в секунду на заглушках?
Аноним 06/05/21 Чтв 23:20:05 2022251 386
>>2022114
По какому всему интернету? V - это накроенная поделка 20 детнего русского студента,юез какого либо серьезного опыта в разработке - он буквально учится программировать, создавая V.

Язык по существу никому неизвестен и никем не используется.
Аноним 07/05/21 Птн 00:04:29 2022319 387
Suigintou583hv.jpg 267Кб, 800x800
800x800
>>2022241
Короче, котятки, мои выводы по данному языку.

Начну с плохого.

Полностью согласен с людьми, которые "воспринимали язык как мем". Это и есть мем. Это вовсе не "безопасная сишка" for developing maintainable software, это очень опасный препроцессор сишки, который расставляет free() по своему усмотрению. Четкой концепции управления памятью нет.

Этот >>1578240 прав. free() расставляются в кодогенераторе по каким-то одному автору известным критериям. Этот >>1578240 не прав. Т.к. статически определять точное время жизни объекта в тьюринг-полных языках невозможно (из-за проблемы остановки), это не будет полностью работоспособным никогда. Будут постоянные сегфолты. По мере добавления новых правил их будет всё меньше, но количество правил тут бесконечно.

Язык не сильно течёт. По крайней мере после того, как прикрутили Boehm.

Про скорость конпеляции - пиздёж. Если на выходе код на Си, то полная конпеляция по определению не может быть быстрее работы финального конпелятора Си. Что имелось ввиду под нативным кодогенератором - я не совсем понял. Я его тупо не нашел (может в глаза долбился).

Генератор Си - однопроходный препроцессор. Он может быть быстрым, но он, сука, почти ничего не делает, поэтому и быстрый. Но чтобы решать подобные https://github.com/vlang/v/issues/9881 проблемы, нормальный тайпчекер нужен и type inference.

По мере реализации нужных фич появится необходимость и в развитии AST, возможно, в добавлении нескольких промежуточных AST, во многопроходном конпеляторе и в применении алгоритмов с большей вычислительной сложностью.
Как сейчас это написано - это полный ахтунг. Модули по 7 тысяч строк с закатами и восходами солнца в ручном режиме и непонятным образом размазанной по ним функциональностью (вроде оптимизаций AST на стадии кодогенерации). Это всё надо будет рефакторить, чтобы это можно было развивать и сопровождать, следовательно когда язык достигнет зрелости, никакой скорости там уже не будет. О чём думают разработчики нативного кодогена, я вообще не знаю, они хотя бы аллокацию регистров осилят? (хотя, это решаемо, ведь можно генерировать LLVM IR)
Аноним 07/05/21 Птн 00:27:13 2022353 388
14fcc109c422489[...].jpg 111Кб, 1000x760
1000x760
Теперь о хорошем.

Во-первых, востребованность подобного языка. Автору не нужно доказывать, зачем нужен этот язык, все и так это прекрасно понимают. Всем нужен язык "как Сишка, но лучше." И мы знаем, как успешно это взлетает. Вот есть Java, есть Kotlin - это как Java, но лучше (тоже поначалу критиковали). А Котлина для низкоуровневого программирования нет. Rust - это не Kotlin для низкоуровневого программирования, это скорее Scala. И Go - это не Kotlin для низкоуровневого программирования, это низкоуровневый Groovy. А автор V очень хорошо определил хотелки к низкоуровневому Котлину, прямо угодал, что люди хотят (хоть и не смог этого реализовать). Возможно ему бы следовало назвать свой первый релиз не pre-alpha, а "Здраствуйте. Я, Alexander Medvednikov. Хотел бы чтобы вы сделали язык, Си-подобный суть такова..." и продавать саму идею.

Впрочем, идею он продал на отлично. 23k звёзд. 1.4k форков. У GHC 2.5k звёзд. Конечно, разработка GHC хостится на собственном сайте, на гитхабе только зеркало, но автор безумно успешен. Продолжу в следующих постах.
Аноним 07/05/21 Птн 00:58:59 2022397 389
animesher.comro[...].jpg 119Кб, 750x1022
750x1022
Во-вторых, автор - ёбаный гений.

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

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

Это становится понятно, если анализировать его код не с точки зрения дизайна, а с точки зрения подхода к решению конкретной задачи - создать продукт. Хуйнуть идею, продемонстрировать возможность её реализации, привлечь людей.
Какая разница, насколько там всё хуёво внутри и какие есть сейчас "нерешаемые" проблемы в его концепции? Илон Маск сейсас какие-то силосные бочки на ракетном двигателе запускает, обещая полёты к Марсу. Так вот, автор V - это тот же Илон Маск на минималках.

Что такое MVP? Это minimum viable product. Это когда ты не задротсвуешь, а конпелируешь и запускаешь Tetris, Doom, веб-сайт и текстовый редактор на всех патформах на недописанном языке, который который хочешь продать. Это когда ты запускаешь в небо силосные бочки, а через год, когда привлёк ресурсы, уже вполне нормальные ракеты. Вот только так это и работает. Теперь только от автора зависит, как он распорядится привлеченным к нему вниманием, сможет ли он грамотно распорядится ресурсами и довести проект до ума.
Аноним 07/05/21 Птн 01:59:47 2022425 390
17026.jpg 25Кб, 255x300
255x300
Теперь ответы на воображаемую критику.

Автор сделал кривую поделку.

Linux - это кривая поделка. Linux изначально был сделан на коленках и хуёво. Таненбаум сделал Minix ОС правильно, и вообще, он явно лучше шарил в разработке ОС, чем его ученик. Но взлетело именно кривое поделие Торвальдса.

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

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

Какие объективные проблемы есть у V?

Например, объектвно кривая работа с памятью. Но это реальная проблема? Допустим, сидит какой-то сыч, который знает, как правильно работать с памятью. Однако, он никогда не будет пилить свой язык, потому что он никогда не привлечет людей и никогда его не раскрутит. А что мешает ему присоединиться к команде V и сделать правильное управление памятью? Ведь достаточно всего одного компутерсаентиста, чтобы спроектировать грамотную систему управления памятью. Более того, ему даже программировать не придётся, достаточно пейпера, если есть комьюнити, которое всё за него закодит.

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

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

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

-------------

Теперь мои мысли относительно жизнеспособности V.

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

Сейчас я вангую, что их подход к управлению памятью очень кривой и опасный и такую хуйню никто не примет, но что если придёт человек, который её препроектирует?

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

У Скалы 13k звёзд, у них 23k. Это очень серьёзная заява, посмотрим, смогут ли они переварить внимание к своему гениальному хайпу и конвертировать его в успешный инструмент, или всё проебут.
Аноним 07/05/21 Птн 02:23:12 2022428 391
>>2022397
>Вот только так это и работает
Это так никогда не работает.
Нет ни одного успешного масс продукта, который на стадии mvp был говно говном, а потом когда привлек ресурс еге перепилили как следует. Всегда все наоброт, и говно становится еще большим гвном. А когда степень говна доходит до критической отметки, происходит форк, который перепиливают с нуля, и часто совсем другие люди, может быть лишь косвенно связанные с первоначальной версией. После чего изначальный прдукт либо умирает вместе с компанией, либо форк не взлетает, и гвоно продолжает плавать, до следующей попытки форка. И эти процессы дляться десятилетиями. А пока они дляться, появляться новый говенный mvp очередной идеи, который затмевает уже потребность перепиливать прежнее говно, и все начинается с начала.
Аноним 07/05/21 Птн 02:25:13 2022429 392
>>2022428
И по итогу, ты просто всю жизнь пользуешься ГОВНОМ-MVP в красивом фантике, потому что на рынок они выходят быстрее. Но они никогда не становятся в конечном счёте качественым продуктом.
Аноним 07/05/21 Птн 02:41:55 2022432 393
>>1578813
Желание самоутвердится очень сильно связано с несоответствием представлений индивидума о его возможностях с его реальнымы доходами. Программисты в Германии по скилам примерно равны программистам в Белоруссии или Казахстане.

Однако, сытый бюргер, программирующий на Джаве и едящий свои сосички, вряд ли захочет что-то менять и тратить время на самоутверждение. А белорусский программист спросит: "0уле я такой умный, но бедный, может быть во мне что-то не так, может быть мне надо стать функциональной илитой?"

На самом деле, самые безбашенные функциональщики живут в Индии. Ты только на это посмотри https://eta-lang.org/ Полный порт Хаскеля на jvm. Просто снос башки по трудозатрам. И сделал это всего один индус со своей женой (или со своими женами, я не знаю, как у них устроено).

Но Индия выглядит на карте как страна ООП просто потому, что там дохуя аутсорса, который перекрывает таких поехавших. А так-то да, чем беднее страна, тем больше программистов, которые ищут себя в альтернативах мейнстриму. Такая моя теория.
Аноним 07/05/21 Птн 03:07:47 2022434 394
>>2022428
>Нет ни одного успешного масс продукта, который на стадии mvp был говно говном
А Linux? А Windows? А Delphi? А PHP? А ёбаный в рот и в жопу Oracle, который Ларри не просто недоспиздил, но ещё и назвал своё недоспиженное говно "версией 2", чтобы всех наебать и показать, что, мол, первая версия была, а его украденное и недособранное говно ещё лучше?

Все современная индустрия - это mvp-говно, я даже не могу найти обратных примеров.
Аноним 07/05/21 Птн 03:20:50 2022435 395
>>2022434
>linux
Ты на полном серьезе не знаешь, какое адское адище представляет собой набор костылей?

>windows
Ты не в курсе про ветки 9x и полностью перепиленнный с нуля форк windows nt? Или ты не читал пост? А про развитие всех последующих версий винды на базе nt ты действительно считаешь полноценным допиленым продуктом? vista? 8? м?

>php
Про полностью перепиленный с нуля php 4 в который впилили ООП, и новый с нуля написанный для него zend ты тоже не в курсе?



Аноним 07/05/21 Птн 03:23:09 2022436 396
>>2022434
И да, то какое жутчайшее кривое легаси представляет собой Oracle внутри есть тысячи статей, и почему это не могут изменить.
Аноним 07/05/21 Птн 03:34:02 2022439 397
>>2022435
>Ты на полном серьезе не знаешь, какое адское адище представляет собой набор костылей?

Знаю. Я же о том и писал, что Linux был говном с самого начала. Ты ведь просил представить масс продукт, который на стадии mvp был говно говном. Вот, Linux. Был говно говном. Сейчас он один из самых популярных и востребованных продуктов.

>Про полностью перепиленный с нуля php 4 в который впилили ООП, и новый с нуля написанный для него zend ты тоже не в курсе?

Да в курсе. В том-то и поинт, что сделали говно, но привлекательное для людей говно. А когда люди начали на нём программировать, появились и ресурсы, чтобы его перепилить.
Аноним 07/05/21 Птн 06:18:51 2022461 398
> Сейчас я вангую, что проект не доживёт до реализации нативного кодогенератора, потому что в этом плане они двигаются в очень неправильном направлении и никогда не смогут переизобрести llvm. Но, как я уже писал, будет достаточно всего одного человека, который в этом шарит.

Автор here.

Неделю назад наняли толкового человека с большим опытом, который работает только над нативным x64/arm64 бэкендом.
Аноним 07/05/21 Птн 06:23:47 2022463 399
> Про скорость конпеляции - пиздёж. Если на выходе код на Си, то полная конпеляция по определению не может быть быстрее работы финального конпелятора Си.

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

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

Вот демка компиляции (v self) в виртуалке за 0.3с

https://www.youtube.com/watch?v=pvP6wmcl_Sc

Аноним 07/05/21 Птн 06:30:12 2022465 400
> О чём думают разработчики нативного кодогена, я вообще не знаю, они хотя бы аллокацию регистров осилят? (хотя, это решаемо, ведь можно генерировать LLVM IR)

конечно осилим

а юзать LLVM IR, который ровно в 10 раз медленнее натива аля tcc, + Сpp зависимость, мы не будет

хотя кто-то на досуге разрабатывает LLVM backend
08/05/21 Суб 06:43:00 2023724 401
>>2022461
Автор, раз ты здесь, поясни, что за хуйня с нативным кодогенераторм и заявой что он якобы очень быстрый? Я просто ничего не понял. Я не нашел рабочего кода на вашем гитхабе, он у вас есть и я что-то упустил, или это просто ваш vision, что мол вы предполагаете сделать какой-то супер быстрый нативный кодогенератор?

>>2022463
Т.е. вы всираете в конпелятор Си исходники в более удобном для него формате? Ну да, там можно что-то ускорить, но я бы не стал заморачиваться. Я бы всё-таки разделил сферы ответсвенности. Если конперяторы сишки как-то плохо работают с хедерами, то это проблема конпеляторов сишки, авторы конпеляторов Сишки с этим сами разберутмя. Я бы сосредоточился на самом языке. Демки все посмотрел.

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

Короче, есть такое чувство, что на кодогенерации вы обосрётесь. Но будет очень забавно, если не обосрётесь. Наблюдаю за проектом.
Аноним 09/05/21 Вск 03:33:52 2025101 402
> Но зачем? Вы просто повторите работу, которая была сделана в llvm.

потому что ровно в 10 раз быстрее и не С++

> Если конперяторы сишки как-то плохо работают с хедерами

все компиляторы. затести например компиляцию sqlite3.c. в одном файле vs sqlite проект

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

нативный кодогенератор сейчас поддерживает вызовы функций, for, if, while

на ранней стадии, но над ним активно работает человек с опытом

>
Аноним 09/05/21 Вск 03:34:49 2025102 403
примеры рабочих программ есть в gen/native/tests/
Аноним 09/05/21 Вск 03:35:55 2025103 404
конечно tcc не оптимизирует, но и clang -O0 не оптимизирует, но компилирует ровно в 10 раз медленнее
Аноним 09/05/21 Вск 04:17:38 2025106 405
Аноним 09/05/21 Вск 16:27:44 2025806 406
Ты должен спрашивать у разрабов llvm и gcc почему они в 10 раз медленнее tcc.

Ты только что скинул ссылки на 1100 строк кода и пишешь, что там пусто.

Все тесты в native этот код успешно компилирует.
Аноним 10/05/21 Пнд 00:18:19 2026233 407
>>2025806
>Ты должен спрашивать у разрабов llvm и gcc почему они в 10 раз медленнее tcc.

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

>Ты только что скинул ссылки на 1100 строк кода и пишешь, что там пусто.

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

Если будете делать оптимизирующий компилятор, вам потребуется делать его нормально, с IR и оптимизирующими проходами. И тогда скорость станет как у gcc/llvm. Плюс, это просто безумный объём работы, который команда llvm уже сделала.

Компилятор, который работает быстро, но ничего не оптимизирует, полезен на стадии разработки (хотя, интерпретатор даже лучше). А для продуктовой компиляции всё равно потребуется оптимизирующий компилятор. Допустим я напишу на V программу, а потом захочу, чтобы она была скомпилирована со всеми оптимизациями и работала быстро. Что мне тогда делать?

TCC - это очень специализированный инструмент. Он быстрый не потому, что авторы gcc/llvm дураки, а потому, что он изначально задизайнен чтобы быть очень маленьким быстрым. И применяется он там, где нужен очень маленький и быстрый компилятор, чтобы что-нибудь бутстрапнуть, или чтобы на лету что-нибудь компилировать.

Отсюда вопрос к языку. V позиционируется как язык общего назначения, или это аналог специализированному инструменту TCC с измененным синтаксисом?
Аноним 10/05/21 Пнд 15:05:53 2026525 408
>>2022428
>Нет ни одного успешного масс продукта, который на стадии mvp был говно говном,
Есть некоторые продукты которых до сих пор говно, лол. Че несешь, шизло
Аноним 10/05/21 Пнд 15:36:22 2026544 409
>>2026525
>Нет ни одного успешного масс продукта, который на стадии mvp был говно говном, а потом когда привлек ресурс еге перепилили как следует.

То, что ты страдаешь СДВГ и, как следствие, не умеешь читать предложения до конца.

Там именно и написано, что все mvp, что изначально были говном, так говном и остались навсегда.
Аноним 10/05/21 Пнд 15:46:06 2026548 410
>>2026544
И как в твою картину мира укладываются продукты или языки которые были говном на стадии прототипа и стали говном на стадии продакшена?
Аноним 10/05/21 Пнд 21:20:56 2026973 411
> Если будете делать оптимизирующий компилятор, вам потребуется делать его нормально, с IR и оптимизирующими проходами. И тогда скорость станет как у gcc/llvm.

нет, не станет. case in point: Go

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

у нас уже как в tcc, прямая генерация машинного кода, конечно компилирует процентов на 40 медленнее из-за дополнительных проверок, так как tcc не чекает ничего, даже уникальность филдов в стракте.

для производительных билдов есть -prod (использует -O2), наш родной бэкенд только для дев билдов пока, оптимизация будет только через пару лет
Аноним 10/05/21 Пнд 21:22:40 2026976 412
> Допустим я напишу на V программу, а потом захочу, чтобы она была скомпилирована со всеми оптимизациями и работала быстро. Что мне тогда делать?

v -prod file.v лол

Аноним 17/05/21 Пнд 23:23:18 2034016 413
>>2026973
>нет, не станет. case in point: Go
За счет чего не станет? Вы придумали какой-то охуенный способ оптимизировать программы, не тратя на это процессорное время?

>у нас уже как в tcc, прямая генерация машинного кода
Так tcc - это пиздец марахайка. Он никогда не дизайнился для того, чтобы генерировать быстрый код. Он дизайнился, чтобы генерировать код быстро. Он и используется в тех случаях, когда код надо генерировать быстро. Поэтому для продуктовых билдов люди будут брать другой компилятор. Более медленный, но оптимизирующий.

>оптимизация будет только через пару лет
Т.е. за джва года вы сделаете аналог gcc/llvm? Но нахуя, а главное, зачем? И что заставляет вас думать, что по достижению того же качества оптимизации вам удастся сохранить скорость?

>v -prod file.v лол
Я так понимаю, это перенаправит выхлоп в какой-нибудь оптимизирующий конпелятор Си лень перечитвать ваш код?

Наверное, уточню вопросы.

Есть задачи:
1. Генерировать код быстро (для dev-билдов).
2. Генерировать быстрый код (для prod-билдов).

Есть решения:
1. tcc бэкэнд
2. gcc/clang/llvm бэкэнд На самом деле, можно взять ваш выхлоп для tcc и просто перенаправить его в оптимизирующий конпелятор. Фактически, у вас эта задача уже решена, у вас есть транслятор V -> C, а дальше вы либо перенаправляете его в tcc для скорости, либо в clang/gcc для оптимизаций.

Поэтому я не понимаю, для чего вы создаёте собственный нативный генератор и какую нишу он займёт? Это конкурент tcc или конкурент gcc/clang или что-то среднее?
Аноним 18/05/21 Втр 16:22:42 2034678 414
>>2034016
> Поэтому я не понимаю, для чего вы создаёте собственный нативный генератор и какую нишу он займёт?
Не могу говорить за авторов, но сишечка как целевой язык - это пиздец в плане тулинга. Если gdb еще как-то можно заскриптовать, то лицезрение в vtune ебанины с покорёженными именами просто вымораживает. Разработка же простенького ssa ir бэкэнда - это от месяца до трёх, и откроет интересные возможности типа edit-and-continue, корутин и тому подобного, вполне в струю изначальных обещаний. Сам язык от этого менее ненужен не станет, но всё же.
Аноним 18/05/21 Втр 23:13:19 2035214 415
>>1581755
джонатан блоу когда-нибудь пустит меня в бету своей джаички и я буду самым счастливым погромиздом на свете
Аноним 18/05/21 Втр 23:49:24 2035233 416
>>2034678
>Разработка же простенького ssa ir бэкэнда

У них там нет ssa, у них очень своеобразный кодогенератор в стиле TCC. Т.е. про аллокацию регистров там вообще речи нет. Там как-то так:

>TCC compiles every statement on its own, and at the end of each statement register values are written back to the stack and must be re-read even if the next line uses the values in registers (creating extraneous save/load pairs between statements).

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

>от месяца до трёх
Но есть же нормальный ssa ir в llvm, в который уже въебали человеко-столетия. Ну да, за 3 месяца можно сделать свой, но это же будет просто упрощенный llvm. Аргумент про скорость конпеляции - странный, llvm конпелирует медленно не потому что с ним фундаментально что-то не так, а потому что он применяет много оптимизаций. По мере взросления самопального ssa -конпелятора он так же будет замедляться и стремиться к llvm. И вот вопрос, нахуя нужен еще один, если для скорости и так есть TCC, а для оптимизации - взрослые конпеляторы?
Аноним 19/05/21 Срд 01:55:49 2035274 417
>>2035214
>и тут Джон решил в энный раз поменять синтаксис объявления типов или длбавить/убавить оопэшности и/или метапрограммирования
>релиз открытой беты отложился ещё на год
Аноним 19/05/21 Срд 01:59:12 2035275 418
>>2035233
>register values are written back to the stack and must be re-read
Я вот подумал, а со store forwarding'ом это даже не так медленно получится, как изначально кажется.
Аноним 19/05/21 Срд 02:02:04 2035276 419
>>2035274
я на этом поезде второй год, страшно представить что кто-то пять лет ждёт и возможно ещё пять подождёт
Аноним 19/05/21 Срд 03:21:27 2035299 420
>>2035233
> И вот вопрос, нахуя нужен еще один, если для скорости и так есть TCC, а для оптимизации - взрослые конпеляторы?
Да даже независимость от tcc стоит того, всё же это игрушка, а не инструмент. golang вот неплохо справился: ssa ir компилятор и lowering при помощи матчинга деревьев. Пишется подобное - элементарно, по производительности код, навскидку, вровень с джавой, а больше для не-мэйнстримного языка ничего и не нужно.
19/05/21 Срд 14:50:45 2035559 421
>>1581755
>Джонатан Блоу
Мор лай Джонатан Блоуджоб
Аноним 27/05/21 Чтв 12:46:16 2044894 422
> Аргумент про скорость конпеляции - странный, llvm конпелирует медленно не потому что с ним фундаментально что-то не так, а потому что он применяет много оптимизаций.

абсолютно неверно

llvm c 0 компиляций (-O0) компилит ровно в 10 раз медленнее tcc

> >нет, не станет. case in point: Go
За счет чего не станет? Вы придумали какой-то охуенный способ оптимизировать программы, не тратя на это процессорное время?

я же написал: в Go не стало, и у нас не станет
29/05/21 Суб 00:51:07 2047495 423
>>2044894
>в Go не стало, и у нас не станет
Go — хуёвый пример.

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

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

В Go есть сборщик мусора, а в C ручное управление памятью. Ты же хочешь управлять памятью ещё в compile-time — для тебя это тоже бесплатно.

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

У тебя нет возможности выиграть по сложности алгоритмов — обогнать их ты сможешь только за счёт полного их выбрасывания (вместе с функционалом или оптимизациями, как в tcc). Но спонсорам языка это знать не обязательно, конечно.
Аноним 31/05/21 Пнд 00:01:03 2050021 424
>>2047495
>Ты же хочешь управлять памятью ещё в compile-time
>в виде алгоритмов с потенциально квадратичной сложностью
Ах если бы
Аноним 31/05/21 Пнд 11:44:12 2050317 425
>>1578305
> Вакаба сожрала звездочки. Фикс
Как пофиксил?

А вот пробелы пофиксить не проблема, кстати.
31/05/21 Пнд 12:55:10 2050390 426
>>2050317
>Как пофиксил?
Подставил символ ∗ вместо звёздочек *. А пробелы тоже заменять на nbsp или что-то подобное предлагаешь? Их компилятор Nim не жрёт, например.

tab
 nbsp
Аноним 31/05/21 Пнд 12:56:36 2050392 427
>>2050390
>Их компилятор Nim не жрёт
Кого вообще ебут васянские поделия?
Аноним 31/05/21 Пнд 13:17:02 2050416 428
>>2050392
> Кого вообще ебут васянские поделия?
> V thread
Ты зачем сюда зашёл, если тебя не ебёт?
31/05/21 Пнд 13:18:57 2050417 429
>>2050392
Так Python их тоже не переваривает, например — хотя если скажешь, что он тоже васянское поделие, то я не смогу не согласиться. При этом считает nbsp символами названия, и падает с SyntaxError: invalid character in identifier.

Можно ^H пройтись до постинга и при копировании, конечно, но это такой же костыль, как и со звёздочками. Работающий тег code был бы лучше.
Аноним 31/05/21 Пнд 14:15:47 2050455 430
Аноним 31/05/21 Пнд 14:17:20 2050458 431
>>2050455
Мёртвый тред, мёртвого языка.
Аноним 31/05/21 Пнд 14:17:34 2050459 432
Vendetta2.jpg 95Кб, 640x412
640x412
Аноним 31/05/21 Пнд 14:18:20 2050461 433
>>2050458
Может и мёртвый, а на патефоне денег на 3 вкатунов вкатит
Аноним 01/06/21 Втр 04:53:01 2051515 434
>>2050390
> А пробелы тоже заменять на nbsp или что-то подобное предлагаешь? Их компилятор Nim не жрёт, например.
Их макаба заменяет на обычные.

> Подставил символ ∗ вместо звёздочек *.
А его компилятор жрёт?
01/06/21 Втр 11:07:00 2051672 435
>>2051515
>Их макаба заменяет на обычные.
Хуясе, не знал — теперь буду использовать их. Правда, большую часть ЯП отсутствие пробелов не сильно огорчает (и есть кнопка Reformat в случае чего).

>А его компилятор жрёт?
Нет, это левый символ (хоть и похожий внешне). Но это лучше, чем ничего — особенно когда ты код с указателями в C-тред скидываешь.
Аноним 01/06/21 Втр 19:41:31 2052378 436
>>2051672
> Хуясе, не знал — теперь буду использовать их.
На этом приколе основан мем «newfags can’t teiforce», так что это классика, это знать надо.

> Правда, большую часть ЯП отсутствие пробелов не сильно огорчает (и есть кнопка Reformat в случае чего).
Обычно копировать в IDE лень, поэтому надо, чтобы уже в посте код выглядел читабельно. Если изначально код выглядит хорошо, тогда как раз намного больше вероятность, что клиент скопирует код в IDE (уже чтоб потестить, например), а если код выглядит как каша, то он вообще им не заинтересуется.

> Нет, это левый символ (хоть и похожий внешне). Но это лучше, чем ничего — особенно когда ты код с указателями в C-тред скидываешь.
Это да.
Обидно, что нет нормального решения, чтоб нормальные звёздочки отображались.
01/06/21 Втр 20:17:26 2052407 437
>>2052378
>На этом приколе основан мем «newfags can’t teiforce», так что это классика, это знать надо.
Да трифорсить я умел; но как-то не задумывался, что те пробелы потом в обычные превращаются. Хотя в ретроспективе это выглядит логичным, иначе ньюфаги просто бы копировали эту хуйню.

  A
A  A
Аноним 03/06/21 Чтв 07:49:32 2054363 438
V has come to.
Аноним 04/06/21 Птн 06:25:01 2055872 439
Кстати, мы нанимаем прогеров в команду V.

120к р./мес. за 15 часов в неделю. Оплата btc.

Пишите на почту alexander[аt]vlang[dоt]io
Аноним 04/06/21 Птн 17:31:26 2056625 440
>>2055872
Хорошее место хантить людёв
Аноним 04/06/21 Птн 20:37:28 2056931 441
>>2055872
Пошёл нахуй, говнодел!
Аноним 04/06/21 Птн 20:38:22 2056932 442
Аноним 04/06/21 Птн 20:49:43 2056940 443
1605927684001.png 119Кб, 1000x1434
1000x1434
синтакс выглядит как хуйня.
Аноним 04/06/21 Птн 20:52:26 2056943 444
Аноним 18/06/21 Птн 19:47:51 2072758 445
Аноним 19/06/21 Суб 19:22:31 2073848 446
Аноним 27/06/21 Вск 21:41:52 2082321 447
>>1578220 (OP)
Сколько на это говно вакансий в МСК?
27/06/21 Вск 21:49:46 2082335 448
Аноним 28/06/21 Пнд 12:51:49 2082640 449
>>1578251
отвратительный язык, ты на нем хоть 2д игру написать сможешь?
Аноним 08/07/21 Чтв 07:16:26 2090199 450
Говно парашное. Ебаклак на Медведникове даже не собирается реализовывать отладку. Говорил в GDB отлаживайте LUL
Аноним 09/07/21 Птн 01:27:40 2090957 451
>>2082640
Половина веб-разрабов 2д игру и на шарпах/джаве/го/чем угодно еще не реализуют. На самом деле для создания своего движка с нуля нужно знать много паттернов, которые типичный CRUDодел или фронтенд-макака и знать не знают.
Аноним 02/08/21 Пнд 12:16:37 2114674 452
Ну чо там с языком, поясни анон. В каком состоянии, какие перспективы
02/08/21 Пнд 12:31:10 2114684 453
Аноним 02/08/21 Пнд 22:50:54 2115311 454
>>2114674
Выкатывают weekly версии, релиз хорошо если наши дети увидят.
Аноним 03/08/21 Втр 16:01:32 2115837 455
Аноним 03/08/21 Втр 16:02:04 2115839 456
>>2115311
Ало, релизы уже были.
Аноним 03/08/21 Втр 23:31:35 2116318 457
image.png 11Кб, 404x192
404x192
Каким хуем в компиляторе языка программирования уместились JS и, прости господи, CSS?
Аноним 03/08/21 Втр 23:34:13 2116326 458
>>2116318
У vlang есть Javascript Backend.
Аноним 03/08/21 Втр 23:59:30 2116347 459
>>2116318
Может монорепа с в т.ч. лендингом? Ну или доки всякие
Аноним 04/08/21 Срд 00:00:15 2116349 460
>>2115839
Всё что ниже 1.0 - это хуйня, а не релиз
Аноним 04/08/21 Срд 01:28:14 2116386 461
Аноним 04/08/21 Срд 01:28:31 2116387 462
Аноним 08/08/21 Вск 10:49:44 2120753 463
>>2025106
>.v
Это же расширение верилога!
Аноним 10/08/21 Втр 06:00:12 2122984 464
>>2090957
Буквально позавчера закончил делать первую версию игру на первой версии своего многопоточного движка (2d) на C# с изолированной от логики отрисовкой кадров на процессоре (потом перепилю на OpenGL или вулкан). Из общеизвестных заюзанных паттернов только синглтон и делегирование, остальное не вписывалось в архитектуру и приходилось придумывать своё. Так что на чисто знании паттернов далеко не уедешь, нужно знать ещё и платформу на достаточном уровне.
10/08/21 Втр 09:48:37 2123083 465
!!!laugh.webm 1742Кб, 1280x1280, 00:00:07
1280x1280
>>2122984
> игру
> на C#
Откуда ж вы, клоуны, лезете
Аноним 10/08/21 Втр 10:39:43 2123139 466
>>2123083
Порвался? C# может работать ничуть не медленнее, чем плюсы. Да, графон уровня фростбайта на нём выдать нереально, но я и не претендую как бы. Юношеский максимализм - очень скверная штука, молодой человек. Ну да ладно, тебе пора бежать формочки доделывать.
10/08/21 Втр 19:35:15 2123740 467
>>2123139
> хамство
> проекции
> МААААМ ОН ПОРВАЛСЯ НЕ Я МАМ СЛЫШИШЬ ОН ПОРВАЛСЯ

> C# может работать ничуть не медленнее, чем плюсы.
Только в твоих влажных мечтах. Слышал про такой прибор, как сборщик мусора? Изучи на досуге.
Аноним 10/08/21 Втр 20:41:38 2123845 468
> Говно парашное. Ебаклак на Медведникове даже не собирается реализовывать отладку. Говорил в GDB отлаживайте LUL

а чем плох GDB/lldb? в чем еще надо отлаживать?
Аноним 11/08/21 Срд 01:49:12 2124088 469
>>2123740
GC никак не влияет на скорость работы. По сути, это просто минус головняк с указателями. И тут уже только о тебя зависит - создаёшь ли ты GC лишнюю головную боль или нет.

А вот, например, проверка на out of range при каждом обращении к элементу массива - влияет. Но у C# есть unsafe. Можно при желании запилить свои структуры данных (что мне и пришлось сделать).
Аноним 11/08/21 Срд 02:45:08 2124102 470
>>2124088
> GC никак не влияет на скорость работы
Джавистам это скажи. И шарпистам. И всему остальному быдлу тоже
Аноним 11/08/21 Срд 04:55:09 2124123 471
>>2124102
Как ты определил, что это именно GC влияет на скорость работы, а не реализация нативной библиотеки?

Тащемта, в C# (в .NET, окей) массивы и списки работают с разной скоростью с точки зрения простой итерации, хотя в основе списка тоже лежит массив.
Аноним 11/08/21 Срд 04:56:57 2124124 472
>>2124102
Единственное, на что влияет реально GC - это расход оперативки. С в C++ объект можно сразу удалить если он не нужен, в GC-имущих языка объект просто провисит в памяти какое то время.
Аноним 11/08/21 Срд 15:35:53 2124491 473
Автор V понял, что не совладает с памятью и начал топить за GC ИТТ. Дежру в курсе
Аноним 12/08/21 Чтв 01:25:15 2125116 474
>>2124123
> массивы
В сисярпе массив занимает стековую память?
Аноним 12/08/21 Чтв 05:43:32 2125155 475
>>2125116
Нет, Array это класс. Но значимые элементы массива таки лежат в стэке.
Аноним 10/10/21 Вск 19:38:41 2179628 476
бамп
есть ли смысл в это вкатываться? что на нем писать?
Аноним 10/10/21 Вск 19:48:55 2179639 477
>>2179628
В МММ еще можешь вкатиться.
Аноним 17/10/21 Вск 00:02:24 2185597 478
Аноним 17/10/21 Вск 00:09:32 2185605 479
Этить ДВА года треду. Фанаты V жëстко соснули.
Аноним 17/10/21 Вск 11:16:29 2185768 480
>>2185605
1.5 анонафанаты V жёстко соснули
Аноним 10/12/21 Птн 19:47:20 2234314 481
sAaWBUAEUefjKDk[...].jpg 30Кб, 405x500
405x500
Ну шо, с почином.
Хотя Навальный Кумар не очень внушает доверие, лол.
Аноним 11/12/21 Суб 00:09:01 2234627 482
>>2124102
Передаем привет из 2021.
Аноним 11/12/21 Суб 05:29:35 2234681 483
>>2124124
>в GC-имущих языка объект просто провисит в памяти какое то время.
И куда он оттуда денется? Его оттуда святой дух удалит? Или он сам не выдержит несовершенства мира и решит удалиться? Долбоёб, сука!
Почему unity говорит всем игроделам использовать object pools? Не потому ли, что в играх приходится не использовать GC _вообще_, иначе привет фрейм хитчи по несколько сотен миллисекунд пока GC проходит по графу твоих объектов?
Аноним 11/12/21 Суб 06:46:32 2234687 484
>>2125155
>значимые элементы массива таки лежат в стэке
Это как? И что такое "значимые элементы" и чем они отличаются от незначимых?

>>2124088
>GC никак не влияет на скорость работы
Сборка мусора выполняется за 0 тактов процессора? Круто, че.

>>2123139
> C# может работать ничуть не медленнее, чем плюсы.
> графон уровня фростбайта на нём выдать нереально
Так "не медленнее" или "нереально"?
Аноним 01/01/22 Суб 14:38:28 2253671 485
>>2234314
Как же быстро активизируются маги чистой воды в этом книжном рынке.
То книга по шарпу 2022 года, выпущенная 2021 году под итерацию шарпа 2020 года.

То книг пхп 6 насрали столько, что парням пришлось с 5 на 7 переходить, чтобы не вводить в заблуждение ньюфагов языка.

Как же достали эти инфоцыгане.
Аноним 02/01/22 Вск 13:03:27 2254156 486
image.png 8Кб, 902x92
902x92
мде
Аноним 03/01/22 Пнд 20:33:24 2255311 487
photo2022-01-03[...].jpg 18Кб, 512x512
512x512
photo2022-01-03[...].jpg 15Кб, 512x512
512x512
Сейчас тыкаюсь и так не понял, а в чем фишка языка? Какую цель преследуют авторы? По мне похоже на гибрид go и rust, вроде прикольно, но для чего?
Аноним 03/01/22 Пнд 20:38:19 2255313 488
>>2255311
> Simple, fast, safe, compiled language for developing maintainable software.
Если бы авторы всех существующих языков реально преследовали какую-то обоснованную цель, их бы не расплодилось так много.
teacher 04/01/22 Втр 13:42:52 2255703 489
>>1578226
Долбоебы капчу добавили и слоу мод включили.. Надеюсь, что язык этих чванливых уебков загнется.
Аноним 04/01/22 Втр 17:21:21 2255896 490
>>2255703
Такие квази языки создаются, чтобы потешить свое самолюбие. Если раньше хоть старались, то сейчас откровенно непригодное говно делают, но пихают и подгоняют под все тесты, создавая иллюзию реального ЯП.
30/04/22 Суб 21:07:55 2347614 491
>>2022461
> работает только над нативным x64/arm64 бэкендом.
Ясно. Язык не нужен.
Аноним 21/07/22 Чтв 18:05:28 2412028 492
Как вы там? Живы еще?
Аноним 21/07/22 Чтв 18:18:04 2412034 493
Аноним 22/07/22 Птн 06:35:11 2412578 494
Аноним 22/07/22 Птн 11:11:29 2412675 495
Вот и прошел ещё один год. Что там с языком? Кто-нибудь следит за развитием?
Аноним 24/07/22 Вск 22:24:41 2415435 496
>>2412675
Походу нихуя пока нет
Аноним 15/08/22 Пнд 12:42:17 2434710 497
Нашел этот тред гугля про zig
Аноним 29/08/22 Пнд 17:15:48 2449387 498
image.png 31Кб, 792x279
792x279
Аноним 30/08/22 Втр 13:39:10 2450078 499
blowing smoke.jpg 56Кб, 888x894
888x894
>>1578220 (OP)
>Simple, fast, safe, compiled language for developing maintainable software
И никому не нужный в индустрии кусок говна.

Хватит пиарить это бесмысленное и не распространённое говно, рилли.
Аноним 30/08/22 Втр 13:41:02 2450081 500
image.png 236Кб, 1173x873
1173x873
>>2450078
Блядь в голос нахуй. Я даже контор использующих его не нашёл лел.
Аноним 30/08/22 Втр 16:41:31 2450269 501
>>1578291
>сборщик мусора
пошёл нахуй, говноед
Аноним 30/08/22 Втр 16:42:57 2450270 502
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов