URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 137014
[ Назад ]

Исходное сообщение
"Представлен язык программирования Gauntlet, расширяющий возможности языка Go"

Отправлено opennews , 03-Июн-25 15:27 
Доступен первый альфа-выпуск языка программирования Gauntlet, надстройки над языком Go, решающей некоторые архитектурные проблемы и добавляющей дополнительную функциональность. Программы на языке Gauntlet поддерживают все возможности языка Go, транслируются в представление на языке Go и интегрируются с существующей экосистемой Go без необходимости задействования обвязок (binding). Развиваемый проектом инструментарий написан на языке F# и распространяется пол лицензией GPLv3. Для работы с кодом предоставляется дополнение к редактору VSCode...

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


Содержание

Сообщения в этом обсуждении
"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 15:37 
А телеметрию из самого Go выпиливает?

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 16:45 
А она там есть?

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 17:35 
https://www.opennet.dev/opennews/art.shtml?num=61701

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 17:50 
Тебе диванно попробовать лексически разложить конструкции вида "в go есть телеметрия" и "в инструментарий go есть телеметрия" или ты сам чувствуешь разницу?

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 19:42 
эта разница не имеет практического значения, использование языка "go" подразумевает использование "go toolkit". это значит, что при написании программ на этом языке, тебе придется столкнуться с телеметрией

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Гуччизавр , 03-Июн-25 23:00 
Она не отправляется на удалённый сервер, если её не включить целенаправленно.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 00:04 
opt-in, особенно у bigtech часто становится opt-out

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 07:48 
> opt-in, особенно у bigtech часто становится opt-out

Вот, когда станет, тогда и пишите.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 17:47 
>> opt-in, особенно у bigtech часто становится opt-out
> Вот, когда станет, тогда и пишите.

"Когда убьют - тогда и приходите!" - или man "окно Овертона".


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 23:05 
Телеметрия не встраивается в конечный бинарь.
Если паранойя совсем замучила, компиляй в контейнере или виртуальной машине.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 17:50 
> Телеметрия не встраивается в конечный бинарь.
> Если паранойя совсем замучила, компиляй в контейнере или виртуальной машине.

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 06-Июн-25 02:14 
Телеметрия убивает?

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 06-Июн-25 15:37 
> Телеметрия убивает?

Смотря какая. Вооооон картиночка - "по реке плывут смартфоны из села кукуево". А как вы ее думаете сделали? А плывут они потому, что эти же координаты и в вон ту консольку заодно ввели, собственно... так что вот тут возможны варианты уже.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено OpenEcho , 04-Июн-25 16:46 
go telemetry off

Давно. Для параноиков не верящих в opt-in


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 13:51 
gccgo существует

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 15:13 
Да, но только соответствует версии 1.18 эталонного. А софтописатели же спешат обмазываться свежим. Например, gccgo актуальный Yggdrasil уже не собирает.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Анониматор , 03-Июн-25 17:46 
Есть, если сильно захотеть и ввести команду go telemetry on

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 17:51 
> Есть, если сильно захотеть и ввести команду go telemetry on

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

Корпорация добра такая добрая, даже слоган - вот - выпилила как раз.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 19:44 
Если человек умеет писать на голанге, то удалить патч с телеметрией из компилятора, для него должно быть проще простого.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 20:10 
вы переоцениваете способности среднего разработчика на golang

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 05-Июн-25 23:47 
> Если человек умеет писать на голанге, то удалить патч с телеметрией из
> компилятора, для него должно быть проще простого.

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 15:41 
Как по мне, главный недостаток го -- это огромный футпринт в памяти у приложений. Ну и обработка ошибок несколько специфическая. И что-то не торопятся это решать. Там, где го реально применяется -- приложение крутится долгое время и жручеть имеет второстепенную роль. Но вот когда на нём пытаются писать прикладные программы, сразу понимаешь, что 1000 копий го в памяти и 1000 копий скрипта на питоне в памяти это совсем не одно и то же, и сравнение вовсе не в пользу го.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Жироватт , 03-Июн-25 15:55 
> Как по мне, главный недостаток го ...

... то, что это внутренняя разработка гугла от пачки выпускников эмайти, обкурившихся до одури Вирта и замешавших все на коктейлях из ЛСД и эзотерических, модных на тот момент языках, которая зачем-то была выпущена в паблик.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 19:50 
Разрабатывали голанг те же люди, что были близки к разработке си и юникс. И концепция языка была наоборот, не превращать язык в коктейль из изотерических и модных языков, а сделать язык максимально прямолинейным, упростив или убрав вещи, которые усложняли разработку, как пример: всененавистная обработка ошибок, которая хоть и кажется многословной, но на практике она намного интуитивнее и удобнее, чем тот же try catch. В основном, субъектами критикующими этот язык являются или люди, которые слишком мало писали на джаве, и не прочувствовали всю прелесть голанга, или которые слишком много писали на джаве, что на старость лет адаптироваться даже под более простые и удобные вещи им становится невозможно.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аммоний , 03-Июн-25 20:08 
Авторы Go - Роберт Гризмер, Роб Пайк и Кен Томпсон. Томпсон в разработке дизайна языка не участвовал, он только закодировал компилятор. Гризмер и Пайк  никакого отношения к разработке C и Unix не имели.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено qrKot , 03-Июн-25 20:25 
Go - наследник Limbo и Inferno OS.
Inferno OS, как идейного наследника Plan 9, пилили Томпсон и Пайк. Гризмер присоединился к коллективу уже на стадии разработки Go как человек, зарекомендовавший себя специалистом в GC (он для JVM сборщик мусора писал).
Коллектив Томпсон-Пайк сработался еще на разработке Plan 9.
Называть Гризмера с Пайком "пассажирами", как минимум, странно

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 20:26 
> Томпсон в разработке дизайна языка не участвовал, он только закодировал компилятор

Во всех источниках указано, что он учавствовал в создании языка, но то в какой мере я не знаю

> Гризмер и Пайк никакого отношения к разработке C и Unix не имели.

Robert Pike (born 1956) ... while working at Bell Labs, where he was a member of the Unix team. [1]

[1] - источник википедия


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аммоний , 03-Июн-25 20:37 
Дизайн Go придумал Google, Томпсона и Пайка подключили только для привлечения внимания к языку (чисто маркетинговый ход якобы от создателей Unix).

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 21:31 
Ты действительно думаешь, что Гризмер с Пайком пришли к Томпсону со 100% готовым дизайном, а он сел и без комментариев накодил компилятор? Ты вообще хоть что-то делал в соавторстве с другими людьми или всю жизнь только тасочки закрывал?

> Гризмер и Пайк  никакого отношения к разработке C и Unix не имели.

Ну, кроме того отношения, которое имели прямо работая над разработкой Юникса в Белле.

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено _ , 03-Июн-25 22:24 
Так а кто спорит то с "устаревшими технологиями"???
Другое дело что для практических применений - лучше пока не сделали. Приходится "на старье"(С) :)

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено User , 04-Июн-25 08:02 
Для "практических применений" "устаревшие технологии"(ТМ) используют так, чтоб иначе, чем трехметровой палкой их не трогать. Т.е. где-то там, "во глубине сибирских руд"(ТМ) конечно окажется linux-kernel, но тому, кто коммитит в git для того, чтобы задеплоить .net'чину упакованную в distroless-контейнер в какой-нибудь абажур на это на столько "пофиг", что вот совершеннейшим образом пофиг.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено _ , 04-Июн-25 15:39 
Ну всё правильно, чем мартышки от инженеров отличаются - ты описал верно :)
А скоро вас всех AI заменит, и на ".net'чину" вашу станет точно так же "на это на столько "пофиг", что вот совершеннейшим образом пофиг"(С)

Аффтарский стиль сохранён(С)


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено User , 04-Июн-25 15:48 
> Ну всё правильно, чем мартышки от инженеров отличаются - ты описал верно
> :)
> А скоро вас всех AI заменит, и на ".net'чину" вашу станет точно
> так же "на это на столько "пофиг", что вот совершеннейшим образом
> пофиг"(С)
> Аффтарский стиль сохранён(С)

Конечно заменит - чоб не заменить-то? yaml-programming штука не ахти сложная, декларативная конфигурация чай не баш-портянки какие. Но мы ж тут не про "жоп сесурити" разговариваем?
Да и с ней "не все так однозначно" - true'шные-Ъ специалисты по всяким санкам с чпуксами соврать не дадут.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено e41q , 04-Июн-25 06:04 
> один из отцов-основателей с полными на то основаниями не только считает и Unix и C устаревшими технологиями

А можно подробнее об этом? Я знаком лишь с cat-v.org - но там про юникс ничего плохого.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Пользователь , 05-Июн-25 07:00 
Язык C не проектировался в расчёте на сложность современного ПО. Поэтому постоянно наблюдаем нахождение всё новых и новых уязвимостей, даже в очень старом, казалось бы устоявшемся коде.
Тот Юникс, с которым лично мне приходится иметь дело, пока живой, но постоянно в роли догоняющей ОС выступает (в сравнении с тем же Линуксом, который, в свою очередь, лично я не считаю ни разу идеалом и пределом совершенства).

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено _ , 05-Июн-25 19:23 
> в сравнении с тем же Линуксом, который, в свою очередь, лично я не считаю ни разу идеалом и пределом совершенства

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 20:11 
>В основном, субъектами критикующими этот язык являются или люди, которые слишком мало писали на джаве, и не прочувствовали всю прелесть голанга, или которые слишком много писали на джаве, что на старость лет адаптироваться даже под более простые и удобные вещи им становится невозможно.

Есть только два языка - джава и го. Вы хотя бы ради приличия узнали бы, что существует ещё как минимум хаскель, с его монадами. Или окамл, или раст.
>но на практике она намного интуитивнее и удобнее, чем тот же try catch

У вас машинистка код набирает?


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 20:28 
"она" - обработка ошибок

или что именно не так, подскажите конкретнее пожалуйста, мне не понятно


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 20:36 
перечитал и понял, простите за глупость.
ну справдливости ради, разница в количестве кода между двумя этими вариантами не такая большая, ну и плюс я печатаю 160wpm, так что даже будь разница значительна, мне было бы несложно написать несколько лишних строк. за то огромный плюс этой эксплицитности в том, что  нет сюрпризов чтобы ошибка выбросилась неожиданно

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 21:56 
>разница в количестве кода между двумя этими вариантами не такая большая

Она огромна. Просто сравните одну строку ocaml

int_of_string_opt "1" |> Option.fold ~none:0 ~some:((+) 1)

С шестью строками голанга.

i, err := strconv.Atoi("1")
if err != nil {
    i = 0
} else {
    i = i + 1
}

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

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

В голанге нет нормальной обработки ошибок. Вот например:
https://pkg.go.dev/net/http#Client.Do
>Any returned error will be of type *url.Error. The url.Error value's Timeout method will report true if the request timed out.

https://pkg.go.dev/os#Create
>If there is an error, it will be of type *PathError.

Ну хорошо, я знаю, что при открытии файла может быть ошибка. А какая ошибка? Наличие прав? Места на диске? Доступность днс сервера? Или днс сервер отностится только к сети, но не относится к файлам? Как я должен угадать, что я обработал все ошибки, если единственное описание, это "*PathError"? Или вместо этого предлагается просто выкидывать все ошибки вверх по стеку?


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 22:21 
> int_of_string_opt "1" |> Option.fold ~none:0 ~some:((+) 1)

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

> Вы программируете в этих 160wpm или печатаете под диктовку? Это не говоря уже про то, что написанные строки нужно будет как минимум читать.

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

> В голанге нет нормальной обработки ошибок. Вот например: ...

ошибки обёрнуты в определенный тип, и их можно обрабатывать подобно этому:
// pathErr - переменная типа *PathError
if errors.Is(pathErr.Err, os.ErrPermission) {
  // ...  do something if OS Permission Error occurs
} else {
  // ... here you could panic if the error type is unknown
}


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 22:58 
>действительно, оно короче, но оно и сложнее

В чём сложность?
>но я читаю код намного чаще, чем пишу

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

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

Так в этом и проблема. В голанге нет "элегантности". Вот как может школьник код написать, так и профессионал напишет. У него просто нет никаких инструментов, сделать это лучше, чем школьник.
>может конечно дело в моей неопытности или небольшом уме,

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

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

Хорошо, как я должен до этого догадаться? Вот в https://pkg.go.dev/net/url#pkg-variables секция переменных пуста, так что ошибок быть не может?


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 23:37 
> В чём сложность?

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

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

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

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

в этом и смысл, это делает язык практичным, что каждый из разработчиков делает одно и тоже максимально просто и топорно. если вы хотите изящества, и красоты, то я вас понимаю, и даже поддерживаю то, что надо развиваться и учить функциональные языки, и делать свои личные проекты как произведения искусства. но в бизнесе важна практичность, и голанг как по мне самый лучший для подобных целей инструмент.
> Хорошо, как я должен до этого догадаться? Вот в https://pkg.go.dev/net/url#pkg-variables секция переменных пуста, так что ошибок быть не может?

это значит что ошибка возвращается одного типа, и хватит просто if err != nil {} ... для её обработки


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 09:49 
>что как по мне, как минимум в сравнении - сложно

Сложно в чём? В том, что нужно потратить на изучение этого условные полгода? Так это делается однократно при обучении.
>ну двести строк мне не надо держать в памяти

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

Есть проблема: скорость чтения и письма достаточно сильно ограничена, и разгонять её особо не получится. Зато возможность воспринимать вложенные структуры, вполне себе можно разогнать. Вы выше писали про 160wpm. Во-первых это многовато, 160 слов в минуту. Во-вторых, в этом случае вы не сможете пользоваться автодополнением, иначе скорость просядет. Я очень сомневаюсь, что даже в маленьком проекте, вы будите помнить все вещи наизусть.  В-третьих, проблема в том, что данные примитивные строки погружаются в детали, которые мне не интересны, вроде имён промежуточных переменных. В то время, как код на Ocaml можно вставить как значение, что-то вроде
{
  name = "next";
  some_int = int_of_string_opt "1" |> Option.fold ~none:0 ~some:((+) 1);
}
То у вас к шести строкам сверху, добавится ещё и конструирование структуры, плюс четыре строки. Далее, обычно никто не пишет непрерывно, будет ещё несколько пустых строк для разделения. В моём случае, что создание структуры, что вычисление, записано компактно, сразу видно что откуда берётся.
>ну если вы пишете реальный продукт в корпорации, то возможность делать элегантности это скорее непродуктивный минус

