c++ - так уж ли он крут?
От: Курилка Россия http://kirya.narod.ru/
Дата: 11.03.02 12:21
Оценка:
Не хочется разводить очередную войну вокруг c++, но
вот этот
Автор: Курилка
Дата: 01.03.02
топик напомнил мне о статье
A Critique of C++.
Те же инлайны являются примером того, что Айан Джойнер называет bookkeeping — т.е. деталей реализации, которые в принципе может решить компилятор, но которые в C++ ложатся на плечи программера.
И это не единственный пример.
Есть какие-либо мнения по этому поводу?
Тем более, что статья несколько старая — 1996.
Я не очень знаком с C#, но может он решает большую часть проблем?
Re: c++ - так уж ли он крут?
От: Gambler  
Дата: 11.03.02 12:51
Оценка:
Здравствуйте Курилка, Вы писали:

К>Не хочется разводить очередную войну вокруг c++, но

К>вот этот
Автор: Курилка
Дата: 01.03.02
топик напомнил мне о статье

К>A Critique of C++.
К>Те же инлайны являются примером того, что Айан Джойнер называет bookkeeping — т.е. деталей реализации, которые в принципе может решить компилятор, но которые в C++ ложатся на плечи программера.
К>И это не единственный пример.
К>Есть какие-либо мнения по этому поводу?
К>Тем более, что статья несколько старая — 1996.
К>Я не очень знаком с C#, но может он решает большую часть проблем?

Все проблемы решает хорошая доза мышьяка или стрихнина внутривенно


А если честно, то что тебе нужно? Не нравится C++ переходи на Жабу!
-------------------------------------------------------------------

Вызывает презедент к себе коров и говорит:
— Ну, что будем сдавать, молоко или мясо?
(с) Г. Явлинский TV6 — Герой дня (18.04.2002)
Re[2]: c++ - так уж ли он крут?
От: Курилка Россия http://kirya.narod.ru/
Дата: 11.03.02 13:06
Оценка:
Здравствуйте Gambler, Вы писали:

G>Здравствуйте Курилка, Вы писали:


К>>Не хочется разводить очередную войну вокруг c++, но

К>>вот этот
Автор: Курилка
Дата: 01.03.02
топик напомнил мне о статье

К>>A Critique of C++.
К>>Те же инлайны являются примером того, что Айан Джойнер называет bookkeeping — т.е. деталей реализации, которые в принципе может решить компилятор, но которые в C++ ложатся на плечи программера.
К>>И это не единственный пример.
К>>Есть какие-либо мнения по этому поводу?
К>>Тем более, что статья несколько старая — 1996.
К>>Я не очень знаком с C#, но может он решает большую часть проблем?

G>Все проблемы решает хорошая доза мышьяка или стрихнина внутривенно

G>
Спасибо — такой реакции и ожидал..
G>А если честно, то что тебе нужно? Не нравится C++ переходи на Жабу!
Ага — Жаба тоже не дело, если разобраться, хотя как язык она чуть получше будет, но с JVM мучаться — увольте!
Re[3]: c++ - так уж ли он крут?
От: Gambler  
Дата: 11.03.02 13:14
Оценка: -1
Здравствуйте Курилка, Вы писали:

G>>Все проблемы решает хорошая доза мышьяка или стрихнина внутривенно

G>>
К>Спасибо — такой реакции и ожидал..
G>>А если честно, то что тебе нужно? Не нравится C++ переходи на Жабу!
К>Ага — Жаба тоже не дело, если разобраться, хотя как язык она чуть получше будет, но с JVM мучаться — увольте!

Ну тогда тебе подойдёт первый вариант!
-------------------------------------------------------------------

Вызывает презедент к себе коров и говорит:
— Ну, что будем сдавать, молоко или мясо?
(с) Г. Явлинский TV6 — Герой дня (18.04.2002)
Re[4]: c++ - так уж ли он крут?
От: Курилка Россия http://kirya.narod.ru/
Дата: 11.03.02 13:24
Оценка:
Здравствуйте Gambler, Вы писали:

