LINUX.ORG.RU
ФорумTalks

Разработчики Go остались без Кокса

 


1

4

Рас Кокс (Russ Cox) объявил об уходе с поста лидера проекта по разработке языка программирования Go, который он занимал последние 12 лет

https://www.opennet.ru/opennews/art.shtml?num=61648
https://groups.google.com/g/golang-dev/c/0OqBkS2RzWw

★★★★

Ответ на: комментарий от skiminok1986

Я как раз по приколу решил поковырять Rust. Какая же это помойка и закат солнца в ручную…

beastie ★★★★★
()

Заголовок желтизной отдает ). Вполне разумное решение дать другому порулить. За 12 лет хочешь или нет извилины черствеют в одном направлении. Свежий взгляд на вещи всегда полезен для продукта. Не думаю, что что-то радикальное ждет язык. Консервативное развитие останется. Но вот что лично мне бы хотелось увидеть в ближайшем будущем - уход от дебильной политики версионирования V2 (Google: Golang v2 rule). Чтобы запилили возможность разделения памяти (была попытка с аренами , но не взлетела). И чтобы наконец горутинам дали ацикличный граф, чтобы панику можно было ловить в горутине выше по графу.

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

За 12 лет хочешь или нет извилины черствеют в одном направлении.

Ну да, черствеют :)

С первого сентября за техническую часть разработки будет отвечать Остин Клементс (Austin Clements), который также возглавит команду, занимающуюся разработкой Go, в компании Google.

Austin Clements aclements · they/them

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

Чтобы запилили возможность разделения памяти (была попытка с аренами , но не взлетела).

Можно про арены поподробнее ?
В гоу гарбаж-коллектор
В некоторых задачах иногда случается неоперативное освобождение памяти

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

В некоторых задачах иногда случается неоперативное освобождение памяти

Его можно принудительно дергать. Только, говорят, не особо это хорошо.

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

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

Зато знаю людей, которые с него реально прутся.

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

Его можно принудительно дергать. Только, говорят, не особо это хорошо.

да, это плохая практика

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

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

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

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

Я просто не совсем понял, зачем ты это пояснил в подветке про раст :)

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

Как будто худшие практики в одном месте собрали.

Когда что-то начинают очень активно пиарить и толкать во всё и вся, обычно и оказывается, что оно «попахивает».

anc ★★★★★
()

Поздновато, да и Пайка стоило прихватить с собой.

ya-betmen ★★★★★
()
Ответ на: комментарий от anc

Когда что-то начинают очень активно пиарить и толкать во всё и вся, обычно и оказывается, что оно «попахивает».

Ну я всё таки не настолько углублялся в тему, так что это просто моё частное мнение, а не заключение эксперта.

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

Лишний повод остаться на Сях?

Пофиксил, не благодари.

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

Свежий взгляд на вещи всегда полезен для продукта.

Только не для ЯП.

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

миллионы в секунду на Zig

Миллионы в секунду - это Hamster, ваш КО. 😉

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

Скажем так, рвотного рефлекса не вызывает, и даже интересно … но (особенно в сравнении с Go):

  • stdlib безтолковая и пустая
  • на каждый чих 145 разных несовместимых crates, часто недоделанных *)
  • те, которые совместимые, переэксопритуют друг-друга как не в себя
  • документация? какая документация? в лучем случае выжимка и пересказ сырцов без никаких объяснений
  • то, о чём все воют, на самом деле совсем не проблема (borrow и т.д.)
  • постоянная борьба с компилятором, и ведь сволочь знает, что где и как менять – почему он это сам не делает?
  • всё сводится к «угадай, как хочет компилятор и ублажи его». Как будто я тут загадки решаю.
  • Опять же – если он сам знает как надо и делает очень конкретные подсказки, почему он сам это не делает?
  • Почему я должен играть в ручной компилятор, вместо того, чтобы писать, то, что мне надо?
  • Синтакс дюже раздут, неконсистентный и вообще наркоманский.
  • Слишком explicit. Мне надо .into() или .steal() или .degrade(). Who knows? Всё это не задокументированно.
  • Напридумывали лишних сущностей. Почему crate а не package/module? Почему trait а не interface? И там много чего. Как будто у них был конкурс «Переименуем всё!»
  • макросы … С/C++ отдыхает – это вообще отдельная песня
  • всё одновременно эксплицитно (вроде возни с памятью) и одновременно имплицитно (вроде тех же macros и derive)
  • всё в одной куче и императивно и деклеративно и функционально

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

Занялся этой фигнёй только по тому, что захотелось написать firmware для одной штуки, что я хачу. TinyGo is too tiny, с C/С++ – не хочу больше. А тут, вроде как всё даже есть. Но всё такое кривое…

ЗЫ *) забыл добавить «features» которые кроме как макания в сырцы никак на найти/разобрать.

ЗЗЫ организация кода mod делает use, а use делает mod – организовать файлы отдельный квест.

ЗЗЗЫ в общем Rust больше напоминает Malbolge, чем что-то реальное для продуктивного использования с удовольствием

ЗЗЗЗЫ после всего этого начинаешь ценить Go ещё больше. Умные люди сделали инструмент полный и приятный в использовании.

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

Занялся этой фигнёй только по тому, что захотелось написать firmware для одной штуки, что я хачу. TinyGo is too tiny, с C/С++ – не хочу больше. А тут, вроде как всё даже есть. Но всё такое кривое…

D/Zig?

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

А вот мне интересен такой вопрос (с растом сильно не знаком). Допустим есть функция fn foo() -> Result<String, io::Error>, и она вызывается из функции fn bar() -> Result<String, IntoStringError>, то надо как-то преобразовывать io::Error в IntoStringError?

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

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

Вообще там learn-curve по круче чем emacs будет. Т.ч. без понятия.

PS: https://imgur.com/a/DhBxIub

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

Тут .map_err вроде как советуют.

То есть, грубо говоря, как в Java: ловим одно, выбравываем другое. Так получается?

rupert ★★★★★
()
Ответ на: комментарий от rupert
enum IntoStringError {
    ...,
    IoErr(io::Error),
}

impl From<io::Error> for IntoStringError {
    fn from(value: io::Error) -> Self {
        IntoStringError::IoErr(value)
    }
}

если надо регулярно с автоматикой, thiserror готовый есть

zurg
()

Ложь в заголовке! Разработчики Го остались с Коксом! Он никуда не ушел! Просто из номера 1 он стал номер 3 или 4 в команде. Видели когда-либо командные велогонки? Там лидер периодически меняется. Так и здесь.

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

Просто из номера 1 он стал номер 3 или 4 в команде.

Короче, Кокс все тот же но штырит уже не так.

urxvt ★★★★★
()

Пофиг, кто там главный у руля. Главное - какие планы у Гугла на развитие ЯП и его инфраструктуры.

seiken ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)