The OpenNET Project / Index page

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



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

Оглавление

Выпуск языка программирования Go 1.18, opennews (?), 16-Мрт-22, (0) [смотреть все]

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


3. "Выпуск языка программирования Go 1.18"  +6 +/
Сообщение от Аноним (3), 16-Мрт-22, 12:30 
Так не нужны же дженерики, ребята, вы чего? Методичку теперь менять? С пеной у рта кричали, что дженерики ненужны и их никто не использует
Ответить | Правка | Наверх | Cообщить модератору

5. "Выпуск языка программирования Go 1.18"  –2 +/
Сообщение от Аноним (5), 16-Мрт-22, 12:32 
тоже всегда нравится как ярые крикуны переобуваются)
Ответить | Правка | Наверх | Cообщить модератору

8. "Выпуск языка программирования Go 1.18"  +6 +/
Сообщение от Аноним (8), 16-Мрт-22, 12:38 
>С пеной у рта кричали, что дженерики ненужны

А можно ссылочку, где авторы кричали, что дженерики не нужны?

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

10. "Выпуск языка программирования Go 1.18"  +14 +/
Сообщение от Аноним (9), 16-Мрт-22, 12:44 
Справедливости ради, про дженерики авторы языка говорили, что т.к. язык изначально предназначался как способ усадить тучу студентов и индусов на корпоративные проекты, дав им такой инструмент, который требует минимальной когнитивной нагрузки и на котором оч тяжело выстрелить себе в ногу в силу общей примитивности.
Только с ростом популярности, когда Go понравился и вполне себе состоявшимся и квалифицированным разработчикам, стало очевидно, что отсутствие языковых средств для реализации DRY создает языку плохую репутацию, дженерики добавили. Взгляды не меняют только мертвецы и идиоты.
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

17. "Выпуск языка программирования Go 1.18"  –2 +/
Сообщение от Аноним (17), 16-Мрт-22, 13:42 
> ...инструмент, который требует минимальной когнитивной нагрузки...

Что-то у них не очень получилось, судя по результату.

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

23. "Выпуск языка программирования Go 1.18"  +1 +/
Сообщение от Аноним (9), 16-Мрт-22, 14:37 
Вы что, учили голанг как кресты (год по 10 учебникам), чтобы пройти на джуна? Или в синтаксисе через раз неочевидные места? Язык тупой как пробка и этим и ценен в современных реалиях разработки коммерческого ПО.
Ответить | Правка | Наверх | Cообщить модератору

24. "Выпуск языка программирования Go 1.18"  +/
Сообщение от Аноним (3), 16-Мрт-22, 14:40 
Вы по синтаксису оцениваете сложность языка?
Ответить | Правка | Наверх | Cообщить модератору

26. "Выпуск языка программирования Go 1.18"  +5 +/
Сообщение от Аноним (9), 16-Мрт-22, 15:03 
По стандартной библиотеке, синтаксису и принятым в сообществе шаблонам "хорошего кода" на языке.
Голанг по всем параметрам простой как табуретка и этим прекрасен. Есть вещи типа многопоточки, которые нетривиальны как концепция в любом языке, но если в Go пользуешься только каналами и горутинами, то тебе вообще до лампочки на всякие happens-before, memory fences и sequential consistency, и прочие вещи касательно моделей памяти, в которых необходимо разбираться, если нужно грамотно писать на какой-нибудь джаве. Ах да, еще один плюс - в проектах и фреймворках на Go никакой магии. Ты пишешь проект, что-то не работает, запускаешь отладчик, проваливаешься в библиотечные функции - и они мало чем отличаются от твоего кода в проекте. Разрабатываешь на какой-нибудь Java/C#, запускаешь отладчик, проваливаешься в кишки фреймворка - мама мия, всё работает в крысу через 10 проксей.
Ответить | Правка | Наверх | Cообщить модератору

37. "Выпуск языка программирования Go 1.18"  –1 +/
Сообщение от ms is piece of s (?), 16-Мрт-22, 16:35 
Гораздо больше впечатляет, когда читаешь, что разработчик не пользуется отладчиком от слова совсем.
Как например разработчик Нжинкса Сысоев, который вообще им не пользуется, объясняя это тем, что ему и так понятно как работает его программа, а какие-либо проверки можно просто временно залогировать.
Запуск отладчика скорее говорит не в пользу разработчика.
Возможно даже намекает на профнепригодность в целом.
Табуреточность языка совсем не гарантирует, что присевший на табуретку завтра начнет писать грамотно спроектированное ПО. Скорее наоборот. Да и в целом нужно знать много чего по горизонтали, типа устройства ОС, протоколы, форматы данных, БД и еще много чего.
Часто видно, что многим не дано даже нормально расставить пробелы. В питоне похоже решили эту проблему кардинально.
Ответить | Правка | Наверх | Cообщить модератору

