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

Исходное сообщение
"Выпуск языка программирования Go 1.26"

Отправлено opennews , 11-Фев-26 10:34 
После шести месяцев разработки представлен релиз  языка программирования Go 1.26, развиваемого компанией  Google при участии сообщества. Язык сочетает высокую производительность, свойственную компилируемым языкам, с такими достоинствами скриптовых языков, как простота написания кода, высокая скорость разработки и защита от ошибок.   Код проекта распространяется под лицензией BSD...

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


Содержание

Сообщения в этом обсуждении
"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 10:35 
Отключение телеметрии не завезли...

"Выпуск языка программирования Go 1.26"
Отправлено ford1813 , 11-Фев-26 10:55 
А это тогда что?

➜ ~: go version
go version go1.26.0 linux/amd64
➜ ~: go telemetry --help
usage: go telemetry [off|local|on]
Run 'go help telemetry' for details.
➜ ~:


"Выпуск языка программирования Go 1.26"
Отправлено q , 11-Фев-26 10:57 
ужос какой, у гошников телеметрия прямо в компиляторе. Что дальше? ls -la --telemetry=off?

"Выпуск языка программирования Go 1.26"
Отправлено ford1813 , 11-Фев-26 11:01 
> ужос какой, у гошников телеметрия прямо в компиляторе. Что дальше? ls -la
> --telemetry=off?

Не знаю что дальше, я отвечал на это ->  'Отключение телеметрии не завезли...'


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 11:02 
Хорошо что не реклама, хотя техническа часть уже решена - TUI браузеры есть, даже с картикнами.

"Выпуск языка программирования Go 1.26"
Отправлено faa , 11-Фев-26 12:08 
Наверняка в утилитах на расте, которые сейчас продвигают, будет.

"Выпуск языка программирования Go 1.26"
Отправлено Жироватт , 11-Фев-26 17:21 
1) Это для твоей же бишапашнасти!
2) Пользователи без телеметрии за людей не считаются, их мнение не учитывается!
3) Разработчики обязаны знать, что киллер-фичей их аппы пользуется ровно 0.001% юзеров!
4) Как же мы будем предлагать тебе релевантную (на основе списка файлов в каталоге) рекламу?
5) Слышь, живой товар, не рыпайся, а не то тебя отменят в соцсетях и арестуют за мыслепреступление!

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 12:24 
А дальше --report-to=[nsa|cia|mi6|המוסד למודיעין ולתפקידים מיוחדים]

"Выпуск языка программирования Go 1.26"
Отправлено пох. , 11-Фев-26 15:32 
только там через запятую перечисляются. По умолчанию все включены, делать ничего не надо.


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 15:56 
А, точно, не заметил ;)

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 15:41 
Там есть ещё весёлое было: при сборке проекта (go build), у которого скажем в go.mod указан какой-нибудь 1.24.3, а у тебя в системе 1.24.1 (патч версия, блин), оно просто автоматом шло качать с серверов гугла версию 1.24.3, никаких вопросов, ничего, просто по-дефолту. На мой вопрос: "а есть ли какой-нибудь ключик, чтобы это отключить, чтобы оно завершалось с ошибкой хотя бы, если ему уж так уж очень нужна патч версия прям конкретная", - никто из знакомых мне так и не ответил.

"Выпуск языка программирования Go 1.26"
Отправлено пох. , 11-Фев-26 18:26 
> оно просто автоматом шло качать с серверов гугла версию 1.24.3, никаких вопросов

логично. Чо спрашивать, там в go.mod еще стопицот лефтпадов - про них тоже спрашивать?

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

есть конечно - GOTOOLCHAIN=local (или path)

Только не удивляйся особо что ничего и не соберется и радостно вывалится с ошибкой.


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 11:36 
И если устанавливает новую версия компилятора, через этот же самый го то тоже надо отключать, и при первой установке он все равно пошлет телеметрию.

"Выпуск языка программирования Go 1.26"
Отправлено ford1813 , 11-Фев-26 13:04 
Я ставил через распаковку из архива бинарников, телеметрия обратно не включилась.

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 14:47 
Я про такой способ go install golang.org/dl/go1.23.0@latest