G>Здравствуйте Курилка, Вы писали:


G>>>Все проблемы решает хорошая доза мышьяка или стрихнина внутривенно

G>>>
К>>Спасибо — такой реакции и ожидал..
G>>>А если честно, то что тебе нужно? Не нравится C++ переходи на Жабу!
К>>Ага — Жаба тоже не дело, если разобраться, хотя как язык она чуть получше будет, но с JVM мучаться — увольте!

G>Ну тогда тебе подойдёт первый вариант!


Огроооомное спасибо за столь конструктивную дискуссию!
Re: c++ - так уж ли он крут?
От: Хитрик Денис Россия RSDN
Дата: 11.03.02 14:21
Оценка:
Здравствуйте Курилка, Вы писали:

К>Не хочется разводить очередную войну вокруг c++, но

К>вот этот
Автор: Курилка
Дата: 01.03.02
топик напомнил мне о статье

К>A Critique of C++.

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

P.S. А за ссылку на статью -- спасибо
Правила нашего с вами форума.
Как правильно задавать вопросы. © 2001 by Eric S. Raymond; перевод: © 2002 Валерий Кравчук.
Re: c++ - так уж ли он крут?
От: Pavel Ivlev www.vsi.ru/~pavel
Дата: 11.03.02 15:11
Оценка:
Здравствуйте Курилка, Вы писали:

К>Не хочется разводить очередную войну вокруг c++, но

К>вот этот
Автор: Курилка
Дата: 01.03.02
топик напомнил мне о статье

К>A Critique of C++.

Надо сказать, что эта монография не столько критикует С++, сколько рекламирует Eiffel. Во всяком случае у меня создалось именно такое впечатление.
Re: c++ - так уж ли он крут?
От: IT Россия linq2db.com
Дата: 11.03.02 15:30
Оценка: 16 (5)
Здравствуйте Курилка, Вы писали:

К>Не хочется разводить очередную войну вокруг c++, но вот этот
Автор: Курилка
Дата: 01.03.02
топик напомнил мне о статье A Critique of C++.


Не принимай близко к сердцу тот топик и эту статью. Там спорят теоретики о больших материях, они даже 'стандарт' с большой буквы назвают Лично мне по барабану какой у inline linkage и ручной оптимизацией я буду заниматься только в крайних случаях, и использовать для этого буду сначала приличный профайлер типа Numega TrueTime, а уже потом советы непримеримых трактовщиков стандарта

К>Те же инлайны являются примером того, что Айан Джойнер называет bookkeeping — т.е. деталей реализации, которые в принципе может решить компилятор, но которые в C++ ложатся на плечи программера.


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

К>И это не единственный пример.

К>Есть какие-либо мнения по этому поводу?
К>Тем более, что статья несколько старая — 1996.
К>Я не очень знаком с C#, но может он решает большую часть проблем?

Шарп хороший язык. Многие вещи на нём делать проще и приятнее. В этом смысле он удобнее C++, но C#, чтобы о нём не говорили, всего лишь урезанный клон C++ с некоторыми добавленными возможностями. А о том лучше он или нет C++ мы поговорим после того как в нём появятся шаблоны.

ЗЫ. А насчёт сабжа... Хотелось бы услышать определение слова 'крут', прежде чем отвечать на это вопрос. Если пока такое определение не формулируется, то даже и не сомневайся. C++ rulez forever А все эти джавы и шарпы просто детский сад.
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: c++ - так уж ли он крут?
От: Курилка Россия http://kirya.narod.ru/
Дата: 11.03.02 15:53
Оценка:
Здравствуйте IT, Вы писали:

IT>ЗЫ. А насчёт сабжа... Хотелось бы услышать определение слова 'крут', прежде чем отвечать на это вопрос. Если пока такое определение не формулируется, то даже и не сомневайся. C++ rulez forever А все эти джавы и шарпы просто детский сад.


