LINUX.ORG.RU

Go 1.18

 


0

4

Вышла новая версия языка программирования Go — 1.18. Основные изменения:

  • реализованы «псевдогенерики» — можно написать «обобщённую» функцию, если заранее перечислить все типы аргументов, для которых применима эта функция;
  • добавлена поддержка синхронной разработки сразу нескольких модулей с помощью нового инструментария workspace;
  • за счёт изменения соглашения о вызовах функций увеличена производительность на платформах Apple M1, ARM64, и PowerPC64 (до 20% в некоторых случаях).

>>> Подробности

★★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 2)
Ответ на: комментарий от hateyoufeel

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

Legioner ★★★★★
()
Последнее исправление: Legioner (всего исправлений: 2)
Ответ на: комментарий от Legioner

В голанге не принято использовать всякие списки и множества. Есть массив и слайс, остальное от лукавого.

Да-да. Я про это и говорю. Голанг не может.

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

Конечно соображу. На другом языке.

hateyoufeel ★★★★★
()
Ответ на: комментарий от hateyoufeel

Да-да. Я про это и говорю. Голанг не может.

Может. Может быть не можешь ты, хотя судя по твоему тону ты считаешь, что можешь, а я проверять тебя не собираюсь.

Но подсказку дам. Используй вместо слайса channel.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

Но подсказку дам. Используй вместо слайса channel.

О! Программисты на голанге тоже не могут в структуры данных, и поэтому рекомендуют использовать… КАНАЛЫ, при доступе к которым стопудов есть мютекс или что-то в этом духе. Огонь!

hateyoufeel ★★★★★
()
Ответ на: комментарий от korvin_

Продавили.

Что значит «продавили»? Если ты думал, будто разработчики были принципиально против дженериков, то это не так.

Самое смешное, что разработчики-то хотели сделать нормальные генерики:

https://youtu.be/WzgLqE-3IhY?t=737

, но им надавали по рукам.

LamerOk ★★★★★
() автор топика
Ответ на: комментарий от ergo

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

Да, это, преимущественно, программирование, и кроме программистов они никому не нужны.

LamerOk ★★★★★
() автор топика
Ответ на: комментарий от LamerOk

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

Такой язык угробили.

Legioner ★★★★★
()
Ответ на: комментарий от Joe_Bishop

Я читаю тред сверху вниз, а не наоборот.

LamerOk ★★★★★
() автор топика
Ответ на: комментарий от LamerOk

https://youtu.be/WzgLqE-3IhY?t=737

спорное решение, мне кажется, декларировать типы в еще одних круглых скобках. это значит, что для функции с дженериком в аргументах и возврате нескольких значений будет f(gen…)(arg…)(ret…) - мягко говоря, плохо читаемая конструкция. «если б я был султан», то семантически сделал бы в виде питоновского декоратора, чтобы не загромождать строку декларации функции, но сейчас это место застолблено для документации функции

ergo ★★★
()
Последнее исправление: ergo (всего исправлений: 2)
Ответ на: комментарий от ergo

Синтаксис вторичен. Первично - возможность сгенерировать тело фукнции на основании (произвольного!) типа переданных аргументов.

LamerOk ★★★★★
() автор топика
Ответ на: комментарий от LamerOk

Синтаксис вторичен

Так уж получилось, но у ЯПов синтаксис по важности идёт сразу после парадигмы. Именно его лаконичность даёт удобство. Иначе бы не создавали всякие руби, а жили с питоном.

ergo ★★★
()
Последнее исправление: ergo (всего исправлений: 1)
Ответ на: комментарий от ergo

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

у ЯПов синтаксис по важности идёт сразу после парадигмы.

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

LamerOk ★★★★★
() автор топика
Ответ на: комментарий от LamerOk

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

ergo ★★★
()
Последнее исправление: ergo (всего исправлений: 1)
Ответ на: комментарий от crypt

и еще мне go проще было бы освоить, чем раст, из-за похожести синтаксиса на Си. если уж rust пихают в системное программирование, то могли бы это учесть.

Я считаю что Расту действительно место в системном программировании, а вот Го очень хорошо подходит для всяких утилит. ИМХО им вполне можно заменить всевозможные скрипты как на баше, так и на питоне.

istepan
()
Ответ на: комментарий от istepan

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

crypt ★★★★★
()
Ответ на: комментарий от ergo

Питон как раз своим синтаксисом в противовес перлу был с самого начала.

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

bread
()

реализованы «псевдогенерики»

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

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

Это ты про тайп констрейны? А вот те которые с методами (считай интерфейсы) - шутка для тебя?

RedPossum ★★★★★
()
Последнее исправление: RedPossum (всего исправлений: 1)
Ответ на: комментарий от LamerOk

Разберись в разнице между первым и вторым.

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

ergo ★★★
()
Ответ на: комментарий от bread

Да, но объектная модель там была на уровне перловки

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

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

ergo ★★★
()
Ответ на: комментарий от ergo

давай будем аргументированно вести беседу,

Я тебе и аргументирую - прекрати путать семантику с синтаксисом. Иначе:

смешно выглядит ))

LamerOk ★★★★★
() автор топика
Ответ на: комментарий от LamerOk

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

ЗЫ почему ты умалчиваешь, что семантика из синтаксиса происходит? мне ответ не нужен, себе на него ответь )

ergo ★★★
()
Ответ на: комментарий от ergo

почему ты умалчиваешь, что семантика из синтаксиса происходит?

Потому что это - очевидный бред, а я стараюсь его не нести.

мне ответ не нужен

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

LamerOk ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.