LINUX.ORG.RU

Там опять Go ругают

 , ,


4

9

сабж

Статья вызвала бурю эмоций на HN.

Сама статья мне очень понравилась. Очень красочно описывает моё отношение к Go.

This fake “simplicity” runs deep in the Go ecosystem. Rust has the opposite problem - things look scary at first, but it’s for a good reason. The problems tackled have inherent complexity, and it takes some effort to model them appropriately.

Ну или как я люблю говорить: Go примитивный, а не простой.

PS: Работа со строками в Go напомнила недавний холивар (C рулит и педалит.). @grem’у понравится. Путь к файлу содержит недопустимые символы? Та забей!

@WitcherGeralt

Go неплох до тех пор, пока тебе не понадобится функция min для целых чисел

rbbtnspc ()

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

А вообще на каждую «проблему» можно было завести тикет. Фицпатрик тем более с этого года не работает в Google. Если я не ошибаюсь, то он в основном занимался стандартной библиотекой. Очень надеюсь, что она будет качественно меняться, обрастать wrap-ингом ошибок, а в будущем контрактами и/или дженериками.

Идея отделить её от компилятора и версионизировать очень хороша.

paganmind ()
Последнее исправление: paganmind (всего исправлений: 2)

Go разработали с прицелом на сетевое ПО под Linux. Поддержка других ОС там прилеплена сбоку абы как. Rust разработали в компании, которая делает десктопный софт, причём Windows у них занимает первое место. Вот из этих различий всё и растёт.

Вау, я ужал всю статью в две строки!

anonymous ()

Статья про Go

dron@gnu:~$ curl https://fasterthanli.me/blog/2020/i-want-off-mr-golangs-wild-ride/ | grep -o "[rR]ust"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  4  111k    4  4849    0     0   5460      0  0:00:20 --:--:--  0:00:20  5454Rust
Rust
Rust
Rust
Rust
Rust
rust
Rust
Rust
rust
rust
rust
rust
Rust
rust
Rust
Rust
rust
rust
Rust
rust
rust
rust
Rust
rust
rust
Rust
rust
rust
Rust
rust
rust
rust
Rust
rust
rust
rust
rust
rust
rust
rust
rust
rust
rust
rust
rust
rust
rust
rust
rust
rust
rust
rust
Rust
Rust
rust
100  111k  100  111k    0     0   114k      0 --:--:-- --:--:-- --:--:--  114k
dron@gnu:~$ 

оГА :D

LINUX-ORG-RU ()

Про го лучше всего сказал его автор:

https://news.ycombinator.com/item?id=18564643

Перевод с английского:

Мы тут придумали язык для дебилов. Нам тут в Google не хватает программистов, всех нормальных мы с рынка уже высосали, остались одни дебилы. Вот сделали язык для дебилов, теперь будем и дебилов набирать.
lovesan ★☆ ()
Ответ на: удаленный комментарий

Да ладно, все давно уже знают что Rust + Go = ♡♥💕 просто у них игры такие, мол кто сегодня сверху будет :D

Проблемы языков надо обсуждать, это хорошо. Только там совсем не то ))

LINUX-ORG-RU ()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от paganmind

Так у чувака предъявы в основном к стандартной библиотеке.

А это больше не часть языка?

RazrFalcon ★★★★★ ()
Ответ на: комментарий от LINUX-ORG-RU

Только там совсем не то

Что не то? Автор указывает на конкретные ошибки в дизайне std и показывает как их улучшить. Но это идёт в разрез с философией Go.

RazrFalcon ★★★★★ ()
Ответ на: комментарий от LINUX-ORG-RU

Да ладно, все давно уже знают что Rust + Go = ♡♥💕 просто у них игры такие, мол кто сегодня сверху будет :D

Rust он. Go он. На кол этих ЛГБТшников.

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

Rust он. Go он. На кол этих ЛГБТшников.

А сишечка - она?

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

