The OpenNET Project / Index page

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



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

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

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

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

Оглавление

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


2. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (2), 03-Июн-25, 15:37 
А телеметрию из самого Go выпиливает?
Ответить | Правка | Наверх | Cообщить модератору

33. "Представлен язык программирования Gauntlet, расширяющий возм..."  +1 +/
Сообщение от Аноним (33), 03-Июн-25, 16:45 
А она там есть?
Ответить | Правка | Наверх | Cообщить модератору

45. "Представлен язык программирования Gauntlet, расширяющий возм..."  –2 +/
Сообщение от Аноним (45), 03-Июн-25, 17:35 
https://www.opennet.me/opennews/art.shtml?num=61701
Ответить | Правка | Наверх | Cообщить модератору

49. "Представлен язык программирования Gauntlet, расширяющий возм..."  +8 +/
Сообщение от Аноним (33), 03-Июн-25, 17:50 
Тебе диванно попробовать лексически разложить конструкции вида "в go есть телеметрия" и "в инструментарий go есть телеметрия" или ты сам чувствуешь разницу?
Ответить | Правка | Наверх | Cообщить модератору

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

117. "Представлен язык программирования Gauntlet, расширяющий возм..."  +1 +/
Сообщение от Гуччизавр (ok), 03-Июн-25, 23:00 
Она не отправляется на удалённый сервер, если её не включить целенаправленно.
Ответить | Правка | Наверх | Cообщить модератору

131. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (60), 04-Июн-25, 00:04 
opt-in, особенно у bigtech часто становится opt-out
Ответить | Правка | Наверх | Cообщить модератору

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

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

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

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

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

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

120. "Представлен язык программирования Gauntlet, расширяющий возм..."  +3 +/
Сообщение от Аноним (120), 03-Июн-25, 23:05 
Телеметрия не встраивается в конечный бинарь.
Если паранойя совсем замучила, компиляй в контейнере или виртуальной машине.
Ответить | Правка | К родителю #60 | Наверх | Cообщить модератору

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

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

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

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

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

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

180. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (180), 04-Июн-25, 13:51 
gccgo существует
Ответить | Правка | К родителю #45 | Наверх | Cообщить модератору

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

47. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Анониматор (?), 03-Июн-25, 17:46 
Есть, если сильно захотеть и ввести команду go telemetry on
Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

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

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

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

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

205. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (180), 04-Июн-25, 19:44 
Если человек умеет писать на голанге, то удалить патч с телеметрией из компилятора, для него должно быть проще простого.
Ответить | Правка | Наверх | Cообщить модератору

211. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (60), 04-Июн-25, 20:10 
вы переоцениваете способности среднего разработчика на golang
Ответить | Правка | Наверх | Cообщить модератору

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

12. "Представлен язык программирования Gauntlet, расширяющий возм..."  –1 +/
Сообщение от Жироватт (ok), 03-Июн-25, 15:55 
> Как по мне, главный недостаток го ...

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

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

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

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

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

71. "Представлен язык программирования Gauntlet, расширяющий возм..."  +1 +/
Сообщение от Аноним (60), 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] - источник википедия

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

151. "Представлен язык программирования Gauntlet, расширяющий возм..."  +1 +/
Сообщение от e41qemail (?), 04-Июн-25, 06:04 
> один из отцов-основателей с полными на то основаниями не только считает и Unix и C устаревшими технологиями

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

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

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

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

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

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

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

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

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

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

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

102. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (180), 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"? Или вместо этого предлагается просто выкидывать все ошибки вверх по стеку?

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

109. "Представлен язык программирования Gauntlet, расширяющий возм..."  +2 +/
Сообщение от Аноним (60), 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
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

165. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (180), 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 {} ... для её обработки

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

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

210. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (60), 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. что как по мне достойное дело, если ты увлеченный профессионал, но я говорю про пользу для средних людей, из которых большинство карьеристы-дилетанты

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

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

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

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

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

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

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

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

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

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

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

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

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

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