Почему минус? Всё равно, код человек без образования и навыков, читать не будет.
>что каждый из разработчиков делает одно и тоже максимально просто и топорно

Какой смысл каждый раз изобретать колесо? В то время, как продвинутый разработчик на Ocaml может написать, условный map reduce, который весьма тривиально из однопоточного становится многопоточным, то на голанге такой трюк не пройдёт. Хочешь многопоточность - перепиши целиком.
>это значит что ошибка возвращается одного типа, и хватит просто if err != nil {} ... для её обработки

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 20:09 
> Сложно в чём? В том, что нужно потратить на изучение этого условные полгода? Так это делается однократно при обучении.

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

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

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

но тут тогда у меня другой есть вопрос, а релевантно ли обучать среднего разработчика этому? вот допустим на просто понимание того, что происходит в функциональном мире уйдет полгода, потом ещё 1-2 года на то чтобы быть продуктивным с этими абстракциями. при этом в бизнесе, язык программирования и его парадигма абсолютно второстепенные, там больше решает не то на чем описана логика, а то как выглядит логика, и какие сторонние сервисы использовать с ней. так же средний программист пишет код где-то 8-10 лет, после чего уходит на позиции менеджмента (e.g. tech/team lead, architect etc.), и релевантно ли ему тратить четверть своего времени на такую второстепенную вещь? как по мне - нет.

> Есть проблема: скорость чтения и письма достаточно сильно ограничена, и разгонять её особо не получится

моё мнение - сверху

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

ну я использую сниппеты, и автодополнение только на длинные названия функций, так что в принципе вы частично правы

> Я очень сомневаюсь, что даже в маленьком проекте, вы будите помнить все вещи наизусть

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

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

ну это прикольно, не спорю, но на практике это не особо часто пригождается

> Почему минус? Всё равно, код человек без образования и навыков, читать не будет.

мне кажется вы наивны :) 90% разработчиков не компетентны по навыкам, и 45% разработчиков некомпетентны по образованию

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

> Какой смысл каждый раз изобретать колесо? В то время, как продвинутый разработчик на Ocaml может написать, условный map reduce...

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Пользователь , 05-Июн-25 07:21 
>а релевантно ли обучать среднего разработчика этому?

Если средний разработчик пишет не критичный ко времени исполнения или надёжности код - наверное, нет, нерелевантно. Другое дело, что такой код через 5-10 лет придётся с нуля переписывать, потому что "тяп, ляп и в продакшн" внезапно перестало работать. В итоге фирма, которая нанимает подобных людей или вылетает в трубу (потому что конкуренты оказались более прозорливыми, наняв программистов выше среднего уровня) или вынуждена нести дополнительные немалые расходы на переписыванме поделий среднего разработчика.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 05-Июн-25 13:58 
>только на обработку каждой строки уходит в 10 раз больше времени

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

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

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

Ну вот у вас уже не будет 160wpm.
>мне кажется вы наивны :) 90% разработчиков не компетентны по навыкам, и 45% разработчиков некомпетентны по образованию

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

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

Ну не знаю. Даже не имея особого опыта на окамле, можно с лёгкостью избегать кучи проблем, вроде npe.
>потому что в случае с голангом, у тебя из вариантов элегантности это выбрать структуры данных более подходящие

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

Как правило нет. Применимо к тому же NPE, обычно делается два метода - один кидает исключение, второй возвращает option. Если делать два метода лень, то просто один метод с option.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 00:34 
> Она огромна. Просто сравните одну строку ocaml
> int_of_string_opt "1" |> Option.fold ~none:0 ~some:((+) 1)
> С шестью строками голанга.

Шесть строк голанга - читаемы. А вон то - ацкие руны, отстойнее хруста и C++ вместе взатых! И то что оно "короткое" - 100% пофиг, учитывая такой рунический синтаксис и тот факт что код с ЭТИМ - майнтенансу не подлежит в принципе. Как категория. Это код сразу писаный на мусорный бак.

Если вы не поняли: в "большом" софтострое возможность хреначить "хаки" и вот так выкабениваться - не фича, а жирнющий БАГ и НИ-НИ! Потому что проекты написанные такими "якобы гениями" потом невозможно поддерживать. Никто не хочет трогать ваши хламидомонады даже трехметровой палкой потом. Все вон то прекрасно - пока это ваш личный пет-проект. И дикий ужас, когда какой-нибудь нуб неверно понимает смысл навороченных конструкций и абстракций. А для больших и долгих проектов - это очень важное соображение. И вы по сути сами рассказали почему Ocalm для этого - полный хлам.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 10:40 
>А вон то - ацкие руны, отстойнее хруста и C++ вместе взатых!

Для начала выучите синтаксис языка. А то придирка звучит так же безграмотно, как и: "в примере на голанге то :=, то =, а объявления переменных вообще нет".
>Если вы не поняли: в "большом" софтострое возможность хреначить "хаки" и вот так выкабениваться - не фича, а жирнющий БАГ и НИ-НИ!

Где вы тут хак увидели? Хак, это в голанге, когда нельзя никак пометить nullable переменные. Открываем https://go.dev/tour/methods/12, и удаляем код проверки на nil

    if t == nil {
        fmt.Println("<nil>")
        return
    }

После чего наблюдаем панику в рантайме. И весь голанг пропитан такими хаками.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 18:32 
> Для начала выучите синтаксис языка.

High entry barrier в большом софтострое тоже не фича. А гимор с поиском програмеров и их обучением. И долгое время вхождения в проект. Сплошные недостатки и более 9000 причин чтобы на этом НИ В КОЕМ РАЗЕ НЕ ДЕЛАТЬ ОЧЕРЕДНОЙ ПРОЕКТ! Под риском увольнения PM с волчьим билетом вместо золотого парашюта!

В случае хруста и си++ это воздается:
1) Ломовым перформансом.
2) При сохранении каких-никаких гарантий. Особенно хруст.
3) Возможностью лезть в глубоко системные низкоуровневые аспекты если так надо. В high-performance, системщине и проч - надо, ессно.

И вот тут с ними еще есть смысл помучаться. Потому что за это - воздается.

> А то придирка звучит так же безграмотно,

Я популярно объяснил: если вы такой код напишете на собесе в любую мало мальски серьезную корпу с best practices - о работе там можете 100% забыть, за непонимание базовых DOS и DONTS.

> Где вы тут хак увидели? Хак, это в голанге, когда нельзя никак
> пометить nullable переменные.

Это примерно такой же хак как Duff Device на си/си++. Да, экономит строки. Да, оно синтаксически валидно. Но - ценой навороченной контринтутивной конструкции. И EPIC FAIL как раз в навороченности и контринтуитивности.

>  if t == nil {
>   fmt.Println("<nil>")
>   return
>  }

А вот этот код - как раз понятен даже полному чайнику. Даже мне. Хоть я и не програмер на го.

> После чего наблюдаем панику в рантайме. И весь голанг пропитан такими хаками.

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 19:59 
>High entry barrier в большом софтострое тоже не фича. А гимор с поиском програмеров и их обучением. И долгое время вхождения в проект.

Вот интересно, как же без голанга люди живут? В php, который превращается в java, в c#, который всё ещё не c++, но уже немного ocaml, ts, который ещё не ocaml, но уже не js? Да даже тот же самый js, в который завезли и ооп и асинхронность и так далее? В c++, который всё более и более монстр? Или в haskell, который отлично годится, чтобы пугать голангеров и сишников?
>А вот этот код - как раз понятен даже полному чайнику. Даже мне. Хоть я и не програмер на го.

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

Проект жив и развивается.
>Под риском увольнения PM с волчьим билетом вместо золотого парашюта!

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено developersdevelopersdevelopers , 05-Июн-25 15:40 
> В php, который превращается в java

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

> в c#

прости г-ди

> ts, который ещё

всё ещё сахар к js чтобы гора индусов не ленилась jsdoc писать. но ценой превращения каши в абсолютно непригодную кашу от M$

>  js, в который завезли и ооп и асинхронность

которые опять-таки всего-лишь сахар чтобы уменьшить бойлерплейт (для умных) и хоть как-то понять "пачиму???7777" (для остальных)

> дальше - язычки для бородачей


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 05-Июн-25 20:08 
> Вот интересно, как же без голанга люди живут?

Как-то живут. А гугол - решил что с голангом им лучше. Предпосылки хорошо изложены в вике, как мнимум английской.

> В php, который превращается в java,

Утратил момент. Знакомые пхпшники все на го свалили. Старый софт конечно останется, но писать на этом новый...

> в c#, который всё ещё не c++ но уже немного ocaml,

В го можно не делать мозг JIT, VM, и чем там еще из ацких проблем ацких переростков с дурной наследственностью типа C# и Java. EPIC WIN для прода. И PHP туда же. По _той же_ причине.

> ts, который ещё не ocaml, но уже не js?

Еще 1 франкенштейн от майкрософт. Или куды бедному энтерпрайзу податься, если набрали жабаскриптеров, но "питонопроблемы" задолбали? Они и сделали - это. Получилось ни два ни полтора.

> Да даже тот же самый js, в который завезли и ооп
> и асинхронность и так далее?

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

> В c++, который всё более и более монстр?

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

> Или в haskell, который отлично годится, чтобы пугать голангеров и сишников?

Примерно такая же академшляпа как ocaml. У обоих много общего: проект обычно пилит 1 чел. Когда ему надоедает - проекту амба. Реально в проде ни того ни другого на радарах нет. Не трудитесь выискивать полтора наименования всякой фрикоты, я "статистически".

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

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

>>Это несущественная проблема по сравнению с полной кончиной проекта
> Проект жив и развивается.

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

>>Под риском увольнения PM с волчьим билетом вместо золотого парашюта!
> А вот теперь тайна раскрыта: вы PM и ваша задача - максимальная
> экономия денег.

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

Джуны отличаются от синьоров полным неумением в азы project management и вон то, камлая на максимизацию эффективности кодера, убер-фичи, мега парадигмы или подобный бред. А бред это потому что роялит - осмысленность соотношений в целом. Вы просто не прошли этот путь, ваше мышление соответствует (анти)паттерну обычного джуна. И не все пройдут этот путь, как показал пример некоторых господ - джуном можно и в полтос остаться, но это тот случай когда "старость пришла одна". И да, жизня заставила меня научиться быть немного PM и рядом. Не ахти каким, но если выбирать между мной и вами, я выберу себя - потому что в вас и этого не ощущается. Настоящие PM очень дорогие чуваки. И я узнаю PM по спичу из тысяч. Некто или понимает общие соотношения софтостроя, или нет.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 06-Июн-25 11:47 
>Как-то живут.

Удивительно, как же они живут, если у них язык нельзя за неделю выучить? Они уже все всё на голанд должны были перейти, но нет, не переходят. А кто-то вообще с голанга на раст ушёл. Раст ведь нельзя за неделю выучить!
>В го можно не делать мозг JIT, VM

Ну как и в окамле. Я уже писал, что как минимум в сишарпе тоже завезли статическую линковку или забыл?
>У обоих много общего: проект обычно пилит 1 чел. Когда ему надоедает - проекту амба. Реально в проде ни того ни другого на радарах нет.

Jane Street об этом явно не в курсе. Как и мозилла. Как и куча других компаний.
>Ошибка на миллиард долларов - была на аде вообще.

Ошибка на миллиард долларов - наличие null. Хотя да, вас же в гугле забанили.
>Я опять же "статистически" про типовую участь проектов. Если в проект напхать таких рун - фигачить будете скорее всего - один.

Это касается любого проекта, не набравшего критической массы пользователей. Хоть меркуриал, хоть базар - оба написаны на питоне, и оба перестали развиваться.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 06-Июн-25 16:10 
> Удивительно, как же они живут, если у них язык нельзя за неделю выучить?

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

Жабам и нетам остается в основном роль всякого легаси в замшелых энтерпрайзах. Какого-то иного применения я так сходу не вижу. Бывает полтора рандомных проекта, но в целом оно "где-то там". Майкрософт уже за глаза списал нетчиков в утиль и ставит на хруст, а на этих кладет.

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

> Они уже все всё на голанд должны были перейти, но нет, не переходят.

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

> А кто-то вообще с голанга на раст ушёл.

Но приходит на него - здорово больше чем уходит. План с заменой питона в вебе у гугли более-менее прокатил.

> Раст ведь нельзя за неделю выучить!

Ну так если сравнить популярность этого кривоватого кошмарика с игогохой, ему никакой хайп не помог. Это скорее путь для апгрейда системщиков и любителей high performance. А это все никогда и не было low entry barrier. Но и сильно массовым никогда не было.

>>В го можно не делать мозг JIT, VM
> Ну как и в окамле.

Вон то нужно в основном - в системщине и high performance. Окамл не про это. И получается что он нужен примерно - никому. Ну он и есть - где-то там. Чтобы синтаксисом пугать маленьких детей - пойдет.

> Я уже писал, что как минимум в сишарпе тоже завезли статическую линковку или забыл?

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

Так что в теории - да. На практике они го конечно же не конкурент. Потому что просто, быстро, ненавязчиво, без дохрена оверинженерии там где ее не надо? Майкрософт так не умеет, увы и ах.

> Jane Street об этом явно не в курсе.

Впервые про оных слышу.

> Как и мозилла. Как и куча других компаний.

Mozilla точно не пример для подражания. Они профачили все свои основные проекты, продолбали комьюнити, на грани того что им гугл платить перестанет. Т.е. это EPIC FAIL CORP в моем лексиконе. И выбор технологий и решений был частью этого. Они вон и hg юзали. И получили комитов под стать. Я всерьез должен считать этих general failure'ов чем-то хорошим? :)

>>Ошибка на миллиард долларов - была на аде вообще.
> Ошибка на миллиард долларов - наличие null. Хотя да, вас же в гугле забанили.

А, простите, в ариане кажется на 2 миллиарда была. И таки - самая дорогая ошибка в софте за историю человечства.

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

Это булшит. Проектам в которые просто въехать комитов накидывают "случайные прохожие" порой. Совершенно иррелевантно к массе пользователей.