Смешная шутка...
Никто ничего системного не пишет ни на чем, кроме С.
Есть пет-проекты, есть PoC'и, живого нет.
Это медицинский факт.

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

Но это идёт в разрез с философией Go.

да с чего бы? В Go с начала времен существовали библиотеки, делающие то или иное лучше стандартной. И ничего, всех всё устраивает. Go сейчас намного популярнее Rust.

Автор статьи - полный идиот.

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

Даже если сишечка мертва, то как зомби она будет существовать ещё сотни лет.

Про Rust нет уверенности, что он переживёт десятилетие, ибо это проходной язык.

anonymous ()

Go примитивный, а не простой.

Если Go примитивный, то где горутины в Rust? Ах да, не осилили же…

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

anonymous ()

И да, чувак, у тебя какая-то нездоровая обсессия с Go. Ты к врачу ходил?

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

И да, чувак, у тебя какая-то нездоровая обсессия с Go. Ты к врачу ходил?

Все просто, у него синдром Разорванного Флакона. Сишечка с Go постарались, ну ты сам понимаешь…

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

Никто ничего системного не пишет ни на чем, кроме С.

Осталось понять, что подразумевать под системщиной.

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

вот чисто для примера. В rust до недавнего времени стандартная функция сортировки массива выделяла под капотом O(n) памяти. А стандартная реализация каналов настолько плоха, что вместо неё всегда рекомендуют пользоваться библиотекой crossbeam-channel (разумеется, содранной с Go). И эти люди запрещают Брэду Фитцпатрику ковыряться в носу.

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

Сишечка мертва.

Во влажных мечтах RUSTешишечек.

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

Никто ничего системного не пишет ни на чем, кроме С.

Ну хоть не споришь с этим фактом, уже хорошо.

anonymous ()

Go Rust

что то говно что другое.

Есть только один хороший я.п. Это Си++.

bonta ★★★ ()

On Windows, files don’t have modes. It doesn’t have stat, lstat, fstat syscalls - it has a FindFirstFile family of functions (alternatively, CreateFile to open, then GetFileAttributes, alternatively, GetFileInformationByHandle), which takes a pointer to a WIN32_FIND_DATA structure, which contains file attributes.

So, what happens if you run that program on Windows?

go run main.go C:\Windows\notepad.exe (C:\Windows\notepad.exe) mode = 666

It makes up a mode.

Какой-то вендопетух бомбит по-поводу юниксовости Go. Зачем ты это сюда притащил?

P.S. Поддержку винды пилили левые чуваки, а Пайк и Томсон даже и не думали.

WitcherGeralt ★★ ()
Последнее исправление: WitcherGeralt (всего исправлений: 1)
Ответ на: комментарий от LINUX-ORG-RU

Ну да, больные на голову пропогандисты, видимо подсознательно их задела та самая статья где Раст проиграл Си++ и Си в выборе Гугл-специалистов одного проекта :)

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

Бомбит от не по поводу юниксовости го, а по поводу того, что хваленая «simplicity» вовсе не «simple», а, скорее, «naive». Гошка выбрала самый распространенный юзкейс и захардкодила его. Хочешь чего-то, отклоняющегося от линии партии? Обойдешься, городи костыли. Да и раст он хвалит ровно за то, что по сравнению с Го тут куда более продуманный и гибкий.

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

C++ это система костылей и подпорок, с тянущимся легаси.

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

Вы плотно работаете с «мёртвыми» языками, потому что за «живые» не платят?

Последние два ваших поста (этот и C рулит и педалит. (комментарий) ) – вообще шик, обожаю, когда Разорванного Флакона публично тыкают носом в его же дерьмо.

anonymous ()

Всё правильно написал, спасибо за статью.

intelfx ★★★★★ ()
Ответ на: комментарий от LINUX-ORG-RU

Забавно, что автор статьи предвидел появление такой критики и оставил специальный комментарий по этому поводу. Но на ЛОРе читать статьи не принято…

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

C++ это система костылей и подпорок, с тянущимся легаси.

C++ – это Fuchsia и прочее «легаси».