"Выпуск языка программирования Go 1.26"
Отправлено ford1813 , 11-Фев-26 15:06 
Понял, я таким способом не пользуюсь.

"Выпуск языка программирования Go 1.26"
Отправлено пох. , 11-Фев-26 15:33 
им go.mod за тебя уже воспользовался.


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 12:15 
Где --disable-telemetry при сборке самого компилятора?
А так, если опцией, то сборочные скрипты какого-либо проекта, собираемого этим компилятором, могут и сделать on.

"Выпуск языка программирования Go 1.26"
Отправлено ford1813 , 11-Фев-26 13:05 
'Где --disable-telemetry при сборке самого компилятора?'

А её обещали? Если обещали и не сделали - это прискорбно.

'А так, если опцией, то сборочные скрипты какого-либо проекта, собираемого этим компилятором, могут и сделать on.'

Если вы используете не проверяя чужие проекты, то это чьи проблемы?


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 15:43 
> Если вы используете не проверяя чужие проекты, то это чьи проблемы?

Вы цепочку зависимостей видели у этих go/node/rust проектов? Удачи...


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 14:12 
>А это тогда что?

Ты наверное веришь, что и в андроиде всю телеметрию можно отключить :)


"Выпуск языка программирования Go 1.26"
Отправлено ford1813 , 11-Фев-26 15:10 
'Ты наверное веришь, что и в андроиде всю телеметрию можно отключить :)'

Я больше верю в то что многие уязвимости являются закладками.

А если вас так сильно беспокоит отправка телеметрии - обмажьтесь firewall и будет вам счастье.


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 15:28 
>А если вас так сильно беспокоит отправка телеметрии

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


"Выпуск языка программирования Go 1.26"
Отправлено ford1813 , 11-Фев-26 15:31 
Ну и бох с ними, придёт время - узнают.

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 16:03 
>Ну и бох с ними, придёт время - узнают.

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


"Выпуск языка программирования Go 1.26"
Отправлено ford1813 , 11-Фев-26 16:08 
Я не разрешаю исходящие подключения куда попало, привык по умолчанию закрывать все исходящие коннекты и открывать доступ только до необходимых ресурсов.

А закладок о которых мало кто знает - думаю дох... и больше.


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 16:27 
>Я не разрешаю исходящие

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


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 15:35 
Если go лишить интернетов, то он не сможет тогда тащить зависимости для сборки проектов.

"Выпуск языка программирования Go 1.26"
Отправлено ford1813 , 11-Фев-26 16:06 
> Если go лишить интернетов, то он не сможет тогда тащить зависимости для
> сборки проектов.

Что мешает выкатить после сборки в дохере проект и разрешить исходящие соединения только на указанные IP адреса?

Или вы считаете что при сборке проекта в дохере каким-то образом будет собрана и отправлена телеметрия хостовой системы? Сомневаюсь.


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 17:16 
А зачем мне нужно кому-то сообщать, что именно я собираю? Это даже безотносительно хостовой системы. Я в этом не заинтересован.

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 17:41 
тогда напиши свой компилятор, какие притензии к разрабам, они сделали свой продукт так как посчитали нужным, не нравится не пользуйся, в любой лицензии написано как-есть.

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 10:55 
Нет, инициатива то, разумеется, хороша. Аж складно как пишут ченжлоги - душа радуется. Другой вопрос - ну зачем они дальше на это время тратят, если могли бы примкнуть к команде Rust и вместе более эффективно работать над реально актуальным языком будущего, который вскоре заменит почти все другие. Даже frontend уже на Rust пишут с конвертацией в WASM, что уж говорить про backend или утилиты, где надобна скорость, а не тики-крики-скрипы от сборщика мусора Go каждые 5 наносек.

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


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 11:08 
раст это язык прошлого с ручным управлением памятью, пригоден для низкого уровня или очень критичных по перформансу cpu задач, в остальных кейсах затраты на ручное управление не оправданы. так что многие любителя раста сами и есть лу99иты :)

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 11:14 
Занятно излагаете.

