LINUX.ORG.RU
ФорумTalks

Почему не любят С/C++ ?


0

0

Постоянно проскакивают наезды по поводу того какой отстойный C/C++
как на нём галимо писать etc.
Собственно хотелось бы узнать: а почему он такой отстойный и
чем именно он не нравится :)))


Еще один прикол ;-)))

Ну скобочки всякие дурацкие.. Плюсики... Короче, черти что. То ли дело, скажем, Лисп ! :-))))) Или перл ;-))) Который "действительно оправдывает свое название" (с) анонимус с ЛОРа :-))))

LamerOk ★★★★★
()

Ууу. Антихриста на вас нету. Ща каак он (Луговский) придет. Да каак смешает С/С++ с говном, а всех, кто на нем пишет обзовет дебилами.
И, конечно, приведет убийственные аргументы а-ля "а мене не нравицца" и т.п.
Или опять начнет впаривать всякую критику, типа Джойнера.
С последним можно ознакомиться по адресу: http://www.progsoc.uts.edu.au/~geldridg/cpp/cppcv3.html (пдф качать)

anonymous
()

Потому что для программирования на C/C++ необходимо быть высококласмым программистом, а таких тут нету. Школьники попробовали на нем написать helloworld получили segfault. Программисты они дерьмовые, вот и поливают C тем чего у них много (т.е. дерьмом)

anonymous
()

C/C++ rulezzz! А дерьмом поливать все горазды! Это вё равно легче чем С/С++ учить и работать в нём...

anonymous
()

>>Потому что для программирования на C/C++ необходимо быть высококласмым программистом,

Справедливо для многих ЯП.

>> а таких тут нету.

А хде?

>> Школьники попробовали на нем написать helloworld получили segfault.
>> Программисты они дерьмовые, вот и поливают C тем чего у них много (т.е. дерьмом)

Наоборот. Школьники впадают в экстаз (Йоу! Си эта модна!) и пишут свои хелло ворлды.
Ну и активно свои твАрения распространяют.
В результате у всяких прочих "интеллектуалов" вырабатывается на Си рвотный рефлекс, типа "раз на Си пишет столько отстоев, то и сам язык отстойный". А под этот логичный (для них) вывод они притягивают за уши любые доводы и аргументы (то этого нету, то того, то Си++ мусор вынести не может и т.п.).

anonymous
()

>> Си++ мусор вынести не может

Это я написал в смысле "и мусорное ведро не выносит", а когда запостил, заметил неоднозначность фразы :-) Но отсутствие GC тоже приводится в ряду доводов против Си/Си++

anonymous
()

А по-моему garbage collector приводит к расхлябанности в написании программ,когда за выделением памяти перестают следить :))))
и пишут мегатонных монстров которые жрут по полгига памяти
(щазз пойдут наезды по поводу того, что если нету денег купить гиг
мозгов, то нехрен писать на этот форум :)))




joker
() автор топика

для реальных перцев - для которых C отстой офигительный язык программирования - http://www.muppetlabs.com/~breadbox/bf/

1) прост в изучении (всего восемь комманд)
2) можно написать любую программу которую можно написать на любом другом языке
3) малые трудозатраты
4) маленький компилятор - всего 171 байт
5) быстро работает собранный код

lg ★★
()

>>для реальных перцев - для которых C отстой офигительный язык программирования -
>>http://www.muppetlabs.com/~breadbox/bf/

>>1) прост в изучении (всего восемь комманд)
>>2) можно написать любую программу которую можно написать на любом другом языке
>>3) малые трудозатраты
>>4) маленький компилятор - всего 171 байт
>>5) быстро работает собранный код

>>lg (*) (2002-11-28 19:20:12.301)

Или это такая тонкая ирония, или ээээ.... Короче, насчет совместимости (2) и (3), а также (5), это совсем не очевидно.

anonymous
()

2) очевидно - Комп это таже машина Тьюринга :)

3) опыт + автоматизм

5) попробуй напиши прогу на любом другом языке (например на C) которая считает факториал _любого_(сколь угодно большого) числа за любое врема и сравни по скоростям с прогой с того сайта

lg ★★
()

Ну теперь надо поддержку этой хрени к gcc прикрутить.. :-)))))

LamerOk ★★★★★
()

Продолжаем разговор (с) Карлсон, который живет сами-знаете-где

>> 2) очевидно - Комп это таже машина Тьюринга :)

Дык это... Да чего уж там... Генерим экзешник сразу:
cat >myprog.elf
...^D
chmod +x myprog.elf
./myprog.elf

И компилер не нужен :-)

>>3) опыт + автоматизм