Грубо говоря это так: я решал свою задачу, прикинул что вон то просто под мои цели допилить, без въезда месяц, допилил, вроде неплохо вышло. Но вон то было криво и я это для себя допилил. Могу прийти и повесить комитов апстриму, чтобы не патчить за апстримом вечно. Но, конечно, если для этого надо грузить половину вашей бошки и месяц вкуривать в проект - я на это забью. Потому что перехватывать половину девеопа проекта в мои планы не входило, я какие-то свои задачи решал, нафиг. А проект был лишь тулом. Хреново идет? Я другой тул попробую. Нет, "осилить" у меня цели нет в принципе. Есть цель решить те или иные задачи.

> Хоть меркуриал, хоть базар - оба написаны на питоне, и оба перестали развиваться.

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

А с питоном все было понятно еще в 2.x ибо у меня валяется полно скриптов на 2.3 .. 2.4 которые на 2.7 уже вот просто вообще совсем никак не того и надо половину переписывать.  Те кто хотел - могли выводы сделать еще тогда.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Лансер , 04-Июн-25 19:53 
Что уж говорить про языки APL или K.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено _ , 05-Июн-25 19:27 
А я на APL лабу делал! На бумажке! 8-)

Даже и не спрашивайте как давно это было :-(


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 20:52 
>Разрабатывали голанг те же люди, что были близки к разработке си и юникс.

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 21:02 
можете привести пример семьи широкоиспользуемых операционных систем, которые бы с технической точки зрения превосходили unix?

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 21:36 
> широкоиспользуемых

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

> с технической точки зрения превосходили unix

Plan9.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 21:49 
> Нет, и это не повод делать вид, что Юникс не свалка костылей или что все без исключения современные юникс-лайк ОС и сопутствующие технологии застряли в экономике вычислений семидесятых.

openbsd некостыльная. ей приятно пользоваться, и качество кода высокое

> Plan9.

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 23:08 
> openbsd некостыльная.

Костылен дизайн ОС, его конечные реализации не решают основной проблемы: принципиальной локалхостности юникса.

> качество кода высокое

Ага. А от неудачного printf в tty ядро у неё крашилось по чистой случайности. И все CVE Билл Гейтс оплатил специально чтобы очернить.

> ей к сожалению нет практического применения на сегодняшний день

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 23:47 
> Костылен дизайн ОС, его конечные реализации не решают основной проблемы: принципиальной локалхостности юникса.

для десктопа это не особо важно, для серверов соглашусь
> Ага. А от неудачного printf в tty ядро у неё крашилось по чистой случайности. И все CVE Билл Гейтс оплатил специально чтобы очернить.

ну баги есть везде, как и cve. очевидно, что оно не идеально, но как минимум в моей классификации подподает под понимание "чистой" системы, если не уходить уж совсем в пуризм
> В том-то и дело, что на сегодняшний день из всего доступного зоопарка она может быть даже единственная, которой практическое применение есть, но никто не применяет потому что нефиг было опережать время. Ждём следующего цикла, когда пара молодых пассионариев откроют для себя Plan9 и изменят мир. На наш век посиксных костылей и контейнеров в контейнере запаено предостаточно, пока все коньки не сносим — сандаликов не видать.

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 00:47 
> openbsd некостыльная.

Это господа которые на серьезных щах CVS юзают - не костыльные?

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

Высоту качества этой штуки можно было оценить в новости где ВИРТУАЛКА могла заапгрейдить свои прова до кернелмода на хосте. И рядом - коменты на отличненько от нетбсдшника про security circus и все такое. Т.е. господа с высоким качеством кода - высококачественно лажали при расстановке прав страницам памяти.

> ей к сожалению нет практического применения на сегодняшний день

Это типа концепт-кара - никто не делает концепт кары чтобы ездить на них по улице. Сделали парочку для выставки - и хорош.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 12:58 
> Это господа которые на серьезных щах CVS юзают - не костыльные?

non sequitur, как по мне

> Высоту качества этой штуки можно было оценить в новости где ВИРТУАЛКА могла заапгрейдить свои прова до кернелмода на хосте....

openbsd 30 лет, и в ней миллионы строк кода, которые часто исследуют эксперты по кибербезопасности. вы ожидаете, что при этих вводных возможно иметь ОС без CVE? при никакой чистоте кода этого невозможно избежать. при этом, ваш пример ещё неисключителен для OpenBSD, и в других ОС подобное встречается куда чаще.

> Это типа концепт-кара - никто не делает концепт кары чтобы ездить на них по улице.

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 18:43 
> non sequitur, как по мне

Зато как по мне - я забыл когда запускал CVS и SVN. И это было хорошо и правильно. То-есть я теперь в принципе не буду рассматривать софтварный проект с такими технологиями всерьез.

> openbsd 30 лет, и в ней миллионы строк кода, которые часто исследуют
> эксперты по кибербезопасности.

И периодически валятся тупые CVE, в том числе на "суперсекурный" SSH который уже подутомил CVE постоянными, если честно.

> вы ожидаете, что при этих вводных возможно иметь ОС без CVE?

Я ожидаю соответствия деклараций и реалий. Да, в этом смысле педалирование секурити очень чреватая тема - каждый CVE дорого репутации отольется. А когджа это убер-тупой баг в расстановке прав страниц - netbsd'шник был в своем праве поглумиться в рассылке, потому что реально - circus получился. Где слова и дела жестко разошлись.

> этом, ваш пример ещё неисключителен для OpenBSD, и в других ОС
> подобное встречается куда чаще.

Только опенбсда еще в целом недоразвита и геморна прицепом к тому.

>> Это типа концепт-кара - никто не делает концепт кары чтобы ездить на них по улице.
> концептуально и мне plan9 больше нравится, так что тут спорить я не буду.

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

> хотя учитывая то что для вас CVE это показатель качества кода,

Внезапно, да?!
1) Вулн это частный случай бага.
2) Баги это показатель качества кода.

> я уверен оно в plan9, как минимум в вашем понятии
> точно хуже, как минимум потому что он не проходит регулярный аудит

В этом смысле он скорее "unknown value". Но они и не напирали на тему безопасности, формируя ложные ожидания - и претензий "если что" - в таком виде будет меньше. Если что эти принципы не я придумал, это лишь описание как работают люди, в первом приближении.

> безопасности кода, что значит что фактических ошибок CVE гарантированно больше чем
> на том же OpenBSD.

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 19:22 
> И периодически валятся тупые CVE, в том числе на "суперсекурный" SSH который уже подутомил CVE постоянными, если честно.

вы про openssl или libressl? просто люди часто приписывают действительно небезопасный openssl к команде openbsd, хотя на деле отношение они имеют только к libressl, который является форком openssl. я не эксперт по кибербезопасности, но насколько мне известно libressl общепринято считается намного чище и безопаснее чем openssl, что как по мне наоборот показывает разработчиков openbsd в хорошем ключе если сообщество не ошибается

> Я ожидаю соответствия деклараций и реалий.

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

> Только опенбсда еще в целом недоразвита и геморна прицепом к тому.

ну я повседневно пользуюсь этой ос, и мне она не создавала проблем. для разработки есть всё кроме докера, что для меня лично не проблема. софт в виде браузеров (firefox, chromium) и оконных менеджеров (dwm, cwm, i3wm) тоже есть. сама по себе система работает стабильно, всё понятно где находится, и всё что нужно задокументировано

> Фактические CVE - это то что можно пойти и наблюдать на сайте с списком CVE, внезапно. Т.е. у вас ошибка сразу в определениях.

вы правы


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 05-Июн-25 20:20 
> вы про openssl или libressl?

Я про openssh. Который последнее время довольно часто перекачивается с фиксами CVE.

А libressl, извините, сдох по сути. Просто по общепланетарному usage в проектах и его поддержкой софтом. На него всем просто пофиг стало, ряд вещей на виду его поддержку выпилили.

> просто люди часто приписывают действительно небезопасный openssl

Я вообще про openssh говорил, он как-то довольно часто апдейтиться стал.

...
> openssl, что как по мне наоборот показывает разработчиков openbsd в хорошем
> ключе если сообщество не ошибается

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

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

Столь тупых и вопиющих багов я не видел даже у тех кто секурити не козырял.

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

Я подозреваю что у нас разные понятия о "не создавала проблем", хотелки, юзкейсы и - вероятно затраты времени на управление ос.

> cwm, i3wm) тоже есть. сама по себе система работает стабильно, всё
> понятно где находится, и всё что нужно задокументировано

Я вообще хочу - заниматься своими проектами, а не "документацию по системе" штудировать в общем случае. Так прикольнее.

> вы правы

О, редкий случай когда на опеннете кто-то признает неправоту. Ценно, вот хоть как.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 23:50 
> Plan9

И делали её те же люди, что характерно.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 19:26 
>Plan9.

Широкоиспользуемых?


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 22:00 
>которые бы с технической точки зрения превосходили unix?

Любой современный инструмент, превосходит unix. Когда утилиты выводят json, а не текст, который нужно парсить с помощью sed, grep, awk, когда используется systemd, а не сборище утилит, криво склеенных с помощью баша.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено _ , 03-Июн-25 22:21 
Да-да-дад :)

Самурай без меча, это как самурй с мЯчом, но без меча :))))
Будет твой жсон парсить всё те же утилы, ну типа jq - и что, настанет счасьте?!?! :-)))))
Шел бы ты на завод самоваров ... или в биореактор :)


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 22:28 
>Будет твой жсон парсить всё те же утилы, ну типа jq - и что, настанет счасьте?!?!

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Zig мой Zig , 03-Июн-25 23:34 
Регекспы по дефолту жадные, так что не надо тут задивать нам про лишний пробел.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 09:51 
Вы серьёзно собрались парсить структурированные данные с помощью регулярок?

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено _ , 04-Июн-25 15:55 
> Вы из тех, кому "и так сойдёт"? jq хотя-бы не ломается, из-за того, что ему пробел внезапно прилетел.

Дитё а ты точно с jq работал? Не игрался, а работал?! :)
Тогда знал бы почему gojq появился и активно пользуется :)

PS: И даже прости хоспаде - jaq, тоже ту проблему - решает, и поэтому у девчикофф на их ябблах иногда вижу :)

Но смысл моего поста то ты просто не понял... ну и!(С)


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 19:51 
>Дитё а ты точно с jq работал? Не игрался, а работал?! :)

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

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено User , 04-Июн-25 08:09 
Ну, jq тут выглядит как попытка привязать к вожжам руль - мол "мы тоже умеем в МОЛОДЁЖНОЕ".
А так - при использовании какого powershell'а - многое становится сильно-сильно проще, да.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено _ , 04-Июн-25 16:02 
Не надо тут о вкусе ананасов с теми кто их и в-правду ел!(С) ;)

Как и с любым другим ЯП - "многое становится сильно-сильно проще", зато "другое становится сильно-сильно сложнее" ... :-р
Не ну не брэйнфак конечно, и даже не REXX ;) - но вот прям про лёгкость программирования не надо тут, оно на любом языке легко пока не надо чё нить с подвыподвертом :(


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено User , 04-Июн-25 16:08 
> Не надо тут о вкусе ананасов с теми кто их и в-правду
> ел!(С) ;)
> Как и с любым другим ЯП - "многое становится сильно-сильно проще", зато
> "другое становится сильно-сильно сложнее" ... :-р
> Не ну не брэйнфак конечно, и даже не REXX ;) - но
> вот прям про лёгкость программирования не надо тут, оно на любом
> языке легко пока не надо чё нить с подвыподвертом :(

Так никто ж не спорит - "серебряных пуль" не существует, да? Но вот в контексте сопровождения\переноса вещей, отличных от "одноразовых однострочников" powershell НАСТОЛЬКО лучше bash'а - что это даже не смешно.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено developersdevelopersdevelopers , 05-Июн-25 15:49 
какой забористый у мелкомягких сеошник. два коммента - два ключа и всегда совершенно не в тему, а зарплату за два коммента насчитал по-честному. дай бог побольше некрософту таких работничков - глядишь быстрее разорятся и прекратят гадить

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено User , 05-Июн-25 17:33 
> какой забористый у мелкомягких сеошник. два коммента - два ключа и всегда
> совершенно не в тему, а зарплату за два коммента насчитал по-честному.
> дай бог побольше некрософту таких работничков - глядишь быстрее разорятся и
> прекратят гадить

Что же выдавало честного компьютерного мастера Илью?
А, точно! У вас ус отклеился и пролетарское происхождение просвечивает)


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 22:36 
у всего есть свои издержки. хоть я и соглашусь, что порог входа в systemd намного ниже, чем например в rc. но rc меньше в сотню раз по количеству кода и абстракций, при этом при должном понимании работы системы, позволяет достичь даже большего чем то что есть в systemd, что как по мне делает этот инструмент лучше

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 23:04 
>но rc меньше в сотню раз по количеству кода и абстракци

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

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 23:16 
> DynamicUser […], управление ресурсами, настройку пространств имён

Перечислил все костыли и хвастается как ловко он ими может жонглировать.

> юникс утилиты кране плохо переживают вложенность

Именно. Потому что юникс — локалхостная система, и всё взаимодействие там основано на взаимодействии локалхостов. А хочется всего лишь самоорганизующейся распределённой системы без чётких границ между локальным и удалённым. Но вместо неё у нас Кубернетес, OpenMP, Хадуп и ещё 1001 способ борьбы с «всё-файл».


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 01:04 
>> DynamicUser […], управление ресурсами, настройку пространств имён
> Перечислил все костыли и хвастается как ловко он ими может жонглировать.

А таки удобная штука порой. Т.е. когда как бы какого-то юзера - надо, но заводить постоянного под это, мусоря в систему - не с руки.

> Именно. Потому что юникс — локалхостная система, и всё взаимодействие там основано
> на взаимодействии локалхостов. А хочется всего лишь самоорганизующейся распределённой
> системы без чётких границ между локальным и удалённым. Но вместо неё
> у нас Кубернетес, OpenMP, Хадуп и ещё 1001 способ борьбы с
> «всё-файл».

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено developersdevelopersdevelopers , 05-Июн-25 15:51 
> systemd
> мусоря в систему - не с руки.