Какой же тогда язык будущего? Уж не Go ли? Если скажете, что да - буду смеяться от души, ведь уже была тонна языком с gc - java, haskell, python - и ни один в итоге не стал заменять c/c++. Более того (и тут я нисколько не язвлю, справедливости ради), проведите исследование, или различные Deep Search на нейронных моделях запустите, с какого языка на какой чаще проекты переписывают. И увидете, что с Go на Rust в итоге довольно часто переходят. С C/C++ на Rust тоже. А вот чтобы с Rust на Go переходили... да ни в жизнь! Может пару исключений на весь интернет найдёте.

Вот вам и ответ, значиться. Сейчас на Rust даже brew переписывают, про coreutils, vim и linux не говорю уж. Стали бы столько сил и времени тратить на legacy-язык? Да нет, конечно!


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 11:24 
На Go есть работа, на Rust -- нет. Все остально -- просто словесный салат.

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 11:39 
Goшечка это Ozon, Wildberries это C# ничего другого не надо.

"Выпуск языка программирования Go 1.26"
Отправлено Zulu , 11-Фев-26 13:26 
На обоих есть.

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 11:46 
Занятно излагаете.

> ведь уже была тонна языком с gc - java, haskell, python - и ни один в итоге не стал заменять c/c++

Как это не стал? Куча софта написано на, как минимум, Питоне и Жабе. Есть софт, который маловероятно, что появился бы на C++, наприпер, какой-нибудь ytdlp.

А че ты C и C++ объединяешь. Можно такой же бред пописать в твоем стиле - C++ не заменил C!

Или ты всерьез веришь в один язык для всехъ?

> А вот чтобы с Rust на Go переходили... да ни в жизнь!

На Go с баш-портянок и Питона переходят. Хотя, стоит признать, Go подпросел в последние год-два.


"Выпуск языка программирования Go 1.26"
Отправлено 12yoexpert , 11-Фев-26 14:33 
потому что C++ это банально надстройка над С, считай враппер

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 15:42 
Уже давно нет. Есть отличия в C, которые не прожуются компилятором C++.

"Выпуск языка программирования Go 1.26"
Отправлено Александр , 11-Фев-26 12:26 
Порадую или опечалю, я как раз из тех, кто с Раста на Го частично переполз, и последнее время что-то больше и больше на нем делаю. И даже приложение для андройда по управлению домашним бойлером на Го сделал, захотелось потрогать fyne.

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

П.С. Знаю пару крупных финкомпаний где часть софта написано на Delphi (вы наверно и слова такого не знаете), и их все устраивает и куда-до переходить не хотят, сами растят у себя молодняк и учат его паскалю.


"Выпуск языка программирования Go 1.26"
Отправлено Rev , 11-Фев-26 14:56 
Так ты же безграмотен, даже пишешь Андроид через й. Поэтому и переходишь с раста на го.

"Выпуск языка программирования Go 1.26"
Отправлено Фонтимос , 11-Фев-26 13:05 
А зачем переписывают, и кто? А нельзя не переписывать, а придумать новое, свое? Впрочем вопрос риторический...

Переписывальщики априори будут всегда позади.


"Выпуск языка программирования Go 1.26"
Отправлено Rev , 11-Фев-26 14:58 
Очень старый пример, но очень знаковый в своё время: В Dropbox переписали код своего кастомного хранилища файлов с Го на Раст, избавившись от подвисаний, вносимых GC.

"Выпуск языка программирования Go 1.26"
Отправлено Фонтимос , 11-Фев-26 15:21 
Пример на уровне статпогрешности. Я вот например иногда переписываю свои "нетленки" и поражаюсь как я так раньше мог тупо писать? И...? Так это я же свое поделие переписал. А чел писал про переписывание системных утилит, которые не Фонтимос какой-то клепал, а профи. Да профи не боги, ну дык и переписывальщики не Воланды тоже.

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 17:37 
> ведь уже была тонна языком с gc - java, haskell, python

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

Ну и:

> с Go на Rust в итоге довольно часто переходят
> С C/C++ на Rust тоже
> А вот чтобы с Rust на Go переходили... да ни в жизнь!

