?

Log in

No account? Create an account
Спасибо, кэп! - Журнал Восставшей Машины [entries|archive|friends|userinfo]
ArkanoiD

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Спасибо, кэп! [Nov. 29th, 2010|06:26 pm]
ArkanoiD
[Tags|]

IMO, good C++ code is better than good C code, but bad C++ can be much, much worse than bad C code.

Почему именно так, существует много развернутых ответов. Я пришел для себя к простому выводу -- избегать крестов. Жопа не стоит свеч, извините.
linkReply

Comments:
[User Picture]From: alexott
2010-11-29 03:27 pm (UTC)
зависит от программистов, они и на Ц могут страшного наворотить.
(Reply) (Thread)
[User Picture]From: potan
2010-11-29 03:58 pm (UTC)
Это надо очень постараться...
(Reply) (Parent) (Thread) (Expand)
(Deleted comment)
[User Picture]From: orleanz
2010-11-29 03:30 pm (UTC)
Все что может быть написано на JS, должно быть написано на нем.
(Reply) (Thread)
From: (Anonymous)
2010-12-01 09:53 am (UTC)
если вы считаете, что JS проще плюсов - Вы, значит, просто ещё один человек, который не понял, что это за язык.
Дуглас Крокфорд асолютно прав - настоящая катастрофа происходит сейчас по причине того, что JS, являясь самым непонимаемым языком в мире, стал, пожалуй, самым популярным.
сравнивать JS с плюсами глупо, поскольку это совсем разные вещи. Но одно могу сказать точно - человек, привыкший думать на С или С++, вряд ли сможет написать хороший код на JS, просто потому, что этот язык вообще совсем ДРУГОЙ, не такой как все, совсем не такой, а ловушка в том, что внешне тот же сишный синтаксис вроде, вроде просто всё, угу...
(Reply) (Parent) (Thread)
(Deleted comment)
[User Picture]From: potan
2010-11-29 04:01 pm (UTC)
А может быть надо выйти из дилемы чистый C vs С++?
Хороших, годных языков много. И я не знаю ни одной задачи (кроме извращенного секса с компилятором), для которой C++ лучший язык.
(Reply) (Parent) (Thread)
(Deleted comment)
(Deleted comment)
(Deleted comment)
(Deleted comment)
[User Picture]From: courd
2010-11-29 04:05 pm (UTC)
Плохого кода не существует. Либо работает, либо нет) Плюсы дают возможность выразить мысли удобным дял программиста образом.
(Reply) (Thread)
[User Picture]From: arkanoid
2010-11-29 04:29 pm (UTC)
Существует. В моей отрасли позволить себе пользоваться кодом который "всего лишь работает" абсолюьно недопустимо.
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: msh
2010-11-29 04:30 pm (UTC)
Ну да, а бензопила может быть гораздо опаснее, чем лобзик, поэтому надо избегать power tools.
(Reply) (Thread)
[User Picture]From: arkanoid
2010-11-29 04:34 pm (UTC)
Да, у меня такая специфика задачи, что с бензопилой лучше не соваться, хотя отдельные умельцы и обращаются с ней точнее, чем с лобзиком.
(Reply) (Parent) (Thread)
[User Picture]From: vit_r
2010-11-29 04:42 pm (UTC)
Всё больше и больше убеждаюсь, что важнейшим инструментом софтописания является кандилябр.

А, в принципе, хочется работать с людьми, которые просто не делают плохой код.
(Reply) (Thread)
From: luarvique
2010-11-29 04:51 pm (UTC)
Ну, в общем, так и есть, но есть еще тема адептов С++ и великих адептов С++. Код, который они производят, формально плохим назвать нельзя, но и поддерживать невозможно.

А так, С++ в роли улучшенного С - вплоне годная штука, полезная. Бо столько callbackов не напишешь :)
(Reply) (Thread)
(Deleted comment)
(Deleted comment)
(no subject) - (Anonymous) Expand
[User Picture]From: max630
2010-11-29 06:51 pm (UTC)
Почти любой код на C++ выразИм на C (к сожалению, нифига не в теории). Так что утверждения по ссылке реализовать сложно. С другой стороны, программисты на C очень любят всякие сдвиги, лихие преобразования типов и прочие извраты, в результате которых получается нечто совершенно непонимаемое. Хуже всего, если это ещё и работает. Тогда как осознать плохость C++ кода обычно несложно.
(Reply) (Thread)
[User Picture]From: alexott
2010-11-29 07:01 pm (UTC)
нифига не любой - большая часть шаблонных вещей не выразится... Например, Boost.Fusion, Boost.MPL, Boost.Spirit
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: yuridichesky
2010-11-29 07:48 pm (UTC)
Странно другое: еще находятся люди, которые на С++ делают что-то толковое и хорошо переносимое. Например, реализация последнего адобовского протокола флешплеера (rtmfp) написана на С++, и вроде неплохо работает (отсюда). Впрочем, в линуксе этот флеш плеер постоянно валится. Может как раз из-за того, что на С++ написан? :-)
(Reply) (Thread)
[User Picture]From: rdia
2010-11-30 02:44 pm (UTC)
> Впрочем, в линуксе этот флеш плеер постоянно валится. Может как раз из-за того, что на С++ написан? :-)

В первую очередь, это из-за того, что он пишется пидарасами. Они регулярно закрывают дыры (кажется даже с работающими эксплойтами) по 2 недели!
(Reply) (Parent) (Thread) (Expand)
(no subject) - (Anonymous) Expand
[User Picture]From: aka_rider
2010-11-29 08:37 pm (UTC)
У меня к этому есть дополнения:
1) Си с классами много круче чистого Си. Т.е. это как Си, в котором есть inline, RAII, минимальная инкапсуляция.
2) В С++ самое главное - это не знать возможности языка, а знать какими возможностями нельзя пользоваться ни при каких обстоятельствах (я не так давно писал про неявное преобразование чего угодно к void *).
(Reply) (Thread)
[User Picture]From: cd_riper
2010-11-30 09:00 am (UTC)
Толстый троллинг.

Писать большие проекты, вроде жирной кросс-платформенной библиотеки виджетов или кросс-платформенного браузера (намекаю на Qt и Chrome), на си это полный песец.
Альтернатив плюсам во многих областях по прежнему нет, а по мощности и выразительности си и рядом не валялся.

Что касается Кармака, это тот еще пейсатель, благо код он свой открывает, и я бы не сказал, что это хорошо написанный код. И на плюсы он ОЧЕНЬ долго переходил, и начал их использовать только начиная с третьего дума. Откроет код, посмотрим как он на плюсах пишет. Не думаю, что нас ждет какое-то откровение.
(Reply) (Thread)
[User Picture]From: potan
2010-11-30 12:50 pm (UTC)
В каких именно областях нет альтернатив плюсам?
Во многих - значит ни в каких!
(Reply) (Parent) (Thread) (Expand)
(Deleted comment)
(Deleted comment)
(Deleted comment)