/0


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 05-Июн-25 20:26 
>> systemd
>> мусоря в систему - не с руки.
> /0

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

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 10:31 
>Перечислил все костыли и хвастается как ловко он ими может жонглировать.

Plan9 - однопользовательская система без намёка на изоляцию?
>Потому что юникс — локалхостная система, и всё взаимодействие там основано на взаимодействии локалхостов.

Нет. Из-за синтаксиса баша любая вложенность - проблематична. Берём ssh, в нём делаем sudo, в нём ещё какую-нибудь команду, и всё, приплыли. Если ssh заменить на docker или systemd-run, то проблема ничуть не поменяется. Для разнообразия, всё это должно ещё из с pipe-ами взаимодействовать.
>А хочется всего лишь самоорганизующейся распределённой системы без чётких границ между локальным и удалённым.

Как вы на удалённом хосте будете слушать tcp порт, например? Как будете кучу мелких файлов читать? И так далее.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 01:02 
> у всего есть свои издержки. хоть я и соглашусь, что порог входа
> в systemd намного ниже, чем например в rc. но rc меньше
> в сотню раз по количеству кода и абстракций,

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

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

> что как по мне делает этот инструмент лучше

Вот у вас на подкроватном локалхосте это и будет. А в целом по глобусу s-d спустился с горы и дальще вы все и сами знаете. Потому что - удобно когда продвинутые фичи ОС юзаются несколькими директивами, аналогично - типовые системные хотелки типа урезания прав и изоляции от системы, etc. И это с нормальным логингом и проч при факапах, и overview системы в целом когда надо что-то поменять.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено bOOster , 03-Июн-25 20:58 
Ты перепутал с Rust.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено _ , 03-Июн-25 22:17 
Эк тебя плющит завись того что вот оне - смогли :)
Все облака на Го, живи теперь с этим!(С)

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 15:59 
> главный недостаток го -- это огромный футпринт в памяти у приложений.

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено OpenEcho , 04-Июн-25 17:21 
> Помнится как наша контора на Caddy сделала свой продукт

Вам не кажется, что вы путаете язык и приложение написанное на нем? Это тоже самое как с ПХП, где навалом говно-кода, но все хают ПХП.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено bdrbt , 03-Июн-25 16:26 
Какой футпринт? Пруфы будут?

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 16:36 
> Какой футпринт? Пруфы будут?

конечно, пожалуйста

https://lmgt.org/?q=footprint+definition
https://lmgt.org/?q=go+high+memory+consumption
https://lmgt.org/?q=go+high+cpu+usage


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено bdrbt , 03-Июн-25 16:38 
> конечно, пожалуйста
> https://lmgt.org/?q=footprint+definition
> https://lmgt.org/?q=go+high+memory+consumption
> https://lmgt.org/?q=go+high+cpu+usage

Ясно, пруфов нет.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено _ , 03-Июн-25 19:18 
а где собственно, при воспроизведении этих запросов можно увидеть информацию о том, чтобы в голанге был отличительно большой футпринт? хоть и очевидно, что по этому параметру голанг не стоит на одном уровне с растом или си, но этого и странно ожидать, так как это высокоуровневый язык, и в этой категории он как раз таки выделяется малым потреблением памяти, в сравнении с конкурентами (e.g. nodejs, python, ruby, elixir, etc.)

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 19:30 
Только у nodejs, python, ruby определённо меньше (хотя, v8 очень старается) и память библиотек эффективно шарится, elixir вообще не из той оперы и сабж не может предложить ничего для микросервисов, кроме незначительно более высокой производительности (я думаю, гц всё съест), так чего сравнивать. По этому параметру, го стоит в одном ряду с такими языками, как додиез и жава.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 20:05 
мне кажется ты фактологически ошибаешься насчёт потребления памяти голангом.

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

для микросервисов подойдёт любой язык, на который есть имплементация RabbitMQ или Kafka.

насчёт сравнимого паритета по производительности go с java и c# я в принципе соглашусь, но у этих языков уже минус в том, что это java и c# :)

вот бенчмарк между go и node, в котором указан memory footprint (обрати внимание на соотношение RPS и Memory Usage):
https://youtu.be/ZslbMp_T90k


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 20:15 
>Только у nodejs, python, ruby определённо меньше

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

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 20:31 
> У них принципиально не может быть меньше, из-за динамической типизации. Ибо тип
> каждой переменной, кеш jit и прочее нужно где-то хранить.

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

>Вы решите абсолютно одинаковую проблему, а потом рассказывайте.

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 22:07 
>Сорян, но каким боком тут динамическая типизация, когда основная память в этих языках уходит на библиотеки и нативный код?

Это вы про свои helloworld-ы? У вас практически сразу память начнёт тратится на пользовательские данные, что бы вы не писали, хоть игру, хоть сайт, хоть что-то ещё. Вот придёт вам выгрузка на сотню мегабайт, и всё, как вы не пытайтесь, у вас данные будут занимать больше места чем код. Ибо их обработать надо, а не просто на диск записать.
>А вот тут именно по размеру кода и ресурсам, необходимым на подключаемые библиотеки. Одна и та же задача или одна и та же задача и одинаковая нагрузка?

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 22:16 
Обычные прикладные задачи, у такого примерно 1 пользователь. Или даже 10000 инстансов на 1 пользователя. Я вроде и написал об этом где-то в начале треда, одно дела когда приложуха 1 и занята обработкой запросов 24/7 и совсем другое, когда она висит и ждёт. Так вот, го пропихивают в тот же андроид, где ему не место.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 22:31 
>Обычные прикладные задачи, у такого примерно 1 пользователь.

Давайте, расскажите сколько памяти minecraft у одного пользователя потребляет. Желательно ещё со всякими модами, а то смотреть на пустые ванильные чанки - скучно.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 22:46 
По моему опыту в районе 16 гб на одного клиента. Кстати, замечательный пример того, к чему это приводит. Для сервера там требования были что-то в духе 8гб на _каждого_ пользователя (и 2 ядра минимум). В то же время есть minetest… Поэтому, на таких языках приличные игры и не пишут (в этом месте стоит передать привет юнити).

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 23:00 
>В то же время есть minetest…

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 23:38 
Дело тут вовсе не в чанках, это именно размер кода. А вот "библиотеки" в манкрафте сишные, только это и позволяет делать хоть какие-то игры на этом языке.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 09:54 
Смешно. Просто поставьте программу на рам диск. Согласно вашей же логике, если условный контейнер с питоном весит меньше 1 Гб, то и занять больше 1 Гб он не может. А если условный голанг весит меньше 80 Мб, то и занять больше 80 Мб он тоже не может. Всё равно, один статический бинарник на голанге будет компактнее, чем дистрибутив питона.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 10:27 
Конечно, смешно. Дело не в том, сколько код на диске, а в том, сколько ему нужно при исполнении.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 11:17 
Ну дак откуда голанговская программа займёт больше 80 Мб, если она уже статически слинкована? Всё, весь код в одном файле. Вы же сами говорили, что потребление памяти зависит от размера кода.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено OpenEcho , 04-Июн-25 17:27 
> Так вот, го пропихивают в тот же андроид, где ему не место.

Мои syncthing, ntfy, gotify... на андроиде сейчас плачут от таких слов :)


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено qrKot , 03-Июн-25 20:28 
Вот и спецы подъехали. А вы замеры по производительности делали, в сравнении с "до-диез и джава"?
А мы делали. Сильно не в пользу музыкальных терминов и островов в Индийском океане

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 20:33 
> А мы делали. Сильно не в пользу музыкальных терминов и островов в
> Индийском океане

А чё там с памятью? Что касается производительности, результаты практически всегда можно получить желаемые, это ни о чём не говорит.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 02:46 
кто "мы"-то? давай ссылки на свои замеры

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено User , 04-Июн-25 08:15 
Замеры по производительности ЧЕГО? Вот, скажем, эффективность работы ORM - сравнивали? Ах, да...

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 21:56 
Давай конкретику, какой трафик, сколько данных, архитектура приложения, среда исполнения, сравнение реализации на го с реализацией на том, на чём переписали, и сравнительный анализ почему так вышло и что мешало

«Жрёт память» и «жрёт цпу» — это диагностика уровня «пациент умер от старости»: на поминках после третьей сойдёт, но патологоанатома за такое уволят по несоответствию занимаемой должности.

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 01:43 
Смотря с чем сравнивать. Если с сишкой — то да. Если с жабопитонятиной, с которой го, собственно, конкурирует, то и близко нет.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 02:47 
давай прувы, тр*пло

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 11:48 
Тебе надо — ты и давай.

Ладно, погуглил за тебя, добрый я сегодня.
https://sharkbench.dev/web
https://sharkbench.dev/computation
https://programming-language-benchmarks.vercel.app/go-vs-python
https://programming-language-benchmarks.vercel.app/go-vs-java
https://benchmarksgame-team.pages.debian.net/benchmarksgame/...

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 15:43 
Вот бы ещё человеческие дженерики завезои, можно было бы потыкать.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено bdrbt , 03-Июн-25 16:31 
Они там не нужны.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 16:39 
Ага. Например, "список зайчиков" превращается в... превращается в... "список хз чего". Кладешь зайчика, в другом месте достаешь оттуда ежика и ловишь хз в рантайме. Дженерики _нужны_, они позволяют писать обобщенные алгоритмы. Без дженериков у тебя будут стопицот алгоритмов для стопицот вещей, которые можно положить в список.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено bdrbt , 03-Июн-25 16:44 
> Ага. Например, "список зайчиков" превращается в... превращается в... "список хз чего".
> Кладешь зайчика, в другом месте достаешь оттуда ежика и ловишь хз
> в рантайме. Дженерики _нужны_, они позволяют писать обобщенные алгоритмы. Без дженериков
> у тебя будут стопицот алгоритмов для стопицот вещей, которые можно положить
> в список.

Про дженерики ноют приблизительно года так с 2018-го. Когда они появились...оказалось, что ими практически не пользуются. Даже если взять твой пример со списками, это работает, например со всякими "кэшами для всего", только на стадии MVP, а потом почему-то оказывается, что удобнее таки без них. Интерфейсов хватает "за глаза".


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 16:50 
Все ими пользуются там, где они есть: тайпскрипт, ява, раст. Вот скажи мне, какой у вас тип возвращает функция filter, которая принимает список и функцию-предикат? filter(xs, pred) -- какой здесь тип у filter, у xs и у pred? "беру какой-то список, возвращаю хз что"?

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено bdrbt , 03-Июн-25 17:37 
> Все ими пользуются там, где они есть: тайпскрипт, ява, раст. Вот скажи
> мне, какой у вас тип возвращает функция filter, которая принимает список
> и функцию-предикат? filter(xs, pred) -- какой здесь тип у filter, у
> xs и у pred? "беру какой-то список, возвращаю хз что"?

Какого типа список объявил - тот тип и вернётся.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 20:29 
Большая ошибка говорить с голангерами об этом. Запись
val filter : ('a -> bool) -> 'a list -> 'a list
им неведома, ибо они как машинистки пишут всё это каждый раз руками. По пять строчек, а то и больше, за раз.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 18:49 
Лол, в стандартной библиотеке по этой причине ничего и нет, включая filter(), каждый раз ручками цикл писать будешь.

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено bdrbt , 03-Июн-25 21:37 
> Лол, в стандартной библиотеке по этой причине ничего и нет, включая filter(),
> каждый раз ручками цикл писать будешь.

Разрешаю добавить дженерики.
https://go.dev/play/p/SPOVw1LXBB8



"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 09:46 
Конечно не пользуются, разрабы го среди существующих вариантов реализации дженериков умудрились придумать абсолютно новый, который в практическом плане бесполезен.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено qrKot , 03-Июн-25 20:30 
Это вы ща про type-erasure втираете? Методичку поменяйте, ваша - про Java.
В гошных дженериках type-erasure нет, там дженерики вообще compile-time, йопть. В го с дженериками свои прелести есть, но вот именно type-erasure вообще мимо

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Анонимъ , 03-Июн-25 15:44 
Язык L, написанный на языке L2 и расширяющий возможности языка L3 - это прекрасный пример обречённого на успешный успех проекта.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Ivan_83 , 03-Июн-25 15:47 
Есть Vala, как то живёт, даже живые проекты есть :)

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 15:52 
На Котлин и Скала даже на хедхантере куча вакансий есть

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 16:49 
А уж сколько вакансий на typescript, вы даже не представляете.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено llolik , 03-Июн-25 16:42 
Vala офигенен, когда нужно что-то делать на GObject/GIO/GTK.
Православно на сишке писать - куча нудного не всегда очевидного boilerplate-а, и задолбаешься с ref/unref и прочими лайфтаймами. А так удобненько, транслируется в туже сишку и собирается CC.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 20:06 
>Vala офигенен, когда нужно что-то делать на GObject/GIO/GTK.

Vala - очередной велосипед, из тысячи велосипедов. Нужность его за пределами gtk - нулевая. Гораздо логичнее взять любой взрослый язык, добавить к нему биндинги и будет хорошо. В частности, relm позволяет писать в elm стиле на rust для gtk.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено llolik , 03-Июн-25 20:18 
> Нужность его за пределами gtk - нулевая.

Так оно и создавалось, чтобы было RAII в GObject. Я покодил, мне понравилось.

> В частности, relm позволяет писать в elm стиле на rust для gtk.

По той же логике, тогда, взять gtk4-rs, который официально поддерживается командой GTK, и зачем тот relm вообще.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 21:21 
>Я покодил, мне понравилось.

Что тут может понравится? Система типов весьма посредственная, подсчёт ссылок, который элементарно зацикливается, возможность повредить память, через те же массивы, компиляция через си код, как следствие проблемы с той же отладкой и так далее. Практически полное отсутствие библиотек вне gtk, и соответствующие сложности при работе с любыми вещами, будь-то сеть, парсинг текстов или что-то другое.
>Так оно и создавалось, чтобы было RAII в GObject.

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 23:56 
> gtk4-rs

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