А вам может стоит вспомнить, что каждой задаче свой инструмент? Ну и что, что местами переходят?


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 11:26 
ну сложный твой rust. многословный, сложный, постоянно изменяемый. нафиг нужно это изучать? golang для быстрого создания чего либо достаточно быстрого. C, C++ и статические анализаторы - для медленного создания чего либо по настоящему быстрого. Rust тут нафиг не уперся и должен умереть. И для C и для C++ идут обсуждения для включения функциональность Rust в язык и статические анализаторы уже очень круты. Так что: Rust RIP!

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 11:49 
> golang для быстрого создания чего либо достаточно быстрого

И без граф. интерфейса. Ибо в этой области, к сожалению, там всё уныло.


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 12:16 
у golang своя область применения и в ней он реально хорош, а когда вы читаете о golang --> rust и т.д., то подразумевается, что CTO реально обоснована необходимость такого вложения средств

"Выпуск языка программирования Go 1.26"
Отправлено inferrna , 11-Фев-26 17:35 
C++ проще Rust? Да ну нахрен. Ничуть не проще, зато гораздо больше граблей и револьверов за поясом, нацеленных в яйца.
Что касается простоты - Zig сложнее C, но ничего, фанаты имеются.
Простота языка хороша в двух случаях:
1. При обучении программированию (я использую Lobster, рекомендую)
2. При отсутствии LSP и прочих плюшек современных IDE

сабж (go) создавал дед из 80-х, для которого актуален п.2, для корпорастов, целью которых является выжать максимум соков из 20-летних детишек, не тратя много времени на обучение их программированию.


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 18:28 
> 2. При отсутствии LSP и прочих плюшек современных IDE
> сабж (go) создавал дед из 80-х, для которого актуален п.2

И именно поэтому в комплекте кладут сразу и gofmt (форматирование кода), и gopls (LSP-сервер).
Кекспертиза... Такая кекспертиза...

> Простота языка хороша в двух случаях

Ну, да... код же читать не надо. Один раз написал и окей.


"Выпуск языка программирования Go 1.26"
Отправлено inferrna , 11-Фев-26 19:36 
>gofmt (форматирование кода), и gopls

Для особо одарённых:
Роб Пайк проектировал язык так, как если бы в мире не существовало IDE и подсветки синтаксиса. Так как он сам из той эпохи, когда всего этого не было.

>код же читать не надо.

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


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 12:05 
> примкнуть к команде Rust и вместе более эффективно работать над реально актуальным языком будущего

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


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 12:31 
>языком будущего, который вскоре заменит почти все другие

"И столица автоматически переносится в Нью Васюки"


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 17:41 
Понимаю, что отвечаю на троллинг, но. Golang - это язык для узкой, но очень популярной и востребованной ниши - написание I/O bound сетевых сервисов. Получил запрос, распарсил, сходил в базу, построил ответ, отдал. Если в контексте С чему и замена, так демонам на libevent, с адом коллбэков (как в раннем js). Процессора и так хватает, памяти тоже, важна эффективная обработка параллельных запросов без переключений контекста. Короче, то, что надо Гуглу, для себя же делали. Языком общего назначения он хоть и является, но задумывался именно для таких задач, и чтобы их могли решать вчерашние интерны. С этой задачей он прекрасно справляется.

А rust - язык общего назначения в широком понимании. Можно и на нем такое написать, но на golang проще и быстрее.


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 11:35 
Пока что единственный нормальный язык.

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 11:39 
будем честны то-же относительно сложный, с левыми генериками которые нафиг не нужны. будьте честны когда вы последний раз использовали шаблоны? для функции max()/min() раз в 10 лет? не стоит оно усложнения языка. кроме того то как на нем часто пишут это тихий ужас с пиханием интерфейсов где нужно и где не нужно на манер php

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 11:41 
> не стоит оно усложнения языка

Такие вещи не должны быть частью языка. Этим (необоснованным усложнением) "грешат" почти все языки, имеющие в основе С. Благодаря чему программа на С пишется (и читается) просто, как 3 копейки. В отличие от переусложненных потомков.


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 11:45 
я пару лет назад собрал postgres (а он весь написан на чистом C) и просто офигел когда у меня он весь на минуту собрался, при том что подобного объема проекты на C++ могут десятки минут собираться в лучшем случае

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 11:49 
Потому что ООП не панацея, и не стоило его использовать где ни попадя,  как сейчас сабж или тот же офтопик.

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 12:10 
У меня проект на С собирается быстрее, чем раскрывается дистрибутив на системе пользователя. Уже задумываюсь, не поставлять ли проект в исходниках, и установку дистрибутива фактически заменять компиляцией на целевой системе.

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 14:48 
Это не защищает от дыреней.

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 18:23 
> я пару лет назад собрал postgres (а он весь написан на чистом C) и просто
> офигел когда у меня он весь на минуту собрался