Да, вот только руки устанут быстро такое количество инфы вбивать. Вот если б чип был, чтоб в мозг имплантнуть :-) И ходить вещать :-)

>> 5) попробуй напиши прогу на любом другом языке (например на C) которая считает факториал _любого_(сколь угодно большого) числа за любое врема и сравни по скоростям с прогой с того сайта

Дак кто спорит, для каждого языка можно найти задачу (вариант - написать язык под задачу), которая на нем решается очень просто и изящно. А TCP/IP стек на нем как написать? Ну или обычный тривиальный LR(1) парсер?

Из этого неиллюзорно получаем, что "мозго%б" годится только для узкоспецифичных задач.

anonymous
()

cat > ex.elf - не получиться .. нельзя воодить бинарные данные

lg ★★
()

>> cat > ex.elf - не получиться .. нельзя воодить бинарные данные

Да, недочет. А ведь такой компилер пропадает. Но есть выход - писать 16-ричные числа (можно и другую разрядность взять) и написать транслятор в двоичный код.
И обозвать его компилятором. И обозвать все это ЯПВУ для крутых перцев.

anonymous
()

А мне другое интересно. Почему это joker говорит о С и С++, как об
одном языке? Если что, это два самостоятельных отдельных языка с разной
парадигмой программирования. То, что местами у них похож синтаксис еще
не делает их одинаковыми.
Как сказала одна моя знакомая, увидев шелл: "это что, бейсик?"
Я: "Почему?!?!?!"
Она: "Ну-у-у, буковки такие же"
;-))

random
()

> 2) очевидно - Комп это таже машина Тьюринга :)

ну вот это спорный вопрос. Процессор точно не машина Тьюринга, он ограничен, бесконечной ленты у него нет. Сейчас на forum.ixbt.com в одной ветке вроде решили что стандартный Си тоже не Тьюринг-комплит -- маллок и фопен всегда имеют право вернуть ноль, а на остальном (в частности рекурсии) эффект бесконечной ленты тоже вроде не получается..

dilmah ★★★★★
()

А по поводу Си и Си++ -- до сих пор из тех кодов которые я видел, лучшие, прозрачнейшие и чистейшие были написаны на Си а не на плюсах. Хотя вроде бы плюсы это очень продуманный язык и поэтому это странно.

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

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

ivm_scan
()

Недавно решился прейти на gcc 3 с 2.95
ну и конечно все свои сырцы пересобрать...
оказалось - всё теперь по новому, что раньше было хорошо, теперь уже плохо
понимаю, что прогресс не стоит на месте и всё такое, но
некоторые фичи я понять не могу - вот один пример:

Для наглядности опишу так:

создаю шаблоны классов:

	template <class ЦветКожи> class ЛевоеПолушарие
	{
		template <class Цвет> class СледОтУкола
		{
			...
		}
		typedef СледОтУкола<ЦветКожи> След;
		virtual void найтиСлед() = 0;
		...
	};

	template <class ЦветКожи> class ПравоеПолушарие
	{
		...
	};

	template <class ЦветКожи> class Задница
	: public ЛевоеПолушарие, public ПравоеПолушарие
	{
		virtual След* найтиСлед();
	};

определяю метод:
 
	template <class ЦветКожи> void Задница<ЦветКожи>::найтиСлед()
	{
		След* след = NULL;
		...
	}

в этом методе компилер ругается, крича что здесь
`typename Задница<ЦветКожи>::След' is implicitly a typename
warning: implicit typename is deprecated, please see the 
documentation for details

я переписываю его так:

	template <class ЦветКожи> void Задница<ЦветКожи>::найтиСлед()
	{
		СледОтУкола<ЦветКожи>* след = NULL;
		...
	}

в этом случае он выдаёт ошибку parse error before `,' и т.д. 
короче, не знает, что такое СледОтУкола 
- добавляю прородителя:

	template <class ЦветКожи> void Задница<ЦветКожи>::найтиСлед()
	{
		ЛевоеПолушарие<ЦветКожи>::СледОтУкола<ЦветКожи>* след = NULL;
		...
	}
теперь всё нормально, жуём и не плюёмся... но это же глупо! 
ведь СледОтУкола объявлен в родительском классе
и ПОЧЕМУ тогда typedef (След, который объявлен там-же) он видит???