Бред какой-то. Они там где-нибудь добираются до изложения того, как gtk4 использовать, или так до конца и занимаются разжёвыванием прописных истин rust'а?


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Жироватт , 03-Июн-25 15:51 
Все одно лучше, чем язычок А, который транспилируется в язычок Б (со строгой типизацией), который в свою очередь транспилируется в js

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено User , 04-Июн-25 08:18 
Тайпскрипт смотрит на это даже с некоторым недоумением. Чо не так-то?

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Андрей , 04-Июн-25 09:25 
Насколько провален TypeScript?

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 17:16 
https://devblogs.microsoft.com/typescript/typescript-native-.../

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено developersdevelopersdevelopers , 05-Июн-25 16:05 
абсолютно. но это и не язык. скорее административный метод призвать индусов к порядку, вылившийся в ещё большую путаницу в и так не совсем читабельных портянок. норм пацаны пишут any и не заморачиваются с этим недоразумением

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 15:54 
Что за F#? Где GCC, LLVM?

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 15:55 
скажи спасибо что не тайлинг на Прологе, как в недавней новости было

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 20:58 
> скажи спасибо что не тайлинг на Прологе, как в недавней новости было

Спасибо, что вместо установки штатного пакета из репы, на 20-30(если с графикой)МБ нужно качать гигабайтное нечто "без регистрации и смс", ага:


wget https://packages.microsoft.com/config/debian/12/packages-mic... -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 01:09 
> wget https://packages.microsoft.com/config/debian/12/packages-mic...

Очень безопасно выглядит - качать какой-то левак с сайта майкрософта без намека на верификацию содержимого. Казалось бы что может пойти не так?

> rm packages-microsoft-prod.deb

Прямо как фура с дронами, которая выпустив троянскую начинку - самоуничтожается.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Жироватт , 03-Июн-25 16:03 
Чего недовольный такой? Это хаскелль-дот-нет.
Модный.Не такой как все.
Функциональный. Может быть даже монады унутре.
А ещё у тех, кто им пользуется сразу +10 сантиметров и густые, шелковистые волосы.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 16:14 
Haskel? Wiki говорит, что почти OCaml.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 16:15 
.NET

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено qrKot , 03-Июн-25 20:31 
дык йопт, это тупо кодогенератор же. Какой нафиг LLVM, оно вообще не пересекается

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 16:05 
Что-то как-то фигня какая-то. Половина проблем - не такие и проблемы. Очередное ненужно.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Анониссимус , 03-Июн-25 16:22 
Любитель сишечки в треде? Сам го — проблема от рождения.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 16:46 
> Любитель сишечки в треде? Сам го — проблема от рождения.

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 16:56 
Кто вообще додумался питон в веб запихнуть. Ну, ничего, сейчас его допилят через пару релизов, и станет вполне юзабельно. Заодно минус сложности с гц.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 17:04 
> Кто вообще додумался питон в веб запихнуть.

Да тот же гугл изначально и! Посмотрел что получилсь - и сделал с горя Go. Чтобы было получше чем ЭТО.

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

Пару major версий? :) К тому времени - кода совместимого с актуальными версиями не останется, да и яп весь перепашут нахрен. Потому что там надо либо радикаьлно переделать много чего для годности для больших проектов, либо это by design нечто для написания макетов. Просто писать? А вот потом баги ловить - при отсутствии аннотаций намерений кодера в большом проекте - нифига не просто. Тем более что большая их часть лезет в рантайме и через недельку в проде оно - хлоьысь! Как говорится - счастливой отладки.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено randomize , 03-Июн-25 20:34 
> А вот потом баги ловить - при отсутствии аннотаций намерений кодера в большом проекте - нифига не просто

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 01:17 
> Для большого проекта используй пакеты, модули, классы.

Вот только на питоне
1) Новые програмеры по определению ламонубы.
2) Изначально статического анализа вообще толком нет.
3) Аннотации намерений кодера тоже нет.
4) Большая часть ошибок - в рантайме. Сильно опосля.
5) Вон те писаны примерно так же, примерно такими же зачастую.
6) Чтобы не было скучно - проблемы перфоманса, на фоне которых GC в игогошке выглядит маленькой невинной шалостью.
7) Это не чинится. Ибо известность и гарантированность типа позволяет много оптимизаций, недоступных вон тому. Как не чинится и тот факт что для eval() надо в программу линкануть ВЕСЬ парсер AST и КОДОГЕНЕРАТОР, если пытаться это как нативный код всерьез оформить.
8) А не в серьез - go ему и дает мастерклассы по перфомансу в хвост и гриву.
9) Микросервис на игогошке выглядит просто, лаконично, логично, современная архитектура. Веб на питоне выглядит как кусок хтони. И фреймворки такие же.

> А лапшекод на любом языке можно написать.

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

Де факто код на питоне высунутый в сеть - элементарно сыпется с как минимум DoS attack от малейшего тыкания в него палочкой хоть немного креативно.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 10:50 
>1) Новые програмеры по определению ламонубы.

Голангеры этим гордятся. Иначе, они бы не превозносили примитивность голанга в каждом обсуждении.
>2) Изначально статического анализа вообще толком нет.

Аналогично
>3) Аннотации намерений кодера тоже нет.

Аналогично. Ну вот нет возможность пометить переменную nullable. И таких примеров - куча.
>4) Большая часть ошибок - в рантайме. Сильно опосля.

Только вот в голанге ещё и стек вызова съеден. Где же это могло быть?
if err != nil {
    return nil, err
}
>7) Это не чинится. Ибо известность и гарантированность типа позволяет много оптимизаций

interface{} и вот ваша программа на голанге динамически типизированна. С падениями при приведении типов в рантайме
>Потому что единственное что там из культуры кодинга есть - приучение п...лями к форматированию программ. Но это нужно только для самых маленьких. А больше там ничего нет, ни аннотации намерений кодера, ни антибажных фич в синтаксисе, ни статического анализа в том числе из-за предыдущих проблем.

В голанге ситуация полностью аналогичная. Какие антибажные фичи есть? ADT - нет. Сопоставление с образцом - нет. Типобезопасность - тоже нет. Да ничего по сути нет. Только  дрессировка проверять err != nil. Но это нужно только самым маленьким.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 19:26 
> Голангеры этим гордятся. Иначе, они бы не превозносили примитивность голанга в каждом
> обсуждении.

Голанг - замена питона в вебе от гугля. Как еще понятнее эту простую идею объяснить? С починкой выявленных в проде критичных грабель, типа хренового перфоманса и кода который невозможно вдолгую майнтайнить, пополам с backward incompat разработкой вечно ломающей всем прод "во имя луны".

Гугель наелся этого - и принял решение сделать сам. Переучив своих питонистов на это. Откуда и решения. Нет, простите, увольнять дешевых джунов и нанимать дорогих штучных гроссмейстеров в этот план не входило. Совсем никак.

Изначально они это все - для переписки бэков именно у себя в проде затеяли. Остальное лишь следствия. На память об этом - микросервис на го выглядит весьма лаконично.

> Аналогично

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

> Аналогично. Ну вот нет возможность пометить переменную nullable. И таких примеров - куча.

Nullable это 1 очень частный случай. А питон это вообще сплошная динамическая типизация и никакого антибага в синтаксисе вообще. Т.е. буквально шлепнув отступ в IDE по ошибке - не, компил и старт не завалится. А вот потом можно будет долго чесать репу что же это за нафиг такой.

> Только вот в голанге ещё и стек вызова съеден.

В голанге за счет статической типизации и компилируемости таких случаев намного меньше, с самого начала, by design. Выпячивать полторы проблемы нет никакого смысла - в конечном итоге волнует общее качество софта и вероятности, а не жонглерство фактами. И уж конечно корпы объяснят что они хотели. Длинным долларом. И я с ними в ЭТОМ аспекте 100% солидарен.

> В голанге ситуация полностью аналогичная. Какие антибажные фичи есть? ADT - нет.

Статическая типизация и фаза компиляции хотя-бы. Где уже можно некий статический анализ. По сравнению с питоном где все это не завезли - уже нехилый апгрейд! Сильно меньше именно runtime error от присвоения гвоздей бананам, и потом счета полчаса фиг знает чего - а вот тут у вас конечно выпал стектрейс на 3 страницы, но вы даже с поллитрой не разберетесь что это за нахрен. Тем более кастомер заказывавший гвозди и бананы в комплекте попадался - раз в полгода, так что удачи в отладке этой фигни. И вот оно начинает - постоянно сыпаться там и тут и хрен поймешь почему.

> Сопоставление с образцом - нет. Типобезопасность - тоже нет. Да ничего
> по сути нет. Только  дрессировка проверять err != nil. Но
> это нужно только самым маленьким.

См. выше. Основные вещи таки - есть. А вы просто зажрались малость и шарахаетесь из крайности в крайность. А роялит - сбалансированность результата. У го это есть.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 05-Июн-25 12:41 
>Голанг - замена питона в вебе от гугля. Как еще понятнее эту простую идею объяснить?

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

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

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

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

Линтеры для питона уже изобретены. Джава изобретена куда раньше. Окамл изобретён куда раньше.
>Nullable это 1 очень частный случай.

Нет, это очередной случай. Если задача - переложить json, то ещё как-то можно жить. Если задача работать с любыми сложными данными - проблемы. Голангу очень далеко до удобства того же окамла, в плане работы с исходным кодом программы, так как там нет даже ADT, не говоря уже про GADT.
>Выпячивать полторы проблемы

Это не полторы проблемы, это две очень серьёзные проблемы.
>а вот тут у вас конечно выпал стектрейс на 3 страницы

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

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 05-Июн-25 20:56 
> Голанг - это последствие острой формы nih от гугла, возникшей на фоне
> обострения хронической некомпитентности, как ещё понятнее эту простую идею объяснить?

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

А NIH их укусил потому, что выбор между древностями, тормозными граблями типа питона, отшиблеными кошмариками от академиков, и монстрами типа явы/нета может и задолбать!

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

С нодой на данный момент возится майкрософт вроде. Остальные поматросили и бросили, да и майкрософт туда же дрейфует. И с тайпскриптом как-то так же.

Если вы не заметили, у Go забойный плюс: компилится в нативный код, можно забыть про ужасы с VM, JIT, "прогревом кешей" и прочим ужасом. В проде так проще.

> Зачем равняться на дешёвых джунов?

Жаба - страшный зверь! Передушила больше людей чем все остальные вместе взятые. Фактор никуда не денется, нравится вам это или нет.

> В заинтересованы в демпинге как работодатель?

Я заинтересован в реалистичном описании наблюдаемой картины мира а не wishful thinking.

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

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

> Даже php уже вышел за пределы простых веб страничек.

Увидеть php за пределами веб страниц - редкая экзотика. Статистически он яп для вебстраниц. Но поскольку все тюринг-полные ЯП эквивалентны...

> Линтеры для питона уже изобретены.

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

> Джава изобретена куда раньше.

И давно стала энтерпрайз-переростком в хучшем виде. Как и дотнет. Кому охота делать мозг проблемами JIT и VM, когда можно без этого? Да, какие-то кривые полурешения для жаб и нета есть. Но в го то это сразу, по дефолту, первым классом! Это прибавило ему очков форы.

> Окамл изобретён куда раньше.

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

>>Nullable это 1 очень частный случай.
> Нет, это очередной случай. Если задача - переложить json, то ещё как-то
> можно жить. Если задача работать с любыми сложными данными - проблемы.

Для начала на уровне архитектуры стоит избегать работы с "сложными данными". Это ничем хорошим не заканчивается в общем случае.

> Голангу очень далеко до удобства того же окамла, в плане работы
> с исходным кодом программы, так как там нет даже ADT, не
> говоря уже про GADT.

Голанг просто нонрмально сбалансированый тул. В отличие от академприблут с фиксацией на полутора топиках - при полном игноре критичных для эксплуатации проблем.

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

>>Выпячивать полторы проблемы
> Это не полторы проблемы, это две очень серьёзные проблемы.

Как я уже сказал - в проде волнует общее сочетание свойств в целом. Вы это так и не поняли.

> В голанге из коробки у вас не будет абсолютно никакого стека вызова.
> Джава первой версии из коробки была куда лучше в этом плане.

Зато она намного хуже в многих других планах. Огроменный рантайм - прицепом к программе в обязаловку - с кучей CVE которые патчить постоянно надо. JIT. VM. Это все сильно усложняет и делает прод сильно неудобнее и дороже в обслуживании. И дотнет идет туда же. И пых в общем то по сути. Никакие фичи языка им от ЭТОГО - не помогут!

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

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

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

Однако общий баланс как инструмента - вполне осмысленный. А жабы и неты ему таки не конкурент, просто на уровне гимора с продом с всем этим.

В go: компилится в 1 самодостаточный бинарь. Это весь ваш прод. Обслуга прода сводится к замене 1 бинаря. Теперь посмотрим на неты и жабы с 100500 меговыми рантаймами, CVE в них по 5 в месяц, более 9000 файлов в всех закоулках, версиепроблемы рантайма, заскоки VM и джита ... .... ... - в общем - донаймите-ка на фултайм еще админов и кого там. А это не беспатно нихрена!


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 06-Июн-25 11:38 
>С нодой на данный момент возится майкрософт вроде.

Не суть важно. Они уже написали один быстрый движок, а второй не осилили. Тут даже не скажешь, что чертежи потеряли.
>Если вы не заметили, у Go забойный плюс: компилится в нативный код, можно забыть про ужасы с VM, JIT, "прогревом кешей" и прочим ужасом.

Ух ты, прямо как и хаскель, и окамл.
>Жаба - страшный зверь!

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

Если вы пишите код, то падение зарплат - это то, что вредит вам напрямую. Ибо придётся писать код за зарплату, меньше чем у кассира.
>Увидеть php за пределами веб страниц - редкая экзотика.

Не экзотика. Раньше на php было крайне сложно любую фоновую обработку данных сделать, там и память текла и всё такое прочее. Так что это - уже большой прогресс.
>Для начала на уровне архитектуры стоит избегать работы с "сложными данными". Это ничем хорошим не заканчивается в общем случае.

Вы так и пишите "голанг игрушечный язык, для серьёзных дел не предназначен". Условную IDE на голанге писать будет крайне неприятно.
>У го половина его EPIC WIN была в том что он сразу компилируемый, без VM и JIT. Вот с GC неотключаемым они маху дали, ну тут уж упс, поздняк метаться.

У вас пластинка заела. Но опять же, окамл тоже это умеет.
>Зато она намного хуже в многих других планах. Огроменный рантайм - прицепом к программе в обязаловку