Я тоже обратил на это внимание. Pgsql в десятки раз быстрее mysql.


"Выпуск языка программирования Go 1.26"
Отправлено Сладкая булочка , 11-Фев-26 13:50 
> Благодаря чему программа на С пишется (и читается) просто, как 3 копейки

Особенно "обобщенный" код с void*? Ну-ну.


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 16:11 
> Благодаря чему программа на С пишется (и читается) просто, как 3 копейки.

Волосы становятся шелковистыми. Как правильно в Си считывается uint32_t через scanf? Через макрос SCNu32, итить ево.

Там очень многое на макросах сделано и язык развивается через макросы, почитай про будущий стандарт (C2y). Или про это: https://en.cppreference.com/w/c/numeric/tgmath.html. Дженерики недавно прикрутили из LLVM как смогли: _BitInt.

Зарезанное метапрограммирование в AOT-компилируемых языках нужно только для совсем промышленных языков, где от забора до обеда и максимальная взаимозаменяемость разработчиков. В Си эта слабость просто наследие 70-х, которую штукатурят как могут: "простота", "близость к железу". Железо уже поддерживает векторы переменной длины, как и LLVM? Ой.


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 16:36 
Никто в здравом уме не пользуется scanf

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 16:53 
>  Никто в здравом уме не пользуется scanf

repo:torvalds/linux scanf ... 100 files

Ой. И макрос SCNu32 ко всем *scanf* применим, не надо.


"Выпуск языка программирования Go 1.26"
Отправлено Сладкая булочка , 11-Фев-26 18:22 
>> Благодаря чему программа на С пишется (и читается) просто, как 3 копейки.
> Волосы становятся шелковистыми. Как правильно в Си считывается uint32_t через scanf? Через
> макрос SCNu32, итить ево.

А что не так? Разница для запоминания между макросом и спецификатором формата минимальна.


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 18:39 
макросы это средства текстового редактора, к языку они отношения иметь не должны!

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 18:45 
> А что не так?

Нет, что так?

sscanf(iface_kern_id, "%" SCNu32 "-%" SCNu32, &tmp_host_no, &iface_num);

> Разница ... минимальна

Легаси из 90-х поверх легаси из 70-х. Это не джаваскрипт, надо немного использовать возможности статической типизации и AOT-компиляции. Когда джаваскриптов не было, такое годилось (лучше ассемблера - а большего мне и не надо). Но спустя ещё 30 лет хочется, чтобы функции использовали переданный тип, а не просили повторить, и чтобы со строками можно было работать на этапе компиляции.


"Выпуск языка программирования Go 1.26"
Отправлено Сладкая булочка , 11-Фев-26 18:30 
> Зарезанное метапрограммирование в AOT-компилируемых языках нужно только для совсем промышленных
> языков, где от забора до обеда и максимальная взаимозаменяемость разработчиков. В
> Си эта слабость просто наследие 70-х, которую штукатурят как могут: "простота",
> "близость к железу".

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

* variadic templates, constexpr (с++)
* макросы + поведение встроенное в компилятор (rust)


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 19:05 
не надо вообще пытаться сделать printf как есть - он изначально задуман для фиксированного количества поддерживаемых типов, это натягивание совы на глобус.

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

в golang уже такое и так есть, fmt.Stringer().

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


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 19:09 
> нужно кардинально усложнить язык
> variadic templates^W macros
> constexpr
> макросы
> поведение встроенное в компилятор

