LINUX.ORG.RU
ФорумTalks

Один из главный экспертов по C++ и автор D: Go - безнадёжно уныл и годится только в качестве клея, а Rust - страшный и пропускал «дни ног»

 , , ,


4

13

https://www.quora.com/Which-language-has-the-brightest-future-in-replacement-...

Ъ: В ответ на вопрос о том, какой ЯП имеет наиболее светлое будущее в качестве замены C, Go или Rust, и почему, Андрей Александреску обрисовал ситуацию следующим образом:

  • Go — фундаментально тормозной из-за косвенных вызовов функций и GC. Фактически ничего вразумительного без них написать на этом ЯП нельзя. Команда Go планирует решать проблему улучшением GC, но тут можно только пожелать им в этом бесполезном деле удачи.
  • В линии партии Go много диспропорционально крепкой и косной политики. Актуальные темы клеймятся, а любые попытки вразумительного диалога отвергаются. Политизирование технических вопросов крайне вредно в долгосрочной перспективе.
  • Go — излишне-примитивный, безнадёжно унылый и годится только в качестве клея.
  • Rust - дисгармоничная личность, которая пропускала «дни ног». Дизайн этого ЯП строится вокруг безопасного, точного управления памятью. Это очень сложная задача, которая, однако, никогда узким горлышком в программировании не являлась. Тем удивительней видеть, что решению не единственной и далеко не самой главной проблемы посвящена столь непропорционально огромная часть дизайна.
  • Синтаксис Rust'а раздражает. Он намеренно чужероден без всяких очевидных на то причин.

Из недостатков собственного ЯП он отметил низкую распространённость не смотря на номинально долгое существование, печальную историю с GC (есть RAII и ручное управление памятью, но стандартная библиотека завязана на сборщик мусора) и историческое отсутствие видения.

Перемещено tailgunner из development



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

автор D

Уж кому-бы кукарекать.

entefeed ☆☆☆
()
Ответ на: комментарий от SwiftLang

Это tl;dr

мой поинт в том, что автор позволяет себе свои чисто субъективные суждения о rust и go выдавать за недостатки. что он там еще понаписал, этим только дискредитируется

а мемасики кидать - это, конечно, аргумент, тут я вынужден умыть руки

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

Суть еще и в том, что программист C, C++ и тому подобных нужен везде, а программист Delphi и Basic за пределами дескопа пойдет на улицу, потому что нигде Delphi и Basic, кроме дескопной винды не работает. И если в 00-ых благодаря доминированию винды на дескопах и доминированию дескопной платформы можно этим было пренебречь и оставить это столь ценное умение лишь для серверного софта, то сейчас с развитием IOT, лопат, станков и другого рода подобных вещей в огромном количестве это уже базовая необходимость уметь писать на все и вся, и не переучиваться по 50-100 раз.

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

Работка корпорации бобра никак не подпадает под серьезную тащемта.
продолжайте наблюдение!

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

Поэтому я всякое г типа этого свифта не трогаю! Мало ли чо придет с ним...

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

Серьезно? Когда этого чепушилу успели записать в «эксперты»?

Например, когда по его запросу в стандарт добавили variadic templates?

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от Lowes

Зачем портировать то что нахер никому не нужно?

Скажите это создателям не нужно и не нужно.

поправил, во имя не нужно

shty ★★★★★
()

Зачем не пропускать день ног, если ты все равно в них стреляешь? Почему людям трудно принять, что можно и без GC оставить свои ноги в целости и сохранности?

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

Используют и ещё как. Новый софт уже по умолчанию на нём, старый рано или поздно уходит с ObjC.

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

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

Важна площадь поперечной проекции ног на ось выстрела. Если ноги слишком тонкие - промахнуться можно.

shty ★★★★★
()

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

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

Ну относительно недавно, самому методу квантового Монте-Карло не так много лет. Ну и вот задачу по моделированию кинетических уравнений для Бозе-Конденсата полгода назад мой научник и его аспирант тоже делали на фортран77, я решал другую задачу, но на C++, на фортране писать отказался.

DELIRIUM ☆☆☆☆☆
()

А кто нибуть вкурсе почему из документации на Rust выбросили главу FFI? Прозрачный намек что не смогли?