Джава плохая, по этом стека вызова у нас не будет. Только вот где джава и где голанг?
>Чтобы программу вообще никто не смог не только читать чужую, но и написать свою, спятив еще до завершения кодинга? :)

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 06-Июн-25 18:40 
> Не суть важно. Они уже написали один быстрый движок, а второй не
> осилили. Тут даже не скажешь, что чертежи потеряли.

Я так понимаю что идея в том что фронтэндщики еще и бэк смогут! Хитрый план наступил на граблю: оказывается JS для валидации формочек делали. А для больших проектов в долгую - не айс!

Костыли типа модулей от присвоения гвоздей бананам не помогут. А потом со всеми этими воркерами, эвентами, асинхронщиной, в большом проекте - "have a nice debugging session". Так появился TypeScript. Но к моменту его популяризации мир уже выбрал Go.

Майкрософт и гугл и не поняли - зачем мучаться, если вот, решение уже есть. Конкурировать с го тайпскриптом? Ну, э, лол.

> Ух ты, прямо как и хаскель, и окамл.

В теории даже брейнфак можно в нативный код перегнать. На практике - кому и зачем это будет надо?

С той парочкой - надо платить дофига гроссмейстеру. Чтобы поиметь много головняка когда он уволится. Нового еще найди, а потом полгода будет в крутые абстракции вкуривать, не продуцируя ничего, но денег то - дай.

>>Жаба - страшный зверь!
> Удивительно, но что жаба, что дотнет, крайне популярны, при разработке игр.

В данном случае жаба - человеческая ;). А у проф игроделов популярен, так то, си++. Там сочетание ооп с низкоуровневым контролем - то что доктор прописал.

>>Я заинтересован в реалистичном описании наблюдаемой картины мира а не wishful thinking.
> Если вы пишите код, то падение зарплат - это то, что вредит вам напрямую.

1) Это _не_ повод выдавать wishful thinking за состояние дел.
2) Рынок состоит из баланса интересов сторон.

Если по факту есть вон то - что вы предлагаете? Я себе предложил - играть на полях куда те залезть не смогут, да и вы заодно - тоже ;)

> Ибо придётся писать код за зарплату, меньше чем у кассира.

Мне в отличие от кассира - есть чем покозырять, остальное - не мои проблемы.

>>Увидеть php за пределами веб страниц - редкая экзотика.
> Не экзотика.

Я знаю 1 штуку которая не веб, но на пыхе: бенчи от фороникса. Это так - только потому что Ларабель изначально вебдев. А в планетарном масштабе это погоды не меняет. Реально сейчас Go и пых - даже сравнивать не удобно, если смотреть на новые проекты. Все же удобный простой прод это было хорошо и правильно.

> Вы так и пишите "голанг игрушечный язык, для серьёзных дел не предназначен".

В этом месте неплохо бы определить критерии "игрушечного языка" и "серьезных дел".

> Условную IDE на голанге писать будет крайне неприятно.

IDE на го и правда не сильно рвутся писать. Зато всякой лабуды для веба и околосетевого есть.

> У вас пластинка заела. Но опять же, окамл тоже это умеет.

Это ему не поможет, ибо не low entry, под веб не заточен, а вон там зашоукейсили и почему в проде такое - фи.

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

КМК на голанге новых проектов сильно больше чем на жабе. И бэкэнд на жабе сейчас мало кто удумает, когда го есть, если выбирать на чем проект делать СЕЙЧАС.

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

Можете - читайте. А я не собираюсь те руны декодировать лишний раз.

> Или зайдите на хабр, и посмотрите сколько там статей про хаскель?

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено User , 04-Июн-25 08:21 
Да ващет гугл youtube купил - сами с нуля они не то, чтобы много чего на змеюке наджамшутили.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено qrKot , 03-Июн-25 20:33 
Вот это "через пару релизов допилят" еще на 2-й версии питона рассказывали

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 20:37 
> Вот это "через пару релизов допилят" еще на 2-й версии питона рассказывали

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



"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 01:19 
> ну не соврали же, сразу, как переписали на 3 и избавили от
> исторической игрушечности, так и стал вторым лучшим языком для любой области

Вон там Hg - натурально избавился от игрушечности, очень радикальным способом - сдох! :)


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 02:56 
в каком месте он 1) избавился; 2) сдох. ты - типичный иксперт опеннта

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 19:35 
> в каком месте он 1) избавился; 2) сдох. ты - типичный иксперт опеннта

Ну вот таким и избавился - даже (тор)мозилла это выбросила. А все мало-мальски живые хостинги реп сделали это еще до них. И теперь питонопроблемы этой лабуды интересуют в основном только самих авторов этого куска проблем. Но им то это все - заслуженно :)


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 20:42 
>> Любитель сишечки в треде? Сам го — проблема от рождения.
>Пока больше всего - для всяких питонистов, которых он безжалостно выпиливает из веба в свою пользу.

Проблема голанга не в том, что он выдавливает питонистов, это даже наоборот хорошо. Проблема в том, что голанг - это весьма посредственный язык, даже по меркам девяностых, и выдавливая плохие решения, типа питона, он уничтожает возможность на что-то лучшее. Как говорится, лучшее - враг хорошего. Вот сейчас бизнес видит, что люди готовы штамповать if err != nil, и говорит - а зачем переписывать на язык с адекватной обработкой ошибок? Зачем переписывать на язык, где вместо interface{} нормальные типы? И всё, сидеть теперь в этом тьюринговой трясине(это термин, если что), и не видеть света, так с точки зрения бизнеса - всё хорошо: разработчиков много, ресурсов по сравнению с питоном жрёт меньше. Как сорняк, заглушающий культурные растения.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 01:26 
> Проблема голанга не в том, что он выдавливает питонистов, это даже наоборот
> хорошо. Проблема в том, что голанг - это весьма посредственный язык,
> даже по меркам девяностых, и выдавливая плохие решения, типа питона, он
> уничтожает возможность на что-то лучшее.

Best is mortal enemy of good enough (c) мудрость любого крупного продакшна. Go создан как инструмент наворачивания решений в проде. Прагматичного кода. Для потенциально достаточно крупных проектов. Подлежащий майнтенансу и не испытывающих идиотских проектов при росте масштаба и игре вдолгую.

> Как говорится, лучшее - враг хорошего.

Абсолютно. Никому не надо - лучшее. Надо - прагматичное, работающее, не создаюшее проблем.

> Вот сейчас бизнес видит, что люди готовы штамповать if err !=
> nil, и говорит - а зачем переписывать на язык с адекватной
> обработкой ошибок?

У других парадигм в зависимости от проекта может получиться куча своих дурацких грабель. Вон хруст VS linux kernel заметил что оказывается panic() при обломе выделения памяти это не круто. И родили франкенштейнов try_* по сути ... эээ что?! Вернув обычную сишную семантику? После стольких лет воплей как это плохо? Ну, э, лол! :)

> Зачем переписывать на язык, где вместо interface{} нормальные типы?
> И всё, сидеть теперь в этом тьюринговой трясине(это термин, если что),

Тьюринговая трясина - термин? Интересно, а где описано что сие?

> и не видеть света, так с точки зрения бизнеса - всё хорошо:

Именно так. И тут надо уже определиться - наука для людей, и делает то что полезно им, или просто живет в башне слоновой кости, фигача на своей волне? Если второе - то и платить денег этим господам совершенно не логично. Страдать фигней, которая никому кроме страдальцев ей не требуется - это за свой счет!


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено User , 04-Июн-25 08:33 
Ну вообще-то размен "сложности кода" на "сложность архитектуры" - не то, чтобы однозначно выгодная вещь. Распилка java'вского монолита поверх mssql на игогошные микросервисы в кубике обошлась почти в x5 по аппаратным ресурсам (Без учета dev\test\ci-cd). Нуэээдааа, оно понятным образом масштабируется, ТТМ стал определенно лучше, BUS-фактор на проекте снизился - но вот тот же ФОТ вырос и ценник "java-господ"(ТМ) вполне себе скомпенсировался devops'ами\SRE.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 20:01 
> Ну вообще-то размен "сложности кода" на "сложность архитектуры" - не то, чтобы
> однозначно выгодная вещь.

В идеале большие проды хотят чтобы везде просто, low entry barrier, дешево, сердито, шустро, без проблем с майнтенансом, продуктивно, без багов. Реально так не бывает - а то или иное приближение так или иначе икается. С одной или другой стороны. Чем агрессивнее - тем сильнее например качество тухнет.

> Распилка java'вского монолита поверх mssql на игогошные микросервисы
> в кубике обошлась почти в x5 по аппаратным ресурсам

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

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

> (Без учета dev\test\ci-cd).

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

> Нуэээдааа, оно понятным образом масштабируется, ТТМ стал определенно
> лучше, BUS-фактор на проекте снизился - но вот тот же ФОТ
> вырос и ценник "java-господ"(ТМ) вполне себе скомпенсировался devops'ами\SRE.

А реальный косяк - вы на архитекте сэкономили. Плюс микросервисов в том что ну вот вообще совсем от и до этот паттерн профачить - довольно сложно. Он довольно гибкий и многое можно переиграть по ходу пьесы. Только без нормального архитекта, который поймет РЕАЛЬНЫЕ задачи, и что РЕАЛЬННО там надо - а не ваше суперценное мнение как вот это вот - это все лишь тыкания слепого котенка в темной комнате.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено User , 04-Июн-25 20:18 
Ох, как жаль, что ребята наняли для реализации какой-то там "Accenture", а не Честного Компьютерного Мастера Илью по объявлению - уж он то бы им показал, как данные с флешек восстанавливать и монолит на микросервисы пилить! Еще бы и катридж поди, заправил - да вот беда, умные ворота с пачкой объявлений "Пенсионерам - скидка!" не пустили, не иначе.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 05-Июн-25 21:11 
> Ох, как жаль, что ребята наняли для реализации какой-то там "Accenture",

Аааааа! Это прикоооол?! Вы меня смехом уморить сегодня решили? :D Это ТОТ САМЫЙ Accenture, который разводил LSE как кроликов, по 40 лямов за релиз своей какахи, но так и не смог обещанные латенси транзакций, так что LSE задолбался и - перешел на пингвин, скупив команду плюсеров? В свете таких success story "Windows Server обгоняет Linux" смотрелся очень пикантно, да :D :D

А тут надо же - еще клиент этой чудо фирмы всплыл. Но видимо не такой сообразительный как LSE. Хи-хи, надо же какие имена внезапно всплыли.

> а не Честного Компьютерного Мастера Илью по объявлению - уж он то
> бы им показал, как данные с флешек восстанавливать и монолит на
> микросервисы пилить!

Не знаю про какие вы там объявления, но LSE в свое время решил что скупить тиму линуксоидов дешевле и лучше работаете чем с Accenture связываться :D :D :D

> Еще бы и катридж поди, заправил - да вот беда, умные ворота с пачкой
> объявлений "Пенсионерам - скидка!" не пустили, не иначе.

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено User , 06-Июн-25 07:07 
Да-да, следующий раз попрошу тендерный отдел пройтись по подъездам и собрать объявления по почтовым ящикам. Еще вот таксистов поспрашивать можно...

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 06-Июн-25 18:47 
> Да-да, следующий раз попрошу тендерный отдел пройтись по подъездам и собрать объявления
> по почтовым ящикам. Еще вот таксистов поспрашивать можно...

Не, сэр, с Accenture вы реально жжоте! А как пруф офигенного умения оных в архитектуру, видимо, будет шоукейс от LSE? :)


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Пользователь , 05-Июн-25 08:36 
>Плюс микросервисов в том что ну вот вообще совсем от и до этот паттерн профачить - довольно сложно.

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

>Он довольно гибкий и многое можно переиграть по ходу пьесы.

Именно по этой причине.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 05-Июн-25 21:16 
> Очень просто, на самом деле, что более-менее регулярно демонстрируют многие компании,
> пошедшие на поводу моды.

Его можно будет постепенно пытаться вытянуть до чего-то относительно потребного. А в более монолитных вещах - вообще задник будет.

>>Он довольно гибкий и многое можно переиграть по ходу пьесы.
> Именно по этой причине.

Если вы вдруг не заметили - на этом глобусе вымирает то что не смогло приспособиться к изменениям. Поэтому гибкость паттерна - в целом плюс.

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 11:14 
>Прагматичного кода

Примитивного кода
>Для потенциально достаточно крупных проектов. Подлежащий майнтенансу и не испытывающих идиотских проектов при росте масштаба и игре вдолгую.

О чём вы? Голанг падает на первой же попытке разыменновать nil. О каких больших проектах идёт речь? Да в php пометку переменных завезли и в c#. Это не говоря про rust, haskell, ocaml, и другие ml языки, где это было изначально.
>Надо - прагматичное, работающее, не создаюшее проблем.

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

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

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

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

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 20:52 
>>Прагматичного кода
> Примитивного кода

Это часть прагматичности как фактора. Если в коде разбирается 1 гений - круто, а что делать если он уволился? Вон та загогулина на окамле - отличный пример чего в большом проекте играющем вдолгую быть ВООБЩЕ СОВСЕМ НЕ ДОЛЖНО. Спасибо что подогнали, классика жанра! Могу такой же Duff Device подогнать на си/си++. И, конечно, если я так напрогаю что-то, меня любой синьор с г@вном замесит. Хоть это и сэкономило строк ... ценой эзотеричной конструкции с высоким риском неверной ее трактовки двуногими, блин!

В этом месте мы начинаем догадываться чем синьор и тем более PM отличается от джуна :)

> О чём вы? Голанг падает на первой же попытке разыменновать nil.

Выпячивать конкретные случаи можно конечно, но...
1) Экономия LoC не самоцель.
2) Роялит общий баланс инструмента, а вы утыкаетесь в какие-то частные детали и пытаетесь страдать перфекционизмом в 1 закоулке - жестко продалбываясь в другом. Как с теми рунами.

Так что единственное что вы тут реально спалили - мышление махрового джуна.

> О каких больших проектах идёт речь? Да в php пометку переменных завезли
> и в c#. Это не говоря про rust, haskell, ocaml, и
> другие ml языки, где это было изначально.

О тех самых. Которые держат на себе фортуну 500. И внезапно из вон тех в это число входит разве что хруст да пых в диалекте hack от мордокниги. C# нишевая маргинальщина, применяемая в виндовых энтерпрайзах, но в целом за их пределами погоду не делающая. Остальные вооюще - "где-то там". Значит счастье отнюдь не в этом.