Эмм, и чего из этого нет в Си? И вообще-то наоборот, constexpr нужен из-за разбросанных по языку не совсем определённых поведений, которые могут различаться на сборочной и целевой машине - приходится для compile-time вычислений не чёрный список редких исключений создавать, а делать белый, постепенно добавляя туда то, что точно не заденет какое-нибудь поведение с бескрайних просторов стандарта. Алгоритмы на SFINAE вместо императивного стиля, кстати, были костылём, чтобы как можно меньше менять язык - комитет этого не любит. Страуструп по поводу предложения добавить в язык static if (будущий if constexpr) чуть не матом писал - боялся, что помешает его концептам или ещё что-то.


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 19:08 
не надо хотеть scanf.

сам подход с явно перечисленными плейсхолдерами противоречит обобщенному программированию.

надо уметь преобразовывать типы в другие типы, этого достаточно


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 18:03 
> Благодаря чему программа на С пишется (и читается) просто, как 3 копейки.

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


"Выпуск языка программирования Go 1.26"
Отправлено Сладкая булочка , 11-Фев-26 18:20 
>> Благодаря чему программа на С пишется (и читается) просто, как 3 копейки.
> Если по ЯП устраивают чемпионаты по нечитаемому коду, он "просто, как 3
> копейки" читаться по определению не может.

Может, это не связанные понятия. Кстати, почему по расту нет таких соревнований?


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 18:25 
> Может, это не связанные понятия.

В смысле не связанные? Человек утверждает, что на С код читается "как 3 копейки", как будто на нем невозможно написать нечитаемый код. На любом формальном ЯП можно написать "нечитаемый" код.

> Кстати, почему по расту нет таких соревнований?

думаю, они заняты переписыванием, очевидно ведь :)


"Выпуск языка программирования Go 1.26"
Отправлено Сладкая булочка , 11-Фев-26 18:34 
>> Кстати, почему по расту нет таких соревнований?
> думаю, они заняты переписыванием, очевидно ведь :)

Насколько помню Лари Уолл побеждал в них, при это параллельно перл развивал. Вот люди было в то время!


"Выпуск языка программирования Go 1.26"
Отправлено пох. , 11-Фев-26 18:32 
> Кстати, почему по расту нет таких соревнований?

а как победителей будем определять? Спросим LLM?

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


"Выпуск языка программирования Go 1.26"
Отправлено Сладкая булочка , 11-Фев-26 18:35 
>> Кстати, почему по расту нет таких соревнований?
> а как победителей будем определять? Спросим LLM?

Зачем? Команда жюри оценивает.



"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 18:26 
> Если по ЯП устраивают чемпионаты

То это лишь значит, что на нём пишут. Обфускаторозащищённых (стилистически безопасных?) языков нет.

https://pyobfusc.com/#winners
https://github.com/artemixer/gofuscator


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 18:31 
> Обфускаторозащищённых (стилистически безопасных?) языков нет.

На любом формальном ЯП можно написать "нечитаемый" код. Надо просто определить понятие "нечитаемый".


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 11:43 
я пишу думаю в духе Томпсона и Пайка без интерфейсов (чтобы было) и с разделением логики и например sql. но сталкивался когда отдаешь готовый работающий протестированный сервис, а в ответ мол это мусор потому что все должно быть на интерфейсах. это мышление деревянных дураков, мол всегда и везде нужно использовать все что есть

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 12:07 
> пишу без интерфейсов

а как вы это тестируете?
как пишите моки для частей программы?


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 11:39 
> память для слайсов в стеке

исключает возможность рекурсии с большим количеством вложений. Проблема тянется из С.


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 11:41 
да int[n] в C98 (вроде) это безумие. если в go возможно выделение на стеке то это нужно срочно пофиксить

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 11:43 
Если что-то пробуешь писать сам (а не только обсуждать на примере простейших демонстрационных проектов), то "изнутри" многое виднее.

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 11:55 
Выделения на стеки? Фуу, все культурные ЯП уже давно выделяются в кучу.

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 15:30 
Чем куча отличается от стёка? ... Растёт в другую сторону и с бОльшими аппетитами!

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 15:28 
"рекурсии с большим количеством вложений" - ошибка by design. Почему у тебя рекурсия не хвостовая?

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 18:07 
> "рекурсии с большим количеством вложений" - ошибка by design.

бред какой-то!

На досуг: //ru.wikipedia.org/wiki/Поиск_с_возвратом


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 18:55 
>Проблема тянется из С.