PS:
боюсь показаться необъективным, но порой мне кажется,
что комитет ANSI потихоньку сходит с ума!
PS2:
может, по этому и не любят? :)))
читает человек книжку 5-летней давности по С/C++
хорошо все запоминает, изучает примеры, и естесна, хочет попробовать
не на бумаге, а на реальной машине с реальным компилером... )
просит, значит знакомого "ботаника" поставить ему сс и с++ на домашний
вынь 9х. Тот, не долго думая, ставит ему cygwin с gcc 3.2 prerelease
и ...бабах! ни один пример не компилится, да при этом ругони от gcc
больше, чем исходного кода было - и когда у человека шок пройдёт,
он займётся какимнть VB, или Delphi, даже CBuilder'ом , т.е.
любой визуальной средой, которая позволяет сначала картинки рисовать
с менюшками и бантиками, а потом уже думать, и то не сильно.

Loki
()

Не народ, я вот щас тоже занялся изучением C++ . ;-)
Могу сказать, что перед тем как какую нибудь прогу написать, нужно точно представлять с какими объектами, типами и классами будешь работать. Вообщем, IMHO структурированное программирование ещё некто не отменял. :)
<ни один пример не компилится, да при этом ругони от gcc
больше, чем исходного кода было - и когда у человека шок пройдёт,>
Не знаю, у меня стоит Dev-C++ , и проблемы возникали, только тогда когда я где-то делал ошибку. ;-)
<ни один пример не компилится, да при этом ругони от gcc
больше, чем исходного кода было>
ну значит, примеры были плохие, либо набирались с ошибками :)))))
<какимнть VB, или Delphi, даже CBuilder'ом , т.е.>
да для начала и bash сойдёт, хотя лучше с граф. оболочкой начинать, так как там легче всего, следить за кодом :)). Хех, но есть единственное исключение это Cbuilder, я не рекомендую его использовать :)))

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

>>Могу сказать, что перед тем как какую нибудь прогу написать, нужно точно представлять с какими объектами, типами и классами будешь работать.
Беда, в том, что не все это понимают.
>>Вообщем, IMHO структурированное программирование ещё некто не отменял. :)
его _действительно_ никто не отменял, и не отменят :) опять же, не всем дано...
>>ну значит, примеры были плохие, либо набирались с ошибками :)))))
да, примеры были плохими, но набирались без ошибок /* ну не издевайся уж так - может и обычный человек правильно набить ;) */
а точнее, примеры _стали_ плохими, после выхода очередного стандарта и доработки компилера на соответствие оному.
Подобный пример я в предыдущем посте изобразил, и там же усомнился в разумности _таких_ изменений стандарта.
Вот, собственно и всё.

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

В догон:) У тебя mingw 2.96 или 3.2 ? Если 2, то добавь 3 или поставь cygwin и gcc3, в DevCpp можно и его подключить. А потом погоняй шаблончики под разными версиями - почувствуешь разницу:)

Loki
()

народ, что тут спорить? Линус Торвальдс написал ядро Линукса на C, до сих пор ядро пишется именно на C. XFree написано на C. MPlayer написан на C. mpg123 написан опять же на C. К чему эти споры? Если результат налицо :)

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

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

loki
()

>Почитай его посты - для него и это не аргумент. (тем не менее свою позицию он аргументирует)

Весьма плохо это у него получается. То, что я пока понял, так это то, что он очень плохо знает С++, считая при этом, что знает его достаточно хорошо, но демонстрируя только Си и то ужасного вида. (Пример -- см. на сорсфорже его vslisp.)
Он зациклился на камле и хаскеле, а когда на его возгласы "а вот это на С++ нельзя написать просто" ему показывают, что, вобщем-то, можно и очень даже просто (если язык _знать_), он выражается нецензурно, пытаясь матом скрыть то, что облажался. Типа "а вот это фигня, есть вещи гораздо сложнее", и т.п. далее по кругу.
В п-ду такую аргументацию, вместе с г-ном Луговским.

anonymous
()

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

anonymous
()

>> Луговским

Кстати, удивительный субъект.
При всем при том, что это явный кащенит (не псевдо, а настоящий),
многие (даже знакомые с кащенизмом) воспринимают его только как 
ученого-интеллектуала,  не сдержанного на язык.
В чем разница по сути между йожынныммъ йесзыккоммъ(tm) Пульвера и матерщиной
Луговского?
Цель (прово-кац-ия бокланов) достигается, при этом не используется ни еврейская
тема (tm), ни йожжынныйъ йеззыккъ (tm). 
Так что его наезды на С++ суть провокация, к сожалению даже умные люди на это
покупаются.

anonymous
()

>> Так что его наезды на С++ суть провокация, к сожалению даже умные люди на это
покупаются.

Т.е. жаль, что неглупые люди покупаются. А чем больше бокланов "здохнет" (с) vsl,
осознав свою ничтожность и ничтожность С++, тем лучше :)

anonymous
()

Попробуйте шутки радючи поприкалываться с асмом. И тогда вы будете правильно понимать смысл С. Он всего лишь средство. Но лутшее средство.

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