Да в этом проблема... Да же не знаю, как требования сформулировать чётко — всё-таки я не умудрённый годами теоретик компьютерных наук и ООП. Но доводы Джойнера мне показались очень убедительными, да и примеры из собственной практики, да и даже из рсдн склоняют к мысли, что всё-же при всей мощи c++ — это далеко не лучшее решение, многие вещи реализуемы гораздо проще. И, в принципе, при желании тот же c++ (вот тут на меня посыпится наверно град замечаний о совместимости и т.д) можно довести до гораздо более нормального состояния.
И ещё раз извините, если я своей ересью запятнал великий и могучий c++.
Re[3]: c++ - так уж ли он крут?
От: Topi_Nambur  
Дата: 11.03.02 18:43
Оценка:
Здравствуйте Курилка, Вы писали:

К>Да в этом проблема... Да же не знаю, как требования сформулировать чётко — всё-таки я не умудрённый годами теоретик компьютерных наук и ООП. Но доводы Джойнера мне показались очень убедительными, да и примеры из собственной практики, да и даже из рсдн склоняют к мысли, что всё-же при всей мощи c++ — это далеко не лучшее решение, многие вещи реализуемы гораздо проще. И, в принципе, при желании тот же c++ (вот тут на меня посыпится наверно град замечаний о совместимости и т.д) можно довести до гораздо более нормального состояния.

К>И ещё раз извините, если я своей ересью запятнал великий и могучий c++.

Если тебе кажется что "...многие вещи реализуемы гораздо проще...",
так сделай или скажи конкретно как это можно сделать.
Иначе разговор получается пустой...
Re[3]: c++ - так уж ли он крут?
От: retalik www.airbandits.com/
Дата: 12.03.02 05:55
Оценка: 5 (2)
Здравствуйте Курилка, Вы писали:

К>Да в этом проблема... Да же не знаю, как требования сформулировать чётко — всё-таки я не умудрённый годами теоретик компьютерных наук и ООП. Но доводы Джойнера мне показались очень убедительными, да и примеры из собственной практики, да и даже из рсдн склоняют к мысли, что всё-же при всей мощи c++ — это далеко не лучшее решение, многие вещи реализуемы гораздо проще. И, в принципе, при желании тот же c++ (вот тут на меня посыпится наверно град замечаний о совместимости и т.д) можно довести до гораздо более нормального состояния.


Про совместимость, переносимость, производительность и распространенность C++ тебе и так скажут. Я же хотел бы кое в чем согласиться.
Да, действительно, нынешняя ситуация напоминает переворот в средневековой военной тактике, когда были изобретены арбалеты. Рыцарь, который готовился и обучался военному делу в течение 20 лет, легко убивался человеком, который 2 месяца тренировался с арбалетом.

Язык C++, действительно, довольно сложен — это один из главных его недостатков. И за полгода подготовить с нуля здравомыслящего программиста на нем невозможно (а на VB и шарпе — похоже, это нынешняя реальность). Только так ли это сейчас важно?

Во-первых, религиозные споры о "крутости" какого-либо языка или средства разработки уже не в моде. Первую дорожку проложила архитектура COM. Высокопрофессиональный (и, кстати, высокооплачиваемый) программист на C++ создает компоненты, реализующие сложный GUI или действия на уровне API, а море его коллег использует их из VB. Теперь же, учитывая .NET, все еще более запущено :) По сути, C# отличается от VB.NET и от Perl.NET только синтаксисом! Создав класс в программе на VB, можно унаследоваться от него в C#, и наоборот.

Во-вторых, заказчики рассматривают только результаты работы — им неважно, что ты использовал Супер(tm) Optimized FrameWork+(R), главное, чтобы было сделано в срок и не глючило.

В-третьих, мне понравилась мысль, которую высказал VladD2: по-настоящему хорошие программисты на VB, Delphi и других RAD-остях получаются из программистов на C++. Это действительно так.

К>И ещё раз извините, если я своей ересью запятнал великий и могучий c++.