Проблема может тянунтся только из твоей задницы. Больше никак. А сишку не трогай.


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 11:44 
> такими достоинствами скриптовых языков, как простота написания кода

Слишком оптимистичное заявление.


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 11:47 
Ибо зависит от алгоритма. Например, сравните код задачи о рюкзаке на С и на Python. Тут проблема упирается совсем не в язык, а в алгоритм. А код получится почти одинаковым. Как и потраченное на разработку время.

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 12:52 
> Что на нем вообще написано ? Одни хелловорды.

Например тут в колонке "required by" https://archlinux.org/packages/extra/x86_64/go/
И это грустно.


"Выпуск языка программирования Go 1.26"
Отправлено Анонисссм , 11-Фев-26 16:54 
>required by

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


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 17:02 
Иногда!

"Выпуск языка программирования Go 1.26"
Отправлено пох. , 11-Фев-26 18:34 
это был ответ на уже удаленный вопрос "что вообще на нем написано".
Вот тот список из required - на нем написан. Ну и еще дофига того что в рач не входит за ненадобностью.


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 13:16 
Добрый день! А зачем это всё модно-молодежное, тогда как дотнет и спринг - уже сто лет в обед как монстры бэкенд индустрии? Очень стабильные и солидные, а эти всякие го - жутко некрасивые, похоже что молодые спциалисты проталкивают эти все новомодные язычки.

"Выпуск языка программирования Go 1.26"
Отправлено ford1813 , 11-Фев-26 14:40 
Да не нужно мелочиться, давайте сразу откажемся от всех технологий и пересядем на телегу и будем радоваться жизни без всего этого.

Похоже что проталкивают раст, Golang не проталкивают.


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 14:51 
Всё что ты перечислил интерпретируемое и тормозное ненужно. А го компилируемое и быстрое нужно. Так понятно?

"Выпуск языка программирования Go 1.26"
Отправлено Аноня , 11-Фев-26 15:50 
Ну а PHP монстр веб програмирования.
И ЧТО ?

"Выпуск языка программирования Go 1.26"
Отправлено Анонисссм , 11-Фев-26 16:52 
>А зачем это всё модно-молодежное, тогда как дотнет и спринг

слышал, что лет 5 назад была проблема "выгребли всех жавистов с рынка, а проектов ещё много, придется кушать объедки в виде {модное&молодежное}"

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


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 17:01 
До этого это произошло с рубистами.

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 15:26 
Почему гугл не использует ни системду, ни раст? А использует Go и Upstart? Гугл что-то знает?

"Выпуск языка программирования Go 1.26"
Отправлено пох. , 11-Фев-26 15:36 
not inventeded here

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


"Выпуск языка программирования Go 1.26"
Отправлено Сладкая булочка , 11-Фев-26 18:42 
> not inventeded here
> ну и - использует, хруст по крайней мере уже мелькал. Просто песок
> плохая замена овсу.

У хруста стандарта нет, может у них появиться свой хруст. У мелкомягких уже были попытки (verona).


"Выпуск языка программирования Go 1.26"
Отправлено Аноня , 11-Фев-26 15:48 
Ты там работаешь, что знаешь такие подробности ?
Прям вобщевобще нигденигде systemd нет ?

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 16:33 
> Почему гугл не использует ни системду

как раз на серверах везде использует


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 17:00 
Них синдром. Они не хотят зависит от других корпораций и АНБ.

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 19:00 
ты ничего не знаешь о гугл

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 19:39 
Они и есть АНБ, только в профиль.

"Выпуск языка программирования Go 1.26"
Отправлено Анонисссм , 11-Фев-26 16:48 
ptr := new(int64(300))

тот кто пишет из новости в новость "основан на си" и "легко читаемый код", хватит позориться


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 17:00 
Это принцип явное лучше неявного. Учи матчасть.

"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 18:17 
> Это принцип явное лучше неявного.

ага, только мракобесие начинается тогда когда появляются всякие подтипы (subtype) и порожденные (derived) типы. Для одних явно, для других неявно.


"Выпуск языка программирования Go 1.26"
Отправлено Аноним , 11-Фев-26 17:47 
как чемодан без ручки, не взлетел, но бросить жалко, на уровне D что-то