Ну и в микросервисах под которые go хорош - оно попилено на относительно мелкие компоненты если архитект не совсем лох. А отдельный "кубик" этого можно дать програмить - вот вчерашнему питонисту реально. И более-менее прокатит. Чем и хорошо. Если вместо него хрустика искать это совсем другие времена хедхантинга и желаемые бабки. Ибо совсем не low entry barrier, в отличие от! Хотя на хаскелиста к которому отнеслись бы как к джуну я бы посмотрел, конечно. Чисто чтобы посмеяться с такого фрикшоу. Закончится это фрик-шоу ожидаемо, конечно: интересы прода и такого програмера вообще совсем не совпадут.

>>Надо - прагматичное, работающее, не создаюшее проблем.
> Зачем нужен автомобиль? Нужна хорошая лошадь, работающая, не создающая проблем.

Если вы вдруг не заметили - никто не делает массово неубиваемые автомобили с броней от всего, непротыкаемыми шинами, двигателем на котором можно 5 000 000 километров проехать и какой там еще функциональностью встроенного самолета. Не то чтоб так совсем нельзя, но будет дорого и нахрен никому не надо в таком сочетании, кроме пары эстетов готовых платить (какой-нибудь продюсер, для съемок серии джеймсбонда, и тот задушится жабой и нарисует это виртуально).

> В си нет сементики, есть только ub. Как минимум в юзерспейс коде,

Сразу хайлайтит уровень экспертизы как он есть. Максимализм во все поля.

> ошибки выделения памяти зачастую не проверяются. Так что любой try_, который
> гарантированно проверит выделение памяти - это уже лучше, чем си.

Фишка try_* как раз в том что ПРОГРАМЕР ПОТОМ ДОЛЖЕН ПРОВЕРИТЬ ЧТО ПРОКАТИЛО. Как в сишке! В основном потому, что panic() при любой нехватке памяти кернелу - не круто, приколитесь?! И тут вообще выезло довольно много вопросов к обработке ошибок хрустом. И они пошли костылить яп и тулчейн, как обычно. Накостылили - вот это. Чем оно отличилось от сишки и семантики побиваемой камнями - ктулху бы его знает. Та же хрень, "затонахрусте" чтоли? :)

>>Тьюринговая трясина - термин? Интересно, а где описано что сие?
> Вас в гугле забанили?

Чтобы слать в гугл надо хотя-бы английский вариант термина дать.

> Вот вам определение из википедии

Там как примеры - совсем другие вещи, по типу SUBLEQ и брейнфаков приведены.

> Все современные технологии пошли из рассуждений людей в башне из слоновой кости.

Сначала как раз без особой теории было, а наиболее ценный вклад сделали - практикующие. Типа тесл, гальвани и проч. А польза от какой-нибудь СТО стала очевидна ой как не сразу.

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

Вы как-то сами себе противоречите. У вас биполярочка прицепом к джунству? oO


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 05-Июн-25 09:50 
>Это часть прагматичности как фактора. Если в коде разбирается 1 гений - круто, а что делать если он уволился?

Как живут в PHP, Java, c#, c++, TypeScript и во всех других языках, авторы которых не упрощали их до неприличия?
>В этом месте мы начинаем догадываться чем синьор и тем более PM отличается от джуна :)

Интересно, для кого тогда изобретены всякие разные абстракции, если пользоваться ими нельзя? Для джунов на собеседованиях?
>2) Роялит общий баланс инструмента, а вы утыкаетесь в какие-то частные детали и пытаетесь страдать перфекционизмом в 1 закоулке

Берётся одна элементарная проблема, из коробки решённая в окамле, полурабочими костылями всё ещё не решённая в c#, php и так далее, и рассматривается, что может предположить голанг. А ничего, всё как в сишарпе родом из нулевых. И всё, в голанге вы эту проблему никак не решите, поскольку аннотаций там нет. Даже до костыльного полурешения из c# голангерам пару десятилетий. Ну разве что psv-studio для голанга адаптируют. И таких мелких проблем, с элементарным решением, в голанге куча.
>да пых в диалекте hack

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

Ну да, ну да. И java, и typescript, и котлин, и скала. Осталось только это всем этим программистам сказать это, вот они удивятся. Кругом одни только гокодеры.
>Если вы вдруг не заметили - никто не делает массово неубиваемые автомобили с броней от всего

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

А что, сишники уже научились не портить память на ровном месте? Вот не получится несколько месяцев ничего не перезагружать, то тут, то там очередную cve поправят.
>КДОЛЖЕН ПРОВЕРИТЬ ЧТО ПРОКАТИЛО. Как в сишке!

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

Ну точно забанили, могли бы и самостоятельно найти.
>A Turing tarpit (or Turing tar-pit)

Это так сложно?
>Сначала как раз без особой теории было, а наиболее ценный вклад сделали - практикующие.

Вы про какой век говорите?
>Типа тесл, гальвани и проч.

Уже даже в то время, теоретическая основа была крайне важна. Ну вот не получится у вас методом тыка собрать генератор.
>А польза от какой-нибудь СТО стала очевидна ой как не сразу.

Я для кого написал "современные"?
>Вы как-то сами себе противоречите.

Это сарказм. Ибо ваше мышеление на уровне: крестьяне хлеб сеют, они хорошие, а вот Ньютон ерундой страдает. Что мы, без него не знали, что яблоки на Землю падают?


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 05-Июн-25 21:41 
> Как живут в PHP, Java, c#,

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

> c++,

Берет перфомансом, низкоуровнеевым контролем и мощными кодерами.

> TypeScript и во всех других

Они все где? На тайпскрипте реально полтора проекта и майкрософт с этим поматросил-бросил в целоп.

> языках, авторы которых не упрощали их до неприличия?

Это на замену питона блин сваталось. Даже логотип нарисовали для непонятливых. Вы хотите чотб вам гроссмейстеров наняли для всякой веьни? А зачем там гроссмейстеры? :)

> Интересно, для кого тогда изобретены всякие разные абстракции, если пользоваться ими нельзя?

Чем проще яп тем ниже порог входа и дешевле кодеры. Забавно, да?

> Для джунов на собеседованиях?

Типа того. Вас там бортанут очень быстро. Как хучший из вариантов джуна, который может глобально завалить большой проект. Unsupervised jr. dev can do tremendous damage to project (c) PM'ская мудрость.

> Берётся одна элементарная проблема, из коробки решённая в окамле, полурабочими костылями

У вас нездоровая фиксация на 1 проблеме и окамле. Основная проблема в том что для всех остальных это в лучшем случае - невзрачнй мелкий бонус до кучи. Как максимум good to have.

А Go прагматично решает целую кучу за#$%ших всех проблем прода. Ни вам 100500 рантаймов с CVE каждый месяц, ни VM, ни JIT с прогревами кешей. И вот по этой части он даст мастеркласс и пыху, и жабе, и нету, и кому еще.

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

Это то что в продах всем реально было надо, а не вон то вовсе ;)

> И таких мелких проблем, с элементарным решением, в голанге куча.

Его самыми сильными сторонами является - совсем другое. Но вы даже это не поняли.

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

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

> Ну да, ну да. И java, и typescript, и котлин, и скала.

Которые вооон те аспекты - не адресуют совсем никак. И поэтому даже в теории игогохе не конкуренты.

Представляете, с точки зрения условного девопса, деплоить 1 самодостаточный бинарь в прод VS огроменный рантайм. Что же выберут в проде? А, ну вот и секрет успеха игогохи :)

> Кругом одни только гокодеры.

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

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

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

> А что, сишники уже научились не портить память на ровном месте?

Да кто как. Можно и на си нормально порграмить но требует культуры процессов и мнимализма. Вы ж живете в этом мире, куча ECU крутят вам моторы - и вы доверяете сишникам свои тушки в чертовой куче мест. Приятной поездки, полета, плавания, ... :)

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

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

>>КДОЛЖЕН ПРОВЕРИТЬ ЧТО ПРОКАТИЛО. Как в сишке!
> В сишке никто никому ничего не должен. Там нет ни линейных типов,
> ни ADT, ни сопоставления с образцом. В ядре может быть и
> проверяют, но и то не всегда,

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

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

Тем не менее для многих задач - игогоха вполне себе прокатил. Особенно бэков в вебе.

> Это так сложно?

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

>>Сначала как раз без особой теории было, а наиболее ценный вклад сделали - практикующие.
> Вы про какой век говорите?

Про 19 примерно, когда все самые мощные и интересные вещи и появились, особенно под конец.

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

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

>>А польза от какой-нибудь СТО стала очевидна ой как не сразу.
> Я для кого написал "современные"?

Современный - понятие относительное. Скажем трансформатор - совремнная штука или нет?

>>Вы как-то сами себе противоречите.
> Это сарказм. Ибо ваше мышеление на уровне: крестьяне хлеб сеют, они хорошие,
> а вот Ньютон ерундой страдает. Что мы, без него не знали, что яблоки на Землю падают?

Его заслуга не в этом. Да и как оказалось - сэр основательно все упростил.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 06-Июн-25 11:22 
>...становятся довольно нишевыми штуками, по большому счету. И выпадают из фавора.

Чёт незаметно.
>Они все где? На тайпскрипте реально полтора проекта

Откройте вакансии для фронтеднеров и удивитесь.
>Чем проще яп тем ниже порог входа и дешевле кодеры. Забавно, да?

Уже проходили с паскалем и бейсиком. Когда шли все подряд, и писали абы как.
>Типа того. Вас там бортанут очень быстро.

Вас это кого? Ещё недавно был хайп на скалу, пока не начался хайп на котлин. Как это вписывается в вашу картину мира?
>У вас нездоровая фиксация на 1 проблеме и окамле.

Взаимно, у вас фиксация на простоте. Проблема в том, что даже M$, и oracle внезапно осознали, что проблему с null надо решать. И сделали хуже, чем было в современнике java, спустя лет десять, если не больше. А могли бы сразу сделать хорошо.
>невзрачнй мелкий бонус до кучи. Как максимум good to have.

Типичный парадокс Блаба.
>Ни вам 100500 рантаймов с CVE каждый месяц, ни VM, ни JIT с прогревами кешей. И вот по этой части он даст мастеркласс и пыху, и жабе, и нету, и кому еще.

Я не пишу ни на жабе, ни на дотнете, но как минимум в дотнет завезли статическую линковку вместе с aot компиляцией. Про кучу других языков, с AOT компиляцией, можно и не вспоминать.
>2) Их потом просто, легко и дешево эксплуатировать вдолгую и майнтайнить.

https://habr.com/ru/articles/469441/ - Сложность простоты
Нужно распараллелить загрузку? Будь добр переписать проект. Особенно доставляет, что версия на голанге ещё и не с первой попытки заработала.
>Ну вот гугл и учел свои проблемы. Чтоб любой джун понимал код.

Ага. Прямо как в той статье, с хабра.
>

Итак, вопрос о том, как живут разработчики на условном сишарпе, вы попросту проигнорировали. А туда отгружают новые фичи огромным объёмом, как по мне, даже слишком много.
>Представляете, с точки зрения условного девопса, деплоить 1 самодостаточный бинарь в прод VS огроменный рантайм. Что же выберут в проде? А, ну вот и секрет успеха игогохи :)

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

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

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

Это всё - единичные тестовые образцы. Им не хватает массовости.
>Тем не менее для многих задач - игогоха вполне себе прокатил. Особенно бэков в вебе.

Им не привыкать. После того же питона. У них никогда хорошо не было.
>Про 19 примерно, когда все самые мощные и интересные вещи и появились, особенно под конец.

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

Это сейчас, когда всё открыто и описано.
>Скажем трансформатор - совремнная штука или нет?

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 06-Июн-25 20:18 
>>...становятся довольно нишевыми штуками, по большому счету. И выпадают из фавора.
> Чёт незаметно.

Если посмотреть что там в топе популярности ЯПов, что ищут, на чем проектов прирастает и проч - и какие тренды - игогоха подвинул их и продолжит в том же духе.

> Откройте вакансии для фронтеднеров и удивитесь.

Вы же понимаете что сравнить придется с обычным JS, коего в дофига раз больше?

> Уже проходили с паскалем и бейсиком. Когда шли все подряд, и писали абы как.

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

> Вас это кого?

Конкретного вас (и людей с похожим mindset).

> Ещё недавно был хайп на скалу, пока не начался
> хайп на котлин. Как это вписывается в вашу картину мира?

Так вот и вписывается. Бывает hype driven development. А чтобы отделить зерна от плевел надо несколько лет, тогда понятнее что с нами надолго и в каком объеме. А то и убийц Rust - штук пять уже. Какие из них останутся и чего достигнут - узнаем несоклько позже, ессно.

>>У вас нездоровая фиксация на 1 проблеме и окамле.
> Взаимно, у вас фиксация на простоте.

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

> Проблема в том, что даже M$,
> и oracle внезапно осознали, что проблему с null надо решать.

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

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

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

>>невзрачнй мелкий бонус до кучи. Как максимум good to have.
> Типичный парадокс Блаба.

Никакого парадокса. Корпы - деньги зарабатывают. А большие корпы это не просто акула бизнеса, но еще и большая, неповоротливая и подслеповатая. Может и пластиковый пакет сожрать, или по сопатке получить.

> Я не пишу ни на жабе, ни на дотнете, но как минимум
> в дотнет завезли статическую линковку вместе с aot компиляцией.

Вот только в го это сделали сразу, по дефолту, без миндфаков и приключений. И без выноса Liunx во второй сорт всякими PE EXE, запускаемые через дюзы под лицемерные рассказы про кроссплатформу. Интересно, они в именно нативный ELF это сделали? И даже открытые компилеры подогнали и проч, работающие по первому классу? :)

Майкрософт никогда не понимал что большая часть серваков - на лине, и удобнее всего девелопать в примерно такой же конфиге, юзая СВОЙ КОМП как тестового кролика. У них все время винде фаворы были. Но винда - для девелоперс, девелоперс - так себе, для прода - дорого и бестолково, если это не энтерпрайз и AD. А в лине никто не собирается быть вторым сортом. Сейчас они о чем-то даже догадываются, но линуксоиды в целом за счет таких полисей - обходят все это за километр. И на нете реально пишут - какие-то приблуды для виндовых энтерпрайзов и проч в основном. А если посмотреть сколько софта под (линух && .net) - какие-то мизера. И если вакансия нетчика, это 99% гарантия что сие виндовый энтерпрайз, AD, и характерный экспериенс. Мне этот экспериенс - "не очень".

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

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