Вот это, кстати, уже подстрекательство к религиозному спору. :)
Успехов,
Виталий.
Re[4]: c++ - так уж ли он крут?
От: misha  
Дата: 12.03.02 06:02
Оценка: 2 (1)
Здравствуйте Topi_Nambur, Вы писали:

TN>Здравствуйте Курилка, Вы писали:


К>>Да в этом проблема... Да же не знаю, как требования сформулировать чётко — всё-таки я не умудрённый годами теоретик компьютерных наук и ООП. Но доводы Джойнера мне показались очень убедительными, да и примеры из собственной практики, да и даже из рсдн склоняют к мысли, что всё-же при всей мощи c++ — это далеко не лучшее решение, многие вещи реализуемы гораздо проще. И, в принципе, при желании тот же c++ (вот тут на меня посыпится наверно град замечаний о совместимости и т.д) можно довести до гораздо более нормального состояния.

К>>И ещё раз извините, если я своей ересью запятнал великий и могучий c++.

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

TN>так сделай или скажи конкретно как это можно сделать.
TN>Иначе разговор получается пустой...

Замечательную фразу читал когдата в одной конференции по поводу религиозного спора. Цитирую (не дословно):
"Нечего скубаться, шо контора купит, на том и пишем". Начальстово оно такое, DBASE значить DBASE и все тут, а вы шаблоны, красявости, оптимизация
Эх
Re[2]: c++ - так уж ли он крут?
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.03.02 19:52
Оценка:
Здравствуйте IT, Вы писали:

IT>Шарп хороший язык. Многие вещи на нём делать проще и приятнее. В этом смысле он удобнее C++, но C#, чтобы о нём не говорили, всего лишь урезанный клон C++ с некоторыми добавленными возможностями. А о том лучше он или нет C++ мы поговорим после того как в нём появятся шаблоны.


Да. да. (смущенно). И я бы попросил еще нормальный деструктор для value-типов.

IT>ЗЫ. А насчёт сабжа... Хотелось бы услышать определение слова 'крут', прежде чем отвечать на это вопрос. Если пока такое определение не формулируется, то даже и не сомневайся. C++ rulez forever А все эти джавы и шарпы просто детский сад.


При разбитии рутого прэдмэта недолжно вытекать жидкости. Если вытикает желтая жидкость, то это прэдмэт в смятку, ну и т.д.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: c++ - так уж ли он крут?
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.03.02 20:06
Оценка: 12 (1)
Здравствуйте Курилка, Вы писали:

К>Те же инлайны являются примером того, что Айан Джойнер называет bookkeeping — т.е. деталей реализации, которые в принципе может решить компилятор, но которые в C++ ложатся на плечи программера.


Та, ты задумайся... любой мало-мальски достойный комплятор умеет сам определять делать функцию инлайном или нет. Директива inline — это всего лишь право программиста сказать свое слово по этому поводу. Перефразируя вышесказанное inline (в частности) и C++ (в общем) дает то главное, чего нехватает в других языках СВОБОДЫ ВЫБОРА причем не для компилятора или фирмы ее произведшей, а ДЛЯ ПРОГРАММИСТА, т.е. для меня, тебя и вооон того (пользуясь случаем передам привет IT ). Причем это проявляется не только в inline, но и во всем духе языка. Хочешь пройтись по памяти? Пожалуста... Не хочешь? Вот тебе методы как этого не делать. У C++ есть только два недостатка: 1) сысокая сложнось (што иногда приводит к ползанью на брюхе в совершенно простых ситуациях), 2) большое количество слабо подготовленных, или просто марально неустойчивых личностей (хе-хе) которые лезут использовать этот язык и тем самым дескридитируют. (перед пинками и плевками прошу обратить внимание, на смайлик ).

Все эти Явы, Шарпы и Диии, как раз и пытаются устранить эту самую сложность, но иногда перегибают палку, хотя стройность Шарпа действительно подкупает...
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: c++ - так уж ли он крут?
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.03.02 20:08
Оценка:
Здравствуйте Курилка, Вы писали:

