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 ☕☕☕
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.