46. "Выпуск языка программирования Go 1.18"  +4 +/
Сообщение от Аноним (9), 16-Мрт-22, 17:45 
Ну и чушь написали, используя неуместную аргументацию аппелирования к Сысоеву с его специфичным продуктом. Большинство разработчиков, которые хотят нормальных денег, работают в кровавом ынтерпрайзе с огромными монорепозиториями, легаси кодовыми базами на сотни тысяч строк кода, десятками (иногда сотнями) ежедневно коммитящих коллег и десятками библиотек и фреймворков в зависимостях. В каждой из third-party библиотек могут быть баги. Вы как, возьмете на себя смелость утверждать, что поняли проблему чисто по воткнутым логам, если, к примеру, зарепортили жалобу от клиентов, что иногда возникает немотивированный обрыв передачи данных или данные приходят испорченными? В лучшем случае по логам получится только поверхностно локализовать область поиска виновника. А такие ситуации сплошь и рядом бывают, когда проблема не в твоем клиентском коде, а в библиотечном. Например, там гонка или какой-то хардкод, который невозможно переконфигурировать. И в документации к библиотеке он не описан. И в этом Go удобен тем, что там очень сложно сделать не KISS-архитектуру и как результат, поиск проблемы и написание к ней костыля (или решение поднять или понизить версию) занимает меньше времени, чем на C++/Java/C#. Спасибо, хватило в свое время джавы со всякими интересными "особенностями реализации" Spring или Hibernate, стектрейсы которых приходилось кропотливо простукивать иногда несколько рабочих дней, продираясь через рефлексию, проксирование и кодогенерацию, чтобы понять, что где-то в промежуточном middleware отсутствует какая-нибудь проверка, из-за чего при совокупности различных условий происходит бажное поведение.
Ответить | Правка | Наверх | Cообщить модератору

120. "Выпуск языка программирования Go 1.18"  +/
Сообщение от ms is piece of s (?), 17-Мрт-22, 13:32 
>> приходилось кропотливо простукивать иногда несколько рабочих дней, продираясь через рефлексию, проксирование и кодогенерацию, чтобы понять, что где-то в промежуточном middleware отсутствует какая-нибудь проверка

Достаточное основание для уволнения.
Такого разраб практически бесполезен.
К чему ты там пробрался сжигая десятки человекочасов?
У нас такие кропотливые "копатели" испытательный не проходят.

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

137. "Выпуск языка программирования Go 1.18"  +/
Сообщение от Аноним (137), 17-Мрт-22, 22:01 
Заботящийся ты наш о человекочасах, может ты ещё и искренне сочувствуешь работодателю, когда просишь повышение зарплаты, так как понимаешь, что это создаст дополнительную нагрузку на зарплатный фонд? Разобраться надо 1 раз, точно определив проблему, и потом над костылем для ее обхода оставить коммент. Сам чуть глубже будешь внутрянку знать, чтобы экономить время свое и работодателя в будущем, и другим предупреждение. Если в конечном итоге в рамки спринта уложился по задачам, какие вопросы?
Ответить | Правка | Наверх | Cообщить модератору

51. "Выпуск языка программирования Go 1.18"  +1 +/
Сообщение от funny.falcon (?), 16-Мрт-22, 18:02 
«Табуреточность» языка гарантирует, что миддл, делающий ревью кода джуниора, поймёт: в порядке код, или нет. С «диванными» языками этот фокус сложнее.
Ответить | Правка | К родителю #37 | Наверх | Cообщить модератору

124. "Выпуск языка программирования Go 1.18"  +/
Сообщение от ms is piece of s (?), 17-Мрт-22, 13:52 
Мидл сделает ревью на мидл, т.е. на полшишечки.
Вы там завязываете с верой в мифическую простоту.
Программа это в первую очередь алгоритмы и декомпозиция, а не табуреточный синтаксис, который якобы дает мега профит. Зная буквы и слова красивое стихотворение не напишешь. Если с абстрактным мышлением не алё, то на выходе будет всегда овнокод на любом языке.
Являюсь постоянным свидетелем того, как разрабы пишут всегда один и тот же плохой небрежный код, на троечку и так ничего не меняется с годами. Единственный плюс в таких разрабах, что они неприхотливы к уровню ЗП и могут долго работать на однотипных задачах не выгорая, но за ними нужен всегда присмотр и ревью на ответственных участках.

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

59. "Выпуск языка программирования Go 1.18"  +/
Сообщение от Аноним (59), 16-Мрт-22, 18:57 
>Разрабатываешь на какой-нибудь Java/C#, запускаешь отладчик, проваливаешься в кишки фреймворка - мама мия, всё работает в крысу через 10 проксей

:'(

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

50. "Выпуск языка программирования Go 1.18"  +/
Сообщение от Аноним (50), 16-Мрт-22, 17:55 
>Или в синтаксисе через раз неочевидные места

Ага. http://devs.cloudimmunity.com/gotchas-and-common-mistakes-in.../

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

69. "Выпуск языка программирования Go 1.18"  +1 +/
Сообщение от Аноним (69), 16-Мрт-22, 20:54 
"Unused Variables
If you have an unused variable your code will fail to compile. "
Выстрел не просто в ногу, а в голову навылет с рикошетом в... пониже спины.
Ответить | Правка | Наверх | Cообщить модератору