Rust – набор хелловорлдов и переписаных в сотый раз /bin/true и /bin/false от нетакихкаквсе.


Разорванный Флакон
anonymous ()
Ответ на: комментарий от anonymous

При чем тут фуксия? «Легаси» – совокупность принятых ранее решений, из-за которых, например, в С++ нет человеческой семантики перемещения, а та, которая есть, не ликвидирует главного – кучи конструкторов и деструкторов, пусть и не копирующих. А где-то она вовсе не может быть использована, так как требует nullable state. Человек, который работал над [[trivially_relocatable]], чтобы хоть как-то реализовать идею, уперся в то самое легаси.

А еще корутины. А еще три синтаксиса для концептов. А еще ABI ломать нельзя. А еще в STL нет постоянства ни в названиях, ни в методологии.

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

Могу. А коллекции тоже переписывать под каждый встроенный/агрегатный тип? А какие-нибудь сортировки? Не единым quicksort живы.

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

При чем тут фуксия?

А при том, что на C++ как писали, так и продолжают писать крупные проекты, а с Растом ты можешь только подтереться очередным helloworld_v22.0.3.rs, и продолжить плакаться на форуме какой C++ «неидеальный» и какой недопонятый и никому не нужный Rust.

Разорванный Флакон

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

Человек, который работал над [[trivially_relocatable]], чтобы хоть как-то реализовать идею, уперся в то самое легаси.

Выдаёшь желаемое за действительное. Человек который это реализовал, считает С++ лучшим языком, и не страдает как растофанатики пытаются преподнести. Всё работает, деструкторы не вызываются, есть форк clang где уже реализовано.

Полечи своё ощущение реальности, посмотри его презентацию

https://www.youtube.com/watch?v=SGdfPextuAU

fsb4000 ★★★ ()

Магические комментарии в Go доставляют:

// +build !windows
rupert ★★★★★ ()
Ответ на: комментарий от cherry_boy

А те, кто открывал, добавляют, что ещё и попахивает? Или в чём идея?

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

Я не говорил, что он не реализовал это. Почитай его блог, в свою очередь, там он пишет о том, через что пришлось пройти ради этого.

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

Siborgium ()

Rust has the opposite problem - things look scary at first, but it’s for a good reason

Это чушь опять же. Rust это про то, как делать простые вещи сложными. Либо писать через unsafe, либо тянуть либы, которые уже кем-то написаны (через ансейф снова). В общем-то это пока игрушечный язык, которые некоторые наркоманы в продакшн тянут.

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

Навоз тоже попахивает, но огород им удобряют, несмотря на.
Юниксовые ядра написаны на C, драйвера написаны на C, системная обвязка в виде клиентов, демонов и прочих systemd написана на С, nginx написан на С, redis написан на C, openssl написан на C, curl, который тут светили, тоже написан на C. Слишком много активных и известных проектов для умирающего языка, не находишь? А ведь это все даже не плюсы, pure C.

cherry_boy ()

C++ has the opposite problem - things look scary at first, but it’s for a good reason.

anonymous ()

Почему кого-то должен волновать рандомный высер какого-то ноунейма из интернета?

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

Ну вот, смотри: helloworld_v.1.0.rs написан на Rust, helloworld_v1.1.rs написан на Rust, плюс helloworld_v1.2.rs написан на Rust, helloworld_v.2.0.rs написан на Rust, helloworld_v3.0.rs написан на Rust, helloworld_v22.0.3.rs, который тут светили, тоже написан на Rust.

Шах и мат, атеисты.

Разорванный Флакон

anonymous ()

Вам ещё не надоело сравнивать го и раст? Да, го примитивный. Зато с кучей библиотек. Зато стандартная либа учится за неделю, в отличие от уебнской стдлиб раста с его не менее уебнским синтаксисом. Чтобы начать писать на расте, нужно иметь бюджет на полгода жизни, чтобы более-менее его изучить. Про растовые батарейки я вообще молчу.

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