cvv ★★★★★
()

Go — излишне-примитивный, безнадёжно унылый и годится только в качестве клея.

Я вот даже не представляю что им можно склеить. «Микросервисы»?

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

Уже два года как работает под линуксом.

Что там с пакетным манагером и сборочными тулзами?

Что то там есть, гугли.

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

чисто субъективные суждения о rust и go

Что конкретно субъективного? В Go нет упоротой политики, у авторов не бомбило от критики, они не банили участников сообщества, не вводили для этого Code of Conduct? GC и indirect calls помогут захватить нишу C? Go отлично подходит для создания абстракций, его авторы не заявляют о том, что «abstractions are considered harmful»? Дизайн Rust'а не строится вокруг guaranteed memory safety? Это является самой главной проблемой в разработке ПО? Синтаксис Rust привычен для разработчиков на других ЯП?

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

Не знаю что там под лялехом, а у меня в Fedora всё работает. И с пакетным менеджером всё ОК и со сборочными тулзами.

С добавлением в оф. репы - тормозят товарищи из Red Hat, надо полагать. Уже год обсуждение в багтрекере идёт. Но 3ю версию можно стянуть с koji, а 4я элементарно собирается самостоятельно:

git clone https://github.com/tachoknight/swift-rpm
cd swift-rpm
./rpm-from-source.sh

sudo dnf install ~/rpmbuild/RPMS/x86_64/swift-4.0.2-RELEASE4.0.2.x86_64.rpm
SwiftLang
() автор топика
Ответ на: комментарий от SwiftLang

Дизайн Rust'а не строится вокруг guaranteed memory safety? Это является самой главной проблемой в разработке ПО?

Выходит data race надуманная проблема? Забавно.

History of Fedora release names

Fedora 20 (Heisenbug)

Heisenbug is a term for a software bug that seems to disappear or alter its behaviour when one attempts to study it. http://en.wikipedia.org/wiki/Heisenbug

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

Выходит data race надуманная проблема? Забавно.

Выходит ты тупой и не видешь разницы между «не самая главная в процессе разработки ПО» и «надуманная»? Забавно.

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

Синтаксис Rust привычен для разработчиков на C/C++?

Fixed. Никогда не понимал, что вам в синтаксисе раста не нравится.

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

Выходит ты тупой и не видешь разницы между «не самая главная в процессе разработки ПО» и «надуманная»? Забавно.

Покажи мне инстанцию, в которой решают, что есть «самая главная проблема».

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

Этот выбор был обусловлен технически или субъективно? Просто в организациях, где я работал и про какие слышал, везде расчетный софт писали на c/c++. Только древние модули могли быть написаны на Фортране.

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

Hmmm ... А эта информация актуальна? Я изначально намекал на вот эту книгу: https://doc.rust-lang.org/book/second-edition/

Да. Ты читаешь вторую версию книги, в первой FFI по прежнему в наличии. Они перенесли весь unsafe в The Rustonomicon is your guidebook to the dark arts of unsafe Rust.

numas13
()

Эксперт:
1. Go говно, потому что в нём GC.
2. В моём ЯП есть GC, и стандартная библиотека завязана на нём.

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

не быть криворукой обезъяной
Heartbleed

Справедливости ради нужно отметить, что виновник heartbleed - криворукая обезьяна студень этих ваших ПиЭчДей в провинциальном (?) Munster University of Applied Sciences в сраной Гермашке, который профессионально разработкой на C никогда не занимался.

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

Что конкретно субъективного?

я все написал:

унылый

раздражает

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

Ну,слова говно там не было, GC фигурирует в контексте замены С, и тут D и правда выглядит лучше, чем безальтернативный GC в go,а про то что с GC в D вышел fail «эксперт» и сам написал.

Deleted
()

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

ну-ну

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

«Никто», это никто в твоём окружении. И только. В США каждый третий комп - мак, а айфончики есть даже у школяров вроде тебя.

menangen ★★★★★
()

Дизайн этого ЯП строится вокруг безопасного, точного управления памятью. [...] посвящена столь непропорционально огромная часть дизайна.

Разовью мысль — сейчас всё ПО содержит в себе «непропорционально огромную часть» посвящённую безопасности. На одну полезную строку две «безопасных».

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