LINUX.ORG.RU

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

 


1

2

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



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

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

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

i-rinat ★★★★★
()

Кто говорит такую чушь?

прикладное ПО

GTK вышел из чата.

no-such-file ★★★★★
()
Ответ на: комментарий от 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)

потому что там надо ставить флаги очистки памяти а все про это забывают

Gennadevich
()

Не все, я так не говорю. Это они просто завидуют.

LINUX-ORG-RU ★★★★★
()

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

hateyoufeel ★★★★★
()

изващенцы == велосипедовыпроизводители.

abv09
()

Мне нравится C потому что там каждый вечер можно сделать неведомую ерунду, которую не могут понять остальные программисты.

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

От шаблонов тошнит, шаблоны для денег норм, а C для души.

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

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

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

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

Ты просто с другой половиной тусишь.

Даже и не поспоришь :)

bugfixer ★★★★★
()

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

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

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

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

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

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

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

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

Нормально слышать. Си реально динамит, в хорошем и плохом смысле. И это норма. если все ворнинги включить, будет похоже на misra ?

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

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

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

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

anarquista ★★★★★
()

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

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

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

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

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

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

Morin ★★★★★
()

Потому что это слишком приятно

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

не, ну если два ведра щебня то да, чем ждать машину быстрей лопатой :)

а если отсыпать сотку, ту ну его эти лопаты

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

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

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

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

hateyoufeel ★★★★★
()

А уровень топиков в /dev всё продолжает расти, я смотрю.
Давайте уже создадим прикрепленную тему «почему программисты - копрофилы?», просто чтобы обозначить дно.

thesis ★★★★★
()

Почему забивать гвозди молотком — извращение?

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

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

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

Почему весь тупняк не стерли — хз. Наверное, была какая-то цель :)

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