LINUX.ORG.RU
ФорумTalks

Чем Swift и Rust хуже C++?

 , , ,


0

5

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

Давайте обсудим их темную сторону и поговорим не о преимуществах, а о недостатках.

★★★★★

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

В Rust нет higher-order types и параметрами дженериков не могут быть константы.

Ах да, обещанный GC всё никак не прикрутят.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)

у них маленькое компьюнити, нет поддержки корпорациями (вряд ли Apple будет поддерживать linux разработку), непонятен статус стабильности выходящих библиотек, непонятно распространение по платформам, итп

кресты есть везде, все на них пишут и будут писать на протяжении нашей жизни

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

Это какая-то невнятная фигня, которая всем нужна. На мое простецкое понимание, параметрами дженериков не могут быть дженерики.

tailgunner ★★★★★
()

168_причин_почему_они_ненужны.png

FiXer ★★☆☆☆
()

о недостатках.

Недостатки - неопределенность. Если я напишу код на C/С++, то я знаю, что через десяток лет все еще смогу скомпилировать и использовать. А на Swift/Rust? После очередного релиза сломают обратную совместимость и придется все переписывать? Или не сломают? Где гарантии?

На мой взгляд это есть основная проблема новомодных языков.

Прикинь, если бы после каждой новой версии gcc приходилось бы переписывать пол ядра linux, дабы починить совместимость...

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

Сколько языков уже родилось и умерло под разными названиями, будь то хоть rust хоть ada, хоть python, хоть D? «Substandard programmers», как точно назвал их Торвальдс, не понимают, что инструменты у нас уже есть, у нас есть молоток, кувалда, плоскогубцы и пила. И нам не нужен блестящий и пердящий комбайн из всего этого. У нас есть C, C++, Java. Это все что нам нужно. Даже с лихвой.

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

параметрами дженериков не могут быть константы

Вот это скоро прикрутят?

Я не знаю даже об RFC на эту тему, так что нескоро.

aka плюсовые template template arguments?

В моем понимании - да.

tailgunner ★★★★★
()

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

intelfx ★★★★★
()

Что на счёт производительности и компактности?

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

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

Часто инструментами пользуешься? Таки есть интересные экземпляры среди новых: удобные, с эргономичными ручками, облегчающие непростой труд (работать одно удовольствие). Не, дрова конечно можно и обычным совковым ржавым топором порубить, но есть девайсы, способные существенно облегчить труд. В этом плане, аналогия твоя (или какого-то алкаша Прорвальдса) зафейлилась.

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

А так ли он там нужен?

Судя по вопросу, сам факт нужности под сомнение не ставится? :)

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

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

у них маленькое компьюнити

У продукта яблока маленькое комьюнити?

вряд ли Apple будет поддерживать linux разработку

А зачем они тогда её добавили? Я думаю, дело в том, что у них сервера на GNU/Linux.

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

Судя по вопросу, сам факт нужности под сомнение не ставится?


Ну если он будет добротно сделан, то кто же против.
Просто GC на данный момент это совсем не то что в rust'е мне не хватает.

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

Просто GC на данный момент это совсем не то что в rust'е мне не хватает.

А чего тебе не хватает? В хедпосте спрашивают же именно об этом.

tailgunner ★★★★★
()

Ну вот Свифт реально не нужен. Даже на обжСи записи выглядят лаконичнее, чем на свифте.

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

можно и обычным совковым ржавым топором

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

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

А чего тебе не хватает?


async io в стандартной библиотеке.
и что-нибудь наподобие netty или mina в Яве.

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

Госдеповские штучки, чтобы посеять неразбериху среди девелоперов, перессорить всех друг с другом, разбить на враждующие группы и ловить рыпку в мутной воде! Разделяй и властвуй. Так-то!

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

У нас есть C, C++, Java. Это все что нам нужно. Даже с лихвой.

А давайте вообще всё на ассемблере писать.

Вчера с удивлением узнал, что Fortran - живее всех живых. Только в своей узкой числодробильной нише. В язык недавно добавили кучу новых фич, и зарплата у специалиста по нему - очень даже приличная.

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

У нас есть C, C++, Java. Это все что нам нужно. Даже с лихвой.

Так пишите, в чем проблема то. Не надо всех заставлять страдать :)

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

Недостатки - неопределенность. Если я напишу код на C/С++, то я знаю, что через десяток лет все еще смогу скомпилировать и использовать. А на Swift/Rust? После очередного релиза сломают обратную совместимость и придется все переписывать? Или не сломают? Где гарантии?

Боюсь что сейчас код написанный на C++ 10 лет назад соберется только если указать -std=c++98, да и то не факт. Все равно пара мелочей вылезет.

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

Но с другой стороны есть инструменты, которые улучать уже просто некуда. Вот взять стандартный сокол на 30, с рёбрами от растекания, из магниевого или аллюминиевого сплава. Разве что по больше бывают, на 40, но это от задачи зависят. Так вот такой хоук, уже как 40 лет, а то и более и ничего лучше быть не может для такой задачи.

Задача во много определяет инструмент. Если в целом индустрия программирования сформировалась окончательно в 80. То и инструменты современные все как один ничего принципиально нового, а зачастую и вообще ничего удобного не несут. То что было в Ада или Лиспе ещё на заре, заносят в новомодные языки и называют это киллерфичами. Идиотизм.

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

Не обязательно так явно делать. Когда-то давно, на заре современной цивилизации кто-то из людей вдохновил других людей не кооперироваться, а конкурировать, так и началось то что мы сейчас видим. Когда-то идеи конкуренции внедрялись насильно, убивали, крестили и тд. Сейчас это считают стандартом.

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

он и будет, где надо, дольше новеньких готовеньких :)

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

Вы давно код на С++ современный видели. Скоро по высоко-уровневости перегонит жабаскрипт, если не уже.

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

Скоро по высоко-уровневости перегонит жабаскрипт, если не уже.

Ага, только за этим вашим ехал темплейт через темплейт и макросом погонял иногда фиг поймёшь что этот код вообще должен делать.

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

у c++ есть слак чат?) а где оно вообще обитает то? в ирке тоже народу меньше на фриноде.. :D

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

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

А есть ли хоть один язык, удачно сочетающий наличие GC и возможность рулить памятью самому?

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

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

Нет. Зарплата у специалиста по этой нише очень даже приличная. Но если ты сейчас выучишь Fortran сам по себе, ты с этим мегаважным скиллом всё равно никому не будешь нужен.

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

То что было в Ада или Лиспе ещё на заре, заносят в новомодные языки и называют это киллерфичами.

В Ada или Lisp есть, например, зависимые типы?

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