198. "Представлен язык программирования 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
>  }

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

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

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

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

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

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

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

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

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

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

207. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Лансер (ok), 04-Июн-25, 19:53 
Что уж говорить про языки APL или K.
Ответить | Правка | К родителю #102 | Наверх | Cообщить модератору

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

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

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

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

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

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

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

Plan9.

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

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

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

> Plan9.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

134. "Представлен язык программирования Gauntlet, расширяющий возм..."  –1 +/
Сообщение от Аноним (134), 04-Июн-25, 00:47 
> openbsd некостыльная.

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

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

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

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

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

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

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

non sequitur, как по мне

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

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

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

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

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

199. "Представлен язык программирования 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, внезапно. Т.е. у вас ошибка сразу в определениях.

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

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

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

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

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

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

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

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

вы правы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

124. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Zig мой Zig (?), 03-Июн-25, 23:34 
Регекспы по дефолту жадные, так что не надо тут задивать нам про лишний пробел.
Ответить | Правка | Наверх | Cообщить модератору

166. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (180), 04-Июн-25, 09:51 
Вы серьёзно собрались парсить структурированные данные с помощью регулярок?
Ответить | Правка | Наверх | Cообщить модератору

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

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

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

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

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

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

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

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

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

154. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от User (??), 04-Июн-25, 08:09 
Ну, jq тут выглядит как попытка привязать к вожжам руль - мол "мы тоже умеем в МОЛОДЁЖНОЕ".
А так - при использовании какого powershell'а - многое становится сильно-сильно проще, да.
Ответить | Правка | К родителю #108 | Наверх | Cообщить модератору

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

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

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

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

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

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

114. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (60), 03-Июн-25, 22:36 
у всего есть свои издержки. хоть я и соглашусь, что порог входа в systemd намного ниже, чем например в rc. но rc меньше в сотню раз по количеству кода и абстракций, при этом при должном понимании работы системы, позволяет достичь даже большего чем то что есть в systemd, что как по мне делает этот инструмент лучше
Ответить | Правка | К родителю #103 | Наверх | Cообщить модератору

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

91. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от bOOster (ok), 03-Июн-25, 20:58 
Ты перепутал с Rust.
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

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

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

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

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

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

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

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

24. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от bdrbt (ok), 03-Июн-25, 16:26 
Какой футпринт? Пруфы будут?
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

26. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (3), 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

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

27. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от bdrbt (ok), 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

167. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (180), 04-Июн-25, 09:54 
Смешно. Просто поставьте программу на рам диск. Согласно вашей же логике, если условный контейнер с питоном весит меньше 1 Гб, то и занять больше 1 Гб он не может. А если условный голанг весит меньше 80 Мб, то и занять больше 80 Мб он тоже не может. Всё равно, один статический бинарник на голанге будет компактнее, чем дистрибутив питона.
Ответить | Правка | К родителю #127 | Наверх | Cообщить модератору

168. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (3), 04-Июн-25, 10:27 
Конечно, смешно. Дело не в том, сколько код на диске, а в том, сколько ему нужно при исполнении.
Ответить | Правка | К родителю #167 | Наверх | Cообщить модератору

174. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (180), 04-Июн-25, 11:17 
Ну дак откуда голанговская программа займёт больше 80 Мб, если она уже статически слинкована? Всё, весь код в одном файле. Вы же сами говорили, что потребление памяти зависит от размера кода.
Ответить | Правка | К родителю #168 | Наверх | Cообщить модератору

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

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

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

72. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от qrKot (?), 03-Июн-25, 20:28 
Вот и спецы подъехали. А вы замеры по производительности делали, в сравнении с "до-диез и джава"?
А мы делали. Сильно не в пользу музыкальных терминов и островов в Индийском океане
Ответить | Правка | К родителю #59 | Наверх | Cообщить модератору

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

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

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

147. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (147), 04-Июн-25, 02:46 
кто "мы"-то? давай ссылки на свои замеры
Ответить | Правка | К родителю #72 | Наверх | Cообщить модератору

158. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от User (??), 04-Июн-25, 08:15 
Замеры по производительности ЧЕГО? Вот, скажем, эффективность работы ORM - сравнивали? Ах, да...
Ответить | Правка | К родителю #72 | Наверх | Cообщить модератору

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

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

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

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

142. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (129), 04-Июн-25, 01:43 
Смотря с чем сравнивать. Если с сишкой — то да. Если с жабопитонятиной, с которой го, собственно, конкурирует, то и близко нет.
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

148. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (147), 04-Июн-25, 02:47 
давай прувы, тр*пло
Ответить | Правка | Наверх | Cообщить модератору

177. "Представлен язык программирования Gauntlet, расширяющий возм..."  +1 +/
Сообщение от Аноним (129), 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/...

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

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

4. "Представлен язык программирования Gauntlet, расширяющий возм..."  +1 +/
Сообщение от Аноним (4), 03-Июн-25, 15:43 
Вот бы ещё человеческие дженерики завезои, можно было бы потыкать.
Ответить | Правка | Наверх | Cообщить модератору

25. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от bdrbt (ok), 03-Июн-25, 16:31 
Они там не нужны.
Ответить | Правка | Наверх | Cообщить модератору

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

164. "Представлен язык программирования Gauntlet, расширяющий возм..."  –1 +/
Сообщение от Аноним (164), 04-Июн-25, 09:46 
Конечно не пользуются, разрабы го среди существующих вариантов реализации дженериков умудрились придумать абсолютно новый, который в практическом плане бесполезен.
Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

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

5. "Представлен язык программирования Gauntlet, расширяющий возм..."  +11 +/
Сообщение от Анонимъemail (?), 03-Июн-25, 15:44 
Язык L, написанный на языке L2 и расширяющий возможности языка L3 - это прекрасный пример обречённого на успешный успех проекта.
Ответить | Правка | Наверх | Cообщить модератору

6. "Представлен язык программирования Gauntlet, расширяющий возм..."  +1 +/
Сообщение от Ivan_83 (ok), 03-Июн-25, 15:47 
Есть Vala, как то живёт, даже живые проекты есть :)
Ответить | Правка | Наверх | Cообщить модератору

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

36. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (36), 03-Июн-25, 16:49 
А уж сколько вакансий на typescript, вы даже не представляете.
Ответить | Правка | Наверх | Cообщить модератору

29. "Представлен язык программирования Gauntlet, расширяющий возм..."  +1 +/
Сообщение от llolik (ok), 03-Июн-25, 16:42 
Vala офигенен, когда нужно что-то делать на GObject/GIO/GTK.
Православно на сишке писать - куча нудного не всегда очевидного boilerplate-а, и задолбаешься с ref/unref и прочими лайфтаймами. А так удобненько, транслируется в туже сишку и собирается CC.
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

9. "Представлен язык программирования Gauntlet, расширяющий возм..."  +1 +/
Сообщение от Жироватт (ok), 03-Июн-25, 15:51 
Все одно лучше, чем язычок А, который транспилируется в язычок Б (со строгой типизацией), который в свою очередь транспилируется в js
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

159. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от User (??), 04-Июн-25, 08:18 
Тайпскрипт смотрит на это даже с некоторым недоумением. Чо не так-то?
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

163. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Андрей (??), 04-Июн-25, 09:25 
Насколько провален TypeScript?
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

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

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

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

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

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

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

13. "Представлен язык программирования Gauntlet, расширяющий возм..."  +1 +/
Сообщение от Аноним (10), 03-Июн-25, 15:55 
скажи спасибо что не тайлинг на Прологе, как в недавней новости было
Ответить | Правка | Наверх | Cообщить модератору

92. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (92), 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

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

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

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

> rm packages-microsoft-prod.deb

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

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

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

19. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (2), 03-Июн-25, 16:14 
Haskel? Wiki говорит, что почти OCaml.
Ответить | Правка | Наверх | Cообщить модератору

20. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (2), 03-Июн-25, 16:15 
.NET
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

77. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от qrKot (?), 03-Июн-25, 20:31 
дык йопт, это тупо кодогенератор же. Какой нафиг LLVM, оно вообще не пересекается
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

17. "Представлен язык программирования Gauntlet, расширяющий возм..."  +12 +/
Сообщение от Аноним (17), 03-Июн-25, 16:05 
Что-то как-то фигня какая-то. Половина проблем - не такие и проблемы. Очередное ненужно.
Ответить | Правка | Наверх | Cообщить модератору

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

> Аналогично

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

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

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

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

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

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

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

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

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

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

160. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от User (??), 04-Июн-25, 08:21 
Да ващет гугл youtube купил - сами с нуля они не то, чтобы много чего на змеюке наджамшутили.
Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

78. "Представлен язык программирования Gauntlet, расширяющий возм..."  –1 +/
Сообщение от qrKot (?), 03-Июн-25, 20:33 
Вот это "через пару релизов допилят" еще на 2-й версии питона рассказывали
Ответить | Правка | К родителю #39 | Наверх | Cообщить модератору

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

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


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

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

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

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

150. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (147), 04-Июн-25, 02:56 
в каком месте он 1) избавился; 2) сдох. ты - типичный иксперт опеннта
Ответить | Правка | Наверх | Cообщить модератору

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

213. "Представлен язык программирования 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

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

225. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (180), 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)

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

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

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

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

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

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

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

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

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

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

141. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Самсоныч (?), 04-Июн-25, 01:41 
Есть же нормальный Rust.
Ответить | Правка | К родителю #85 | Наверх | Cообщить модератору

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

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

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

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

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

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

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

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

Проверяет.

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

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

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

Один тип. String.

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

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

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

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

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

43. "Представлен язык программирования Gauntlet, расширяющий возм..."  –1 +/
Сообщение от Gemorroj (ok), 03-Июн-25, 17:18 
полгаю (оценочное суждение), что php через swoole уделает тот же go легко. но кому сейчас это интересно.
Ответить | Правка | Наверх | Cообщить модератору

44. "Представлен язык программирования Gauntlet, расширяющий возм..."  +2 +/
Сообщение от Аноним (44), 03-Июн-25, 17:31 
Тогда значит go через swoole уделает тот же "php через swoole" легко.
Но зачем заслуги си приписывать пхп или го?
Ответить | Правка | Наверх | Cообщить модератору

88. "Представлен язык программирования Gauntlet, расширяющий возм..."  +1 +/
Сообщение от qrKot (?), 03-Июн-25, 20:45 
через swoole Go прироста производительности не получит. Некуда уже)
Ответить | Правка | Наверх | Cообщить модератору

53. "Представлен язык программирования Gauntlet, расширяющий возм..."  +1 +/
Сообщение от bdrbt (ok), 03-Июн-25, 18:10 
> полгаю (оценочное суждение), что php через swoole уделает тот же go легко.
> но кому сейчас это интересно.

Нет. По техемпауер fortunes-тесту, swoole на 64м месте, go на 24м.

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

214. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (214), 04-Июн-25, 21:25 
>> полгаю (оценочное суждение), что php через swoole уделает тот же go легко.
>> но кому сейчас это интересно.
> Нет. По техемпауер fortunes-тесту, swoole на 64м месте, go на 24м.

А в топе пара каких-то малоизвестных штук на си, хрусте и си++ однако :). И конечно io_uring горячий топик.

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

87. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от qrKot (?), 03-Июн-25, 20:44 
не уделает, вообще без шансов. Ну, хотя бы потому, что подмена одного указателя один хрен будет быстрее, чем копирование контекста между потоками ОС.
Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

48. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от bdrbt (ok), 03-Июн-25, 17:49 
https://www.techempower.com/benchmarks/#section=data-r22
Ответить | Правка | К родителю #38 | Наверх | Cообщить модератору

86. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от qrKot (?), 03-Июн-25, 20:43 
Без шансов для PHP. PHP+JIT vs PHP - огромная разница, без вопросов. Переключение контекстов копированием в другой тред в пределах одного процесса ОС всегда быстрее, чем переключение контекстов между разными процессами ОС.
Однако замена одного указателя - атомарная операция процессора - всегда будет быстрее копирования контекста между тредами. Можно не надеяться, расходимся.
Ответить | Правка | К родителю #38 | Наверх | Cообщить модератору

162. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от User (??), 04-Июн-25, 08:36 
А потом ты упираешься в рСУБД и все становится си-ии-иильно интересней...
Ответить | Правка | Наверх | Cообщить модератору

50. "Представлен язык программирования Gauntlet, расширяющий возм..."  +3 +/
Сообщение от Xasd9 (?), 03-Июн-25, 17:56 
могу тогда уж подсказать этим умникам ещё сделать модификацию языка Python, добавив туда фигурные скобки {…}

вот смеху то будет 😂😂😂😂😅🙈

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

84. "Представлен язык программирования Gauntlet, расширяющий возм..."  +2 +/
Сообщение от randomize (?), 03-Июн-25, 20:37 
Тссс, вдруг это услышат те, у кого пригорает от обязательных отступов...
Ответить | Правка | Наверх | Cообщить модератору

125. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (125), 03-Июн-25, 23:34 
Лучше в Паскале.
Ответить | Правка | К родителю #50 | Наверх | Cообщить модератору

157. "Представлен язык программирования Gauntlet, расширяющий возм..."  +1 +/
Сообщение от нейм (?), 04-Июн-25, 08:14 
Отступы при этом оставить как обязательное требование
Ответить | Правка | К родителю #50 | Наверх | Cообщить модератору

215. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (214), 04-Июн-25, 21:25 
> могу тогда уж подсказать этим умникам ещё сделать модификацию языка Python, добавив
> туда фигурные скобки {…}

Так это ж Go и получится?!

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

52. "Представлен язык программирования Gauntlet, расширяющий возм..."  +2 +/
Сообщение от Comdiv (ok), 03-Июн-25, 18:08 
Что имеется в виду под отсутствием синтаксиса switch-case? https://go.dev/ref/spec#Switch_statements
Ответить | Правка | Наверх | Cообщить модератору

54. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (54), 03-Июн-25, 18:21 
Причем даже в примере на гитбуке видно, что switch-case энтого гаунлета транслируется в такой же гошный switch-case
Ответить | Правка | Наверх | Cообщить модератору

57. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от голос_из_леса (ok), 03-Июн-25, 19:09 
Опять какшку сделали.

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

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

69. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (69), 03-Июн-25, 20:22 
Хотел сделать лексер для редактора CudaText. Но не нашел syntax file for VSCode. Страница расширения есть а ссылки на гит ихний нету. Не нашел syntax file. Наверно надо установить расширение в Code и потом искать на ПК.

Блин.

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

89. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (89), 03-Июн-25, 20:51 
GoFront, Go++ ?
Ответить | Правка | Наверх | Cообщить модератору

99. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (99), 03-Июн-25, 21:39 
Когда появятся человеческие классы можно говорить о ++
Ответить | Правка | Наверх | Cообщить модератору

194. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от OpenEcho (?), 04-Июн-25, 17:47 
> Когда появятся человеческие классы можно говорить о ++

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

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

96. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от nc (ok), 03-Июн-25, 21:33 
"Необычный оператор присваивания" это не недостаток, а мощнейшее преимущество Go перед всякой питонятиной, в которой объявление переменной неотличимо от ее использования - в результате малейшая опечатка и логика молча ломается, хотя код компилируется и даже как-то работает.
Ответить | Правка | Наверх | Cообщить модератору

105. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (180), 03-Июн-25, 22:11 
>"Необычный оператор присваивания" это не недостаток, а мощнейшее преимущество Go перед всякой питонятиной

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

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

156. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от нейм (?), 04-Июн-25, 08:13 
В языке, использующем let, сколько вариантов объявления функции и сколько вариантов передачи аргументов? К чему тут крик про избыточность?
Ответить | Правка | Наверх | Cообщить модератору

175. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (180), 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
}

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

С аргументами в голанге всё плохо - именнованных нет, по умолчанию нет. Хорошо хоть через указатели можно избавится от копирования.
>К чему тут крик про избыточность?

Нужных вещей нет, зато всякой мишуры - навалом.

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

121. "Представлен язык программирования Gauntlet, расширяющий возм..."  +1 +/
Сообщение от Аноним (180), 03-Июн-25, 23:06 
Удивительно, вместо того, чтобы и дальше писать на f# или перейти на ocaml, человек решил накостылить поверх golang непонятно что. Тот же тернарный оператор вообще не нужен, как только if становится выражением, а не инструкцией.
Ответить | Правка | Наверх | Cообщить модератору

132. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (129), 04-Июн-25, 00:08 
Я думал, реально кто-то что-то всерьёз взялся делать, а там репа с одним коммитом. Стоило об этом новость писать? Неосилятор решил сделать из нового для себя языка то, к чему привык, вместо того, чтобы разобраться. Такого хлама на гитхабе тонны.
Ответить | Правка | Наверх | Cообщить модератору

144. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от cheburnator9000 (ok), 04-Июн-25, 01:49 
>>> First public commit

Ни о чем не говорит? Разработка ведется в приватном репозитории.

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

176. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (129), 04-Июн-25, 11:28 
Говорит об отсутствии культуры открытой разработки и умения работать с гитом, разве что.
Ответить | Правка | Наверх | Cообщить модератору

143. "Представлен язык программирования Gauntlet, расширяющий возм..."  –1 +/
Сообщение от cheburnator9000 (ok), 04-Июн-25, 01:47 
Очень нужная вещь, всеми руками за. Хоть оно и конвертирует текст в go перед компиляцией пофиг. Очень нужны подобные вещи и для С++ которые не заброшены и развиваются. Все по принципу пиши меньше и по делу = получай результат быстрее и меньше ошибок.
Ответить | Правка | Наверх | Cообщить модератору

145. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Аноним (145), 04-Июн-25, 02:45 
А могли бы просто писать на vlang
Ответить | Правка | Наверх | Cообщить модератору

155. "Представлен язык программирования Gauntlet, расширяющий возм..."  +2 +/
Сообщение от нейм (?), 04-Июн-25, 08:10 
По списку правок - решаются не проблемы языка, а проблемы очередной тайпскриптовой писаки, которая захотела перекатиться, а сменить привычки - не захотела
Ответить | Правка | Наверх | Cообщить модератору

172. "Представлен язык программирования Gauntlet, расширяющий возм..."  +1 +/
Сообщение от аролп5 (?), 04-Июн-25, 10:54 
Не взлетит - длинное название
Ответить | Правка | Наверх | Cообщить модератору

181. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Q2Wemail (?), 04-Июн-25, 14:24 
> В Gauntlet можно писать "for let _, c in "Hello" {" вместо "for _, c := range "Hello" {".

Ахаха

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

197. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от OpenEcho (?), 04-Июн-25, 17:59 
Резюме:

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

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

224. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от Пользователь (?), 05-Июн-25, 08:48 
>Английский язык плох, потому как родился с уникальным ...-им .

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

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

216. "Представлен язык программирования Gauntlet, расширяющий возм..."  +1 +/
Сообщение от Анонимомомом (?), 04-Июн-25, 21:51 
Какой же мракобесный синтаксис, зачем люди пишут на этом. Разве что, чтобы потом С и тем более rust совершенством смотрелись.
Ответить | Правка | Наверх | Cообщить модератору

217. "Представлен язык программирования Gauntlet, расширяющий возм..."  +/
Сообщение от warlockemail (??), 04-Июн-25, 21:56 
> Gauntlet добавляет для всех неиспользуемых переменных заглушки вида "_ = a"

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

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

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

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




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

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