>>2) Их потом просто, легко и дешево эксплуатировать вдолгую и майнтайнить.
> https://habr.com/ru/articles/469441/ - Сложность простоты

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

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

...выпячивание всякой синтетики, довольно редко нужной в реальных продах, именно в том виде. Ну хоть честно написали - 30 минут компилялось. VS какие-то мелочи у го.

> что версия на голанге ещё и не с первой попытки заработала.

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

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

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

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

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

> Итак, вопрос о том, как живут разработчики на условном сишарпе, вы попросту
> проигнорировали. А туда отгружают новые фичи огромным объёмом, как по мне,
> даже слишком много.

Я не очень сильно в курсе _современной_ жизни сишарперов. Ибо последние лет 8-10 меня интересуют в оснвном линуховые проды, шарпей - его в целом там нет. Они "где-то", но в основном это махровые виндовые корпы, с старыми продуктами. В линухе ни разу вообще не встречал такое, и ни 1 продукта с ходу не назову, в отличие от игогохи.

> А вы знаете, окамл тоже хорошо статически линкуется.

Но это ему супротив игогохи - не поможет. Ибо с руническим синтаксисом и не low entry. Т.е. оно даже не на одном поле чтоб рубиться. И какие задачи на го лучше делать - понятно и ежу. Бэкэнды в стиле микросервисов. Потому что они лаконичные. А куда окамл хорош - фиг его знает.

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

Это булшит. Вы всегда можете повесить кастомный ордер господам по типу wheeler dealer'ов. То что за кастомный ордер будет кастомная цена - тут ой. Это реально для лично вас, как вы просили, а не просто робот проштамповал. Поэтому - так.

> И чего хотят другие. Нет, можно придти в магазин и спросить продавцов, а потом уйти с
> пустыми руками. Именно так и работает современный мир:

А можно прийти в тематическое "ателье" и - таки заказать. Под лично себя. Но за это разумеется слупят по полной.

В софте тоже так можно было - кастомдев называется.

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

Закажите переборку авто от и до у профи по типу wheeler dealer'ов. Гуру механики найдет для лично вас неубиваемое двигло, гуру закупок скупит это все у вон тех. Но, конечно, оплатить весь этот банкет придется от и до, с превышением.

В софте как-то так же. С той разницей что то что вы дофига заплатили - еще не гарантия. Вон тот Accenture VS LSE - прозрачно намекает.

> Это всё - единичные тестовые образцы. Им не хватает массовости.

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

> Им не привыкать. После того же питона. У них никогда хорошо не было.

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

> Там были почти исключительно опытные образцы.

При том продакшновые версии подозрительно их напоминают. А что принципиально изменилось в моторах или трансформаторах с тех пор?

> Это сейчас, когда всё открыто и описано.

Это и тогда - сначала заметили эффект, изучили, потом - описали как теорию. Когда поняли как это. С светом вообще эвон сколько возились, вплоть до изобретения "эфира" и проч.

> Трансформаторы были давно. А вот условный ибп - нет. А если брать
> условную зарядку для смартфона, которая ещё и мощность может подбирать -
> то тем более.

В типовом flyback вообще - не трансформатор. Даже если и похож. И вот именно такую штуку в 18xx было делать довольно неудобно. Как максимум делали на механических реле - но вот это работало не очень хорошо и как раз имело ограниченное хождение. В отличие от именно трансформаторов.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Бес , 05-Июн-25 01:06 
В таком случае есть гораздо лучшая и прагматичная технология, чем Golang — это 1С.

На современном 1С можно быстро развернуть бэкенд практически любой сложности.

Прагматичное, работающее, не создающее проблем, надёжное, быстрое решение. То, что нужно бизнесу.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Самсоныч , 04-Июн-25 01:41 
Есть же нормальный Rust.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 13:18 
Раст не является достаточным, для написания низкоуровневых программ, например он не проверяет выход за пределы массива. Есть ATS, но это адеграунд. Кроме того, раст плохо подходит для прототипирования, поскольку малейшие изменения, и код нужно переписывать. У раста абсурдно много низкоуровневых деталей, тех же строк там как минимум два типа.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено OpenEcho , 04-Июн-25 17:40 
> У раста абсурдно много низкоуровневых деталей

И абсурдно много абстракций, которые не имеют ничего общего с реальным железом.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Пользователь , 05-Июн-25 08:30 
>И абсурдно много абстракций, которые не имеют ничего общего с реальным железом.

Зачем бы высокоуровневому ЯП иметь абстракции, привязаннные к железу? В каком ЯП такие абстракции есть?


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Пользователь , 05-Июн-25 08:27 
>Раст не является достаточным, для написания низкоуровневых программ, например он не проверяет выход за пределы массива.

Проверяет.

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

Вы меня запутали.

>тех же строк там как минимум два типа

Один тип. String.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 05-Июн-25 22:19 
>Вы меня запутали.

Для высокоуровневых программ много деталей, для низкоуровневых - мало.
>Один тип. String.

Как минимум есть ещё &str


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 16:45 
> Развиваемый проектом инструментарий написан на языке F#

Они не жрут пирожки которые испекли? Так что хотя-бы написать себе тулчейн на своем же нечто - не того?


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 16:54 
А насколько Go быстрее обрабатывает запросы, чем свежий PHP с JIT? Есть актуальное сравнение?

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Gemorroj , 03-Июн-25 17:18 
полгаю (оценочное суждение), что php через swoole уделает тот же go легко. но кому сейчас это интересно.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 17:31 
Тогда значит go через swoole уделает тот же "php через swoole" легко.
Но зачем заслуги си приписывать пхп или го?

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено qrKot , 03-Июн-25 20:45 
через swoole Go прироста производительности не получит. Некуда уже)

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено bdrbt , 03-Июн-25 18:10 
> полгаю (оценочное суждение), что php через swoole уделает тот же go легко.
> но кому сейчас это интересно.

Нет. По техемпауер fortunes-тесту, swoole на 64м месте, go на 24м.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 21:25 
>> полгаю (оценочное суждение), что php через swoole уделает тот же go легко.
>> но кому сейчас это интересно.
> Нет. По техемпауер fortunes-тесту, swoole на 64м месте, go на 24м.

А в топе пара каких-то малоизвестных штук на си, хрусте и си++ однако :). И конечно io_uring горячий топик.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено qrKot , 03-Июн-25 20:44 
не уделает, вообще без шансов. Ну, хотя бы потому, что подмена одного указателя один хрен будет быстрее, чем копирование контекста между потоками ОС.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено bdrbt , 03-Июн-25 17:49 
https://www.techempower.com/benchmarks/#section=data-r22

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено qrKot , 03-Июн-25 20:43 
Без шансов для PHP. PHP+JIT vs PHP - огромная разница, без вопросов. Переключение контекстов копированием в другой тред в пределах одного процесса ОС всегда быстрее, чем переключение контекстов между разными процессами ОС.
Однако замена одного указателя - атомарная операция процессора - всегда будет быстрее копирования контекста между тредами. Можно не надеяться, расходимся.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено User , 04-Июн-25 08:36 
А потом ты упираешься в рСУБД и все становится си-ии-иильно интересней...

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Xasd9 , 03-Июн-25 17:56 
могу тогда уж подсказать этим умникам ещё сделать модификацию языка Python, добавив туда фигурные скобки {…}

вот смеху то будет 😂😂😂😂😅🙈


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено randomize , 03-Июн-25 20:37 
Тссс, вдруг это услышат те, у кого пригорает от обязательных отступов...

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 23:34 
Лучше в Паскале.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено нейм , 04-Июн-25 08:14 
Отступы при этом оставить как обязательное требование

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 21:25 
> могу тогда уж подсказать этим умникам ещё сделать модификацию языка Python, добавив
> туда фигурные скобки {…}

Так это ж Go и получится?!


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Comdiv , 03-Июн-25 18:08 
Что имеется в виду под отсутствием синтаксиса switch-case? https://go.dev/ref/spec#Switch_statements

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 18:21 
Причем даже в примере на гитбуке видно, что switch-case энтого гаунлета транслируется в такой же гошный switch-case

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено голос_из_леса , 03-Июн-25 19:09 
Опять какшку сделали.

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 20:22 
Хотел сделать лексер для редактора CudaText. Но не нашел syntax file for VSCode. Страница расширения есть а ссылки на гит ихний нету. Не нашел syntax file. Наверно надо установить расширение в Code и потом искать на ПК.

Блин.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 20:51 
GoFront, Go++ ?

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 21:39 
Когда появятся человеческие классы можно говорить о ++

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено OpenEcho , 04-Июн-25 17:47 
> Когда появятся человеческие классы можно говорить о ++

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено nc , 03-Июн-25 21:33 
"Необычный оператор присваивания" это не недостаток, а мощнейшее преимущество Go перед всякой питонятиной, в которой объявление переменной неотличимо от ее использования - в результате малейшая опечатка и логика молча ломается, хотя код компилируется и даже как-то работает.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 22:11 
>"Необычный оператор присваивания" это не недостаток, а мощнейшее преимущество Go перед всякой питонятиной

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено нейм , 04-Июн-25 08:13 
В языке, использующем let, сколько вариантов объявления функции и сколько вариантов передачи аргументов? К чему тут крик про избыточность?

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 11:27 
>В языке, использующем let, сколько вариантов объявления функции

Один
let plus_one i = i + 1
Сколько в голанге? Ну как минимум два.
add := func(i int) int {
    return i + 1
}

func add(i int) int {
   return i + 1
}

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

С аргументами в голанге всё плохо - именнованных нет, по умолчанию нет. Хорошо хоть через указатели можно избавится от копирования.
>К чему тут крик про избыточность?

Нужных вещей нет, зато всякой мишуры - навалом.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено нейм , 05-Июн-25 23:34 
Лол, я то думал ты про мерзкий тайпскрипт.
А ты вообще какую-то маргинальщину в пример привел академическую

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

Мог бы тогда сразу ВЫКРУТИТЬСЯ и сделать пример ещё с объявлением переменной и последующим присвоением функции, ТАК УЖЕ ТРЕТИЙ СПОСОБ ПОЛУЧИТСЯ (теория утроенного создания функции, сын собаки бы позавидовал).


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 06-Июн-25 11:52 
>Причем создание функции ты одно и тоже указал - один и тот же синтаксис, разница только в том присваивается ли она переменной или нет.

Вопрос не только в синтаксисе, вопрос и в семантике. Ссылаться на переменную, до её объявления - нельзя.
>ТАК УЖЕ ТРЕТИЙ СПОСОБ ПОЛУЧИТСЯ

Да. По идее - это костыль, из-за разницы определений в toplevel и локальных. Хороший вопрос на собеседование - валить кандидатов.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 03-Июн-25 23:06 
Удивительно, вместо того, чтобы и дальше писать на f# или перейти на ocaml, человек решил накостылить поверх golang непонятно что. Тот же тернарный оператор вообще не нужен, как только if становится выражением, а не инструкцией.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 00:08 
Я думал, реально кто-то что-то всерьёз взялся делать, а там репа с одним коммитом. Стоило об этом новость писать? Неосилятор решил сделать из нового для себя языка то, к чему привык, вместо того, чтобы разобраться. Такого хлама на гитхабе тонны.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено cheburnator9000 , 04-Июн-25 01:49 
>>> First public commit

Ни о чем не говорит? Разработка ведется в приватном репозитории.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 11:28 
Говорит об отсутствии культуры открытой разработки и умения работать с гитом, разве что.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено cheburnator9000 , 04-Июн-25 01:47 
Очень нужная вещь, всеми руками за. Хоть оно и конвертирует текст в go перед компиляцией пофиг. Очень нужны подобные вещи и для С++ которые не заброшены и развиваются. Все по принципу пиши меньше и по делу = получай результат быстрее и меньше ошибок.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 04-Июн-25 02:45 
А могли бы просто писать на vlang

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено нейм , 04-Июн-25 08:10 
По списку правок - решаются не проблемы языка, а проблемы очередной тайпскриптовой писаки, которая захотела перекатиться, а сменить привычки - не захотела

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено аролп5 , 04-Июн-25 10:54 
Не взлетит - длинное название

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Q2W , 04-Июн-25 14:24 
> В Gauntlet можно писать "for let _, c in "Hello" {" вместо "for _, c := range "Hello" {".

Ахаха


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено OpenEcho , 04-Июн-25 17:59 
Резюме:

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Пользователь , 05-Июн-25 08:48 
>Английский язык плох, потому как родился с уникальным ...-им .

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено OpenEcho , 05-Июн-25 14:36 
> Не понял, что вы подразумевали, но английский язык действительно очень плох.

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 06-Июн-25 10:33 
Ты так говоришь, будто английский язык не допиливают, устраняя его недостатки.

https://simple.wikipedia.org/wiki/Simplified_English
https://simple.wikipedia.org/wiki/Basic_English
https://simple.wikipedia.org/wiki/Special_English

Ещё существуют (или существовали) всякие pidgin'ы, но это может быть не совсем то, я не уверен.

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено OpenEcho , 06-Июн-25 15:00 
Удачи тебе, с твоим уставом, да в чужом огороде :)

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Анонимомомом , 04-Июн-25 21:51 
Какой же мракобесный синтаксис, зачем люди пишут на этом. Разве что, чтобы потом С и тем более rust совершенством смотрелись.

"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено warlock , 04-Июн-25 21:56 
> Gauntlet добавляет для всех неиспользуемых переменных заглушки вида "_ = a"

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


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Аноним , 05-Июн-25 14:11 
> Для работы с кодом предоставляется дополнение к редактору VSCode.

В принципе, все понятно.


"Представлен язык программирования Gauntlet, расширяющий возм..."
Отправлено Гилл Бейтс , 05-Июн-25 18:57 
Вот бы ещё бинарники, которые производит Go запускались на Windows 7, а не валились при запуске с Exception 0xc0000005.