К>Ага — Жаба тоже не дело, если разобраться, хотя как язык она чуть получше будет, но с JVM мучаться — увольте!


Самое, что интересное (и поверь для меня очень даже печальное), что с таким мировазрением через пару тройку лет и уволят. Причем с записю в трудовой "Как морально устаревший груз".
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: c++ - так уж ли он крут?
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.03.02 20:13
Оценка:
Здравствуйте Курилка, Вы писали:

К>Здравствуйте Gambler, Вы писали:


G>>Здравствуйте Курилка, Вы писали:


G>>>>Все проблемы решает хорошая доза мышьяка или стрихнина внутривенно

G>>>>
К>>>Спасибо — такой реакции и ожидал..
G>>>>А если честно, то что тебе нужно? Не нравится C++ переходи на Жабу!
К>>>Ага — Жаба тоже не дело, если разобраться, хотя как язык она чуть получше будет, но с JVM мучаться — увольте!

G>>Ну тогда тебе подойдёт первый вариант!


К>Огроооомное спасибо за столь конструктивную дискуссию!


Ну, а ты сам можешь чтонибудь предложить конструктивного?

А, то Жаба с Шарпом тебе не нравятся хотя они порой переганяют C++-сные компиляторы и по развитию библиотек переплюнули все что было создано для С++.

С++ тоже...

Свой язык (я так понимаю) ты даже в проекте предложить не можешь.

Вот Gambler и прикалывается от нечего делать.

Ты предлагай, а мы полсушаем.

Я вон сколько уже рацух прдложил и для С++ и для Шарпа, а толку чуть. Не слышно нас.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: c++ - так уж ли он крут?
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.03.02 20:58
Оценка: 71 (10)
Здравствуйте Курилка, Вы писали:


К>...и даже из рсдн склоняют к мысли, что всё-же при всей мощи c++ — это далеко не лучшее решение, многие вещи реализуемы гораздо проще.


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

ООП — это такой же промежеточный шаг (и не факт, что правильный) совершенству как структурное программирование на заре его становления. Компонентная модель, похоже, тоже шаг в некотором направление. Дельфи и .Net пытаются соединить эти две парадигмы, но далее будут новые, новые, и новые. И обо всех них будут говорить, что ни лучше, проще, круче, но нужны они или нет решать будут не теоретики, сэрая масса тык сызыть, т.е. мы с вами. С++ прошел проверку временем, т.е. огнем, водой и медными трубами. Шарп и Ява вообще не языки если смотреть в корень, а их успех пока основан на баксовой накачке. Через десять лет с этими экспонатами все решиться само собой. Они лили вымрут или будут жить. Серьезно можно говорить только о тенденциях. Мое мнение, что все идет к тому, что фирмы рипа MS и Sun стремятся вытеснить С++ в нишу низкоуровневого программирования, для крутых гуру. Естественно, что в подсознании у них живет мысль, что такие программисты если уже не работают на них, то будут работать только у них... Шарпы, Васики, Дельфи, Явя — это для прикладного уровня. Эфил и другие Перлы — для любителей экзотики. Ну, и т.п. Скорее все будет если не совсем так, то очень похоже. Но перспективы MS здесь несколько более радужные (напомню, по-моему). Об этом очень хорошо сказал Дон Бокс: "Sun делает Яву для продажи, а MS .Net для себя (в том числе), т.е. Sun сам пишет на C/C++, а остальным толкает Яву. MS же делает платформу для себя.". И это действительно так. Но это не человеколюбие.