63. "Выпуск языка программирования Go 1.18"  +6 +/
Сообщение от Брат Анон (ok), 16-Мрт-22, 19:18 
Кто тебе такую чушь сказал? Дженерики не нужны. Но из-за таких клоунов как ты -- их туда привезли. Усложнили компилятор == понизили надёжность.
Сегодня скачал, поставил. Полдня думал куда мне эти дженерики воткнуть, так и не придумал.
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

67. "Выпуск языка программирования Go 1.18"  +/
Сообщение от Аноним (9), 16-Мрт-22, 20:01 
ну альтернативно одаренный, че сказать. Еще скажи, что на пустых интерфейсах всё писал и было читабельно и никаких повторов.
Ответить | Правка | Наверх | Cообщить модератору

91. "Выпуск языка программирования Go 1.18"  +4 +/
Сообщение от Брат Анон (ok), 17-Мрт-22, 07:56 
Пустые интерфейсы -- зло. Так в го никто не делает.


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

164. "Выпуск языка программирования Go 1.18"  +/
Сообщение от Аноним (164), 02-Янв-23, 19:26 
почему же? в encoding/* маршалеры/энкодеры их принимают
Ответить | Правка | Наверх | Cообщить модератору

71. "Выпуск языка программирования Go 1.18"  +/
Сообщение от амоним (?), 16-Мрт-22, 21:17 
брат, ты ж мне за отца был...
да все что с энтерпрайзом связано.
в основном обработка данных, разных типов данных, схожим образом.
возможность написания типонезависимых, но при этом типобезопасных библиотек для работы с коллекциями.
да тонны всего... аллилуйя
Ответить | Правка | К родителю #63 | Наверх | Cообщить модератору

92. "Выпуск языка программирования Go 1.18"  +3 +/
Сообщение от Брат Анон (ok), 17-Мрт-22, 08:02 
Кодогенерация спасёт моего сына. Ровно такой же инструмент, как и дженерики. Только БЕЗ УСЛОЖНЕНИЯ компилятора. Более того, если очень надо -- ты не обязан довольствоваться пустыми интерфейсами (и не должен). У тебя есть руки, которые могут эффективно устроить тайпчекинг. И тогда, без использования рефлексии, твой код будет и безопасным, и быстрым. На практике я ни разу за 27 лет трудовой деятельности не видел чтобы прилетали какие-то данные не имеющие чёткой заранее оговоренной структуры.
И я видел множество раз, когда применение дженериков делало невозможным нормальное тестирование, а значит и контроль целостности логики алгоритма.
Буквально вчера закончил микро сервис -- покрытие тестами 95.8%. Удачи тебе сделать также с дженериками.
З. Ы. Фаззинг джва года ждал. Есть популярная либа (да, знаю), но из коробки вкуснее.


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

103. "Выпуск языка программирования Go 1.18"  +/
Сообщение от чАнонимчч (?), 17-Мрт-22, 09:13 
Почему не 100%?
Ответить | Правка | Наверх | Cообщить модератору

113. "Выпуск языка программирования Go 1.18"  +/
Сообщение от Брат Анон (ok), 17-Мрт-22, 11:15 
> Почему не 100%?

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

Ещё раз задам вопрос: повтори тоже самое с дженериками. Вперде и удачи. Она потребуется.

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

129. "Выпуск языка программирования Go 1.18"  +/
Сообщение от Аноним (130), 17-Мрт-22, 16:05 
> Почему не 100%?

Тогда бы это был нано сервис

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

105. "Выпуск языка программирования Go 1.18"  +/
Сообщение от fff (??), 17-Мрт-22, 09:47 
Какая-то странная практика у вас была. Даже при наличии документации и спецификации твоего сервиса, иногда такую дичь прислать могут, что волосы на жопе дыбом встают.
Ответить | Правка | К родителю #92 | Наверх | Cообщить модератору

115. "Выпуск языка программирования Go 1.18"  +/
Сообщение от Брат Анон (ok), 17-Мрт-22, 11:17 
> Какая-то странная практика у вас была. Даже при наличии документации и спецификации
> твоего сервиса, иногда такую дичь прислать могут, что волосы на жопе
> дыбом встают.

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

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

156. "Выпуск языка программирования Go 1.18"  +1 +/
Сообщение от Брат Анон (ok), 21-Мрт-22, 09:10 
> брат, ты ж мне за отца был...
> да все что с энтерпрайзом связано.
> в основном обработка данных, разных типов данных, схожим образом.
> возможность написания типонезависимых, но при этом типобезопасных библиотек для работы
> с коллекциями.
> да тонны всего... аллилуйя

Угу. А вот и бенчмарки подвезли с пруфами:
https://betterprogramming.pub/benchmarking-generics-in-go-7d...

Твои дженерики работают МЕДЛЕННЕЕ в практическом коде, чем прямое приведение типа.
В искусственном примере только float32 выигрывает на дженериках на 5%. В практическом -- все дженерики проиграли от 20%.

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

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

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




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

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