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.dev/opennews/art.shtml?num=63348

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

Оглавление

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


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

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

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

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

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

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

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

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ообщить модератору

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

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

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

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

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

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

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

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

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

Ответить | Правка | Наверх | 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ообщить модератору

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

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

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

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

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

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

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

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

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, расширяющий возм..."  +10 +/
Сообщение от Аноним (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ообщить модератору

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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, расширяющий возм..."  +2 +/
Сообщение от 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, расширяющий возм..."  +/
Сообщение от нейм (?), 04-Июн-25, 08:14 
Отступы при этом оставить как обязательное требование
Ответить | Правка | К родителю #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ообщить модератору

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, расширяющий возм..."  +/
Сообщение от Аноним (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, расширяющий возм..."  +1 +/
Сообщение от нейм (?), 04-Июн-25, 08:10 
По списку правок - решаются не проблемы языка, а проблемы очередной тайпскриптовой писаки, которая захотела перекатиться, а сменить привычки - не захотела
Ответить | Правка | Наверх | Cообщить модератору

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

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

Ахаха

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

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

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




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

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