LINUX.ORG.RU

Почему писать на С - извращение?

 


1

2

Почему все говорят, что в наше время на Си без плюсов пишут только извращенцы которые, пишут код ради кода? МК не в счёт, имеется ввиду прикладное ПО



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

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

Акулы живут преимущественно под водой. Но не все, кто живёт преимущественно под водой — акулы. Так и здесь. В обратную сторону обобщение не работает.

Оно и в прямую сторону не работает, но тогда в таком случае становится скучно и грустно.

i-rinat ★★★★★
()

Потому что это слишком низкоуровневый язык. И паттерны у него свои, низкоуровневые и вовсю использующие небезопасные вещи типа сишных макросов и void*. Даже при том, что нынешний C (или как минимум GCC) умеет static inline функции, в тех сорцах, что я видел, всё равно используются #define. А высокоуровневые парадигмы типа ООП, ФП ему чужды, и если их на нём эмулировать, что выглядит крайне противоестественно, ужасно и опять же небезопасно.

Пример сразу множества дикостей в одной строке, файл expat.h:

#define XML_GetUserData(parser) (*(void **)(parser))

Помню пример и почудовищней порядка так на два, но я вам его не покажу. :)

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

Потому что для и для высокоуровневого, и низкоуровневого ПО есть языки получше C и, тем более, C++.

Моя очередь: зачем задавать такие пустые вопросы? Ты мог дать этот ответ и сам.

t184256 ★★★★★
()

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

ox55ff ★★★★★
()

Для чего-то серьезного на сях приходится написать половину (н-ную часть плюсовой стандартной либы), ну или взять готовую. Возникает вопрос, а для чего тогда писать на сях, если ты пытаешься сделать из них недоплюсы.

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

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

Потому что это крайне дерьмовый язык, на который молится группка маргинальных онанистов.

Напрасно Вы так - своя ниша у него однозначно имеется. Да - и Вы не забыли где находитесь? А то куча ядрённых разрабов на Вас косо посматривать начала…

bugfixer ★★★★
()

Почему все говорят, что в наше время на Си без плюсов пишут только извращенцы

Кто эти «все»? Они точно люди, а не голоса в голове?

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

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

Существует, например, MISRA C, подход к разработке, позволяющий писать именно безопасные программы на C.

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

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

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

Возможно, но Modula-2, Ada и т.п. — многие про них слышали, что на них пишут в каких-то областях. Но я вот кода ни на Ada, ни на Modula не видел, а мой код на C работает на нескольких электростанциях, пусть и не на атомных.

anarquista ★★★★★
()

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

Или вот нужно вам кучу щебня раскидать. Экскаватор с этим справится конечно же. Но будет гораздо более дорого и долго, чем взять двух человек и пару лопат.

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

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

ох второй пример какое-то гумно :)

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

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

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

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

Да нет. Если ты пишешь на C достаточно долго, начинаешь его ненавидеть за весь тот трешак, что в него навален. И за то, что в нём нет казалось бы банальнейших вещей. Строк, например.

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

Ну так не всё потеряно - учи Modula-2 (или 3), пиши компилятор этого языка на C, потом его же перепиши на изучаемом языке и поймёшь разницу и удобства.

iZEN ★★★★★
()