LINUX.ORG.RU
решено ФорумTalks

О проблемах СИ, о проблемах СИ++, и вообще помогите разобраться что творится в мире этом?

 , ,


0

3

Только что сидели в дискорде с человеком одним, написавшим бота чисто на ИИ(по его словам), по виду не особо разбирающегося в том, как работает сам бот и что он делает. Естессна, вспомнив про то, что вокруг одни говноеды и тру-кодеры вымерли (цитируя: Когда-то на нём писался практически весь софт, и понятие «быть программистом» однозначно и безальтернативно включало в себя «знать Си».), я поднял панику. Откуда не возьмись выскачил ещё один чел, который прямо пошёл на меня со словами следующими:

[22:45] ну по твоим же словам
[22:45] если ты си-процедурщиков превозносишь
[22:46] язык с кучей проблем с безопасностью памяти

язык с кучей проблем с безопасностью памяти

Часто читал об этом. В ответ упомянул, что есть безопасный Раст, крайне нелюбимый львиной долей ЛОРа. Как вдруг тот же чел выдвигает своё сильное заявление о том, что Rust - это не альтернатива СИ, и что альтернативой СИ будет Zig(я никогда про него не слышал).

[22:49] зиг - альтернатива си
[22:49] превозносить си, который любой функциональщик будет презирать
[22:50] любой, кто пишет на хаскеле, лиспах

Пишу чуть ли не ночью, поэтому сейчас туго соображаю. Что за Zig? Кто начал форсить Rust как альтернативу C? Не сам же я это придумал. И с каких пор C теперь не в почёте?

Перемещено hobbit из general


сишечку выкатили в начале 70х. и за это время полно было разных альтернатив, много лучших чем сишечка, но воз и ныне там. и раз за 50 лет ничего не случилось, то и еще 50 не случится.

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

язык с кучей проблем с безопасностью памяти

Передай клоуна ему. За толстоту.

u5er ★★★
()

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

water_closed
()

«There are only two kinds of languages: the ones people complain about and the ones nobody uses.»

kaldeon
()

О проблемах СИ, о проблемах СИ++, и вообще помогите разобраться что творится в мире этом?

Си - это по сути чуть более высокоуровневый и хорошо портируемый ASM. Теперь подумай, какой процент кода проекта обычно пишут на асме? Немного?

Сейчас уже есть довольно хорошие транспайлеры типа Nelua.io и Haxe, которые генерят в т.ч. и сишный код и прекрасно интегрируются с сишными либами. Но это высокоуровневые ЯП с гораздо большей продуктивностью кодера, где допустить ошибку управления памятью намного менее вероятно.

Ещё транспайлеры с удачным синтаксисом входного ЯП типа Haxe очень полезны для таргетов типа петона с очень неприятным синтаксисом (проблема далеко не только в отступах), но хорошими другими свойствами типа высокой портабельности и большого обилия готовых либ.

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 2)
Ответ на: комментарий от MOPKOBKA

Все равно ее не брошу

При наличии богатых спонсеров можно надра_ивать хоть в маш кодах, когда дедайны почти отсутствуют.

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

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

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

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

Проблемы с безопасностью памяти и прочие не в Си, они в головах нубов которые пытаются кодить на нём в прод, не имея на то нужной квалификации. Эти же самые нубы и на других языках обычно пишут исключительно помои.

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

firkax ★★★★★
()

зиг - альтернатива си

В пейсту такая альтернатива. Когда у них через 2 года код перестаёт собиратья вообще и в принципе - это детский сад, а не альтернатива.

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

Zig это такой Rust от MIT-овца, которому понравилась концепция, но не понравилось то что разработчики раста положили болт на парадигменность, совместимость с сишными/плюсовыми модулями, а так же заточили язык под IDE и одну систему сборки с npm-репозиторием.

В общем ученый против сои. Или университетский дед против вебмакак с нодой.

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

Zig это такой Rust от MIT-овца, которому понравилась концепция

Какая концепция? Да и вообще: https://andrewkelley.me/post/intro-to-zig.html (2016 Feb 08).

The past few months I took a break from working on Genesis Digital Audio Workstation to work, instead, on creating a new programming language.

I am nothing if not ambitious, and my goal is to create a new programming language that is more pragmatic than C. This is like to trying to be more evil than the devil himself.

В общем ученый

Не похож.

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

Концепция раста это borrow checker, который выкручивает руки и заставляет писать страшный код Этого г-а в zig нет

Reset ★★★★★
()

...по его словам...

Вот именно.

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

У Си основное преимущество — на нём написан этот ваш un*x.

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

Вообще, круг вопросов, заданных ТС, непрост, в двух словах и не ответишь-то.

sparkie ★★★★★
()

Как челу далекому от кодинга могу предположить что си - это паровая машина. Поэтому нужно уже переписывать все поновому.

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

Какая концепция?

Язык с околоскриптовым синтаксисом (автор любит питон и веб) компилирующийся в сишную программу.

Под «сишной программой» имеется в виду использование стандартной сишной библиотеки, а вся семантика зиго-раста это компаил-тайм сейфти обертка по сути. Эту идею растоманы тоже принесли из мира node-js, где всякие тейпскрипты-кофескрипты компилируются в джаваскрипт/вебассемблер и никто даже не пытается уже изобретать свои интерпритаторы и JIT.

Не похож.

Носит очки и лекции читает значит ученый.
В любом случае он как минимум учился в MIT, тамошние профессора его научили трепетно относиться к имеющейся кодовой базе, ценить возможность писать код карандашом в блокноте и компилять написанным на коленке компилятором. Неумение писать на низкоуровневых языках (С/С++) с управлением памятью и любовь к интерпритируемым лисп/питон подобным, а так же чисто философский (парадигменный) подход во всем тоже говорит о старой академической школе.

Если посмотреть на раст там все наоборот: полный отказ от совместимости со всем существующими либами и попытка все переписать и переосмысливать. Тотальное использование двух-трех буквенных сокращений. Хорошее знание C/C++ по управлению памятью и оптимизаций программ на низком уровне (наверное отсюда и стремление все переписать с нуля). Заточенность языка на проектную разработку в IDE уровня вижуал студии, где код постоянно проверяется запусками фронтенда, но если особенности С/С++ не позволяют той же вижуалстудии отловить ошибки работы с памятью, то в расте все сделано так чтоб максимально все предугадывать и подкрашивать. Никаких инклюдов только экспорт модулей с помодульной сборкой с LTO и пакетный менеджер он же сборщик/запускальщик прям как npm.

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

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

Поэтому нужно уже переписывать все поновому.

Кому нужно?

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