Я бы перефразировал его так... "MS понимает, что рано или поздно Windows будет кем-то вытеснен. И MS делает новую платформу, чтобы вытеснить свою Windows, т.е. сделать тот же фарс как в девяностых, когда они добились, что все начали говорить о конкуренции NT и 9x. Ява и Линукс, будучи не самыми идеальными реализациями (мягко скажем), тем не менее сильно давят MS на хвост. И .Net (но не та сказка для дебилов которая выдается в пресс-релизах), а тот .Net который позлят скомпилировать любую Windows-программу в переносимый независимый от машины код, и тот который, за счет верификации, позволит в будущем избавить MS от обвинений в большем количестве багов. По сути .Net это больше чем программная платформа. Это и полнофункциональная переносимая ОС (причем перенасимая под драйверные носители типа Ликукса или OS/390), и свой ассемблер (плевать мы хотели на разные Интелы), и стандарт на библиотеки (большой привет Страуструпам), скрипты работающие со скоростью C++-программ (пламенный привет PHP, Пилону и Перлу для всех платформ несовместимых с .Net), и скрптлеты (пользуясь случаем, привет Sun-у). Короче, не даром MS вбухивает в эту технологию такие бабки. А Эфил... Что Эфил? Это всего лишь один язык который уже работает под тем же .Net. Ну, а C++ в .Net — это клей позволяющий легко связать старое с новым миром и средство оптимизации дающее возможность того самого ВЫБОРА которого небыль, нет и не будет в VB. В .Net можно создать класс на C++, изменить его функциональность (через наследование) в Шарме или Эфиле, и потом снова использовать его из С++.

Так, что рассуждать какой язык лучше просто бессмысленно. На сегодня это уже не важно. Сегодня речь идет о выборе платформы. Ну, а завтра пойдет еще о чем ни будь и кроме флйма и бесполезных споров такие обсуждения ничего не дадут. IT уже как-то говорил, что все предубеждения со временем пройдут, а для тех кто не хочет с этим мерится я советую зайти на ixbt и сделать поиск по постингам тов. Рыбинкина, который и сейчас убеждает, что лучше С и его замечательного интерпретатора на С-шных массивах ничего нет.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: c++ - так уж ли он крут?
От: IT Россия linq2db.com
Дата: 12.03.02 21:43
Оценка: 9 (2)
Здравствуйте VladD2, Вы писали:

К>>...и даже из рсдн склоняют к мысли, что всё-же при всей мощи c++ — это далеко не лучшее решение, многие вещи реализуемы гораздо проще.


VD>Да пойми ты...


[skip]
Фундаментально

VD>IT уже как-то говорил, что все предубеждения со временем пройдут...


Могу добавить: и появятся новые!
И самое прикольное, что в следующий раз, после того как появится что-то ещё на смену .NET её будут защищать те, кто на ней выростет. А те, кто сейчас защищает C++ и Windows уже не будут так активны и просто спокойно перейдут на новую технологию, в первый раз что ли
Если нам не помогут, то мы тоже никого не пощадим.
Re[5]: c++ - так уж ли он крут?
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.03.02 21:57
Оценка:
Здравствуйте IT, Вы писали:

IT>Могу добавить: и появятся новые!


Дык!

IT>И самое прикольное, что в следующий раз, после того как появится что-то ещё на смену .NET её будут защищать те, кто на ней выростет. А те, кто сейчас защищает C++ и Windows уже не будут так активны и просто спокойно перейдут на новую технологию, в первый раз что ли


я плякаль.

PS

Блин. Хоть бы одним галзком глянуть на будущего задогмаченного ортодокса .Net.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: c++ - так уж ли он крут?
От: Курилка Россия http://kirya.narod.ru/
Дата: 13.03.02 09:35
Оценка:
Здравствуйте VladD2, Вы писали:

VD>Здравствуйте Курилка, Вы писали:



К>>...и даже из рсдн склоняют к мысли, что всё-же при всей мощи c++ — это далеко не лучшее решение, многие вещи реализуемы гораздо проще.


VD>Да пойми ты... идеала достичь нелья! К нему можно и нужно стремиться, но если кто-нибудь его достигнет, то просто подымится планка того самого идеала.


Я и не говорю, что его достичь можно — просто моё мнение, что надо хотя бы к нему стремиться, а Си++ в этом отношении ИМХО не очень двигается. Выражаясь фигурально от него иногда попахивает "архаикой". А всё благодаря ригидности и многочисленности пишущей на ней братии.
[skip]
А с остальным я практически полностью согласен.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.