LINUX.ORG.RU
ФорумTalks

Справочник холиворщика по борьбе с C++


0

0

Попался тут чудный ресурс. Вопросы-ответы из FAQ по С++, и к ним развёрнутые комментарии о том, что на самом деле всё отнюдь не так чудесно, как нас пытаются уверить авторы FAQов. Всем любителям и нелюбителям C++ рекомендуется к прочтению. =)

http://yosefk.com/c++fqa/

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

> ADA, D, Eiffel, OCaml - со сборщиками мусора, т.е. медленнее по определению в любой реализации

Ada (а не ADA, отучаемся писать в капсе, это женское имя, а не аббревиатура) -- по стандарту НЕ ТРЕБУЕТ сборщика мусора. Наличие сборщика мусора стандарту не противоречит, но подавляющее количество программ могут нормально работать как с ним, так и без него. Как правило, на нативных платформах без GC, а на Java & .NET от GC никуда не денешься.

Eiffel ЕМНИП тоже без сборки мусора по дефолту.

Зачем писать неправду?

> Objective С - болото Objective C -- те же Delphi, только с другим синтаксисом. ObjC 2.0 теперь и со сборкой мусора.

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

> Итого: имеем первый широко распространенный статически типизированный ООП-язык, который сравнивают с современными аналогичными (и не аналогичными) языками и на этом основании называют дерьмом, забывая одну важную вещь - он был _первым_, благодаря именно ему ООП пошло в массы.

http://progopedia.ru/dialect/ada95/

> По иронии судьбы разработчики языка Ada 83 были хорошо знакомы с ОО-идеями. Хотя это не всем известно, Ичбиа создал один из первых компиляторов для Simula 67 - первого ОО-языка. Позже, когда его спрашивали, почему он не представил ОО-проект Департаменту Обороны, он объяснял, что в контексте конкуренции такой проект посчитали бы настолько далеким от основного направления, что у него было бы шансов на победу.

Так что был бы C++ или нет, Ада 95 была бы с ООП.

> > Появились языки лучше => С++ идёт в музей.

> Чтобы отправить Си++ в музей, новые языки должны быть не просто лучше - они должны быть _гораздо_ лучше, причем по многим параметрам - не только чисто языковым но и технологическим (соместимость, инструментальная поддержка). Таких языков пока что нет - надежда на D пока не оправдывается, Cyclone - интересный, но мертвый.

А кто надеялся на D, и кого интересовал Cyclone? Это всё посредственности на пути к Аде. "C++ с человеческим лицом" и "Безопасный C" (а также "Паскаль, доведённый до ума") уже давно существовали в её лице. Если кому-то нравится изобретать велосипеды, ну пожалуйста, пусть себе играются, чего на них внимания-то обращать?

Так же, как Java -- посредственность на полпути к Lisp. Настоящих гиков посредственности на полпути не останавливают.

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

> имеем первый широко распространенный статически типизированный ООП-язык

Ну, статически типизированный -- далеко не первый, а определение ООП пришлось несколько подрихтовать, чтобы C++ стал ООП-языком. Кстати, у этого ООП-языка стандартная библиотека построена не в ООП-стиле, одна из наиболее популярных коллекций дополнительных библиотек, Boost, также не имеет ничего общего с ООП. Почему? Потому что ООП в C++ убогое и непригодное для написания хоть сколько-нибудь универсального расширяемого кода.

> он был _первым_

Не был.

> благодаря именно ему ООП пошло в массы.

Не ему, а массированной рекламе. Был бы не C++, выбрали бы другую мишень. Правда, C++ оказался очень удобен для рекламщиков тем, что якобы совместим с C. Ужасающие последствия этого мне приходилось наблюдать.

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

> Так что был бы C++ или нет, Ада 95 была бы с ООП.

Не важно, что было _бы_. Важно то, что реально было. И в реальности, Си++ был раньше Ады95.

> А кто надеялся на D, и кого интересовал Cyclone?

Видимио, не ты. Видимо, не тебя. Но ты не единственный программист в этом мире.

> Java -- посредственность на полпути к Lisp. Настоящих гиков посредственности на полпути не останавливают.

Хотя я и согласен по поводу Явы, но кто ты такой, чтобы так говорить о Стиле? :) /me приглявывается к нику...

watashiwa_daredeska **** (*) (29.10.2007 7:48:21)

>> имеем первый широко распространенный статически типизированный ООП-язык

>Ну, статически типизированный -- далеко не первый, а определение ООП пришлось несколько подрихтовать, чтобы C++ стал ООП-языком.

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

> Кстати, у этого ООП-языка стандартная библиотека построена не в ООП-стиле, одна из наиболее популярных коллекций дополнительных библиотек, Boost, также не имеет ничего общего с ООП.

Потому что Си++ - это язык ООП, но не только ООП. Ты ведь это знаешь, но сознательно троллишь, Зачем?

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

> он был _первым_
Первый блиндаж комом.

> > А кто надеялся на D, и кого интересовал Cyclone?
> Видимио, не ты. Видимо, не тебя. Но ты не единственный программист в этом мире.

'Cyclone', a safer C--reinventing the wheel :

http://groups.google.com/group/comp.lang.ada/msg/ca3db59dd03d8ad1

> So now scientists at Cornell have come up with a "a new computer 
> language designed to avoid unforeseen programming errors". 
> 
> How?  "The Cyclone compiler identifies segments of code that could 
> eventually cause such problems using a 'type-checking engine'.  This 
> does not just look for specific strings of code, but analyses the code's 
> purpose and singles out conflicts known to be potentially dangerous." 
[...]
> I'm sure this is not just "C with constraint checking", but still, Ada's 
> "type-checking engine" has been getting exercised, optimized, and 
> verified for almost 20 years now. 
>
> You just shake your head sometimes... 

http://groups.google.com/group/comp.lang.ada/msg/3bdf93fb859d0776

> That is not the impression I got from this post. Rather, it was, "How 
> can they claim this is new when Ada has had it since Ada-80?" 
> 
> It reminds me more of reactions to an article a few years ago (sorry, no 
> reference right now) on adding concurrency to C++ that was obviously an 
> implementation of Ada-83 tasking in C++ terms, even using "entry", 
> "accept", "select", "rendezvous", and so on, but that made _no mention or 
> reference to Ada_, instead presenting the ideas as _new and original_ with 
> the author.

http://cyclone.thelanguage.org/wiki/Why%20Cyclone

> Cyclone thus tries to fill _an empty niche_: the safe language that with
> C's level of control and efficiency.

http://www.xakep.ru/post/38388/default.asp

> главной причиной, в конечном счете, оказывается умственная инерция
> программистов, в начале карьеры подвергшихся "заражению холерой C".

Игнорировать Аду -- это метод страуса наоборот: зарывать голову в песок,
прячась от решения, а не от проблемы.

> Хотя я и согласен по поводу Явы, но кто ты такой, чтобы так говорить о Стиле? :)

Одна из известных цитат :

http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/msg04045.html

> And you're right: we were not out to win over the Lisp programmers;
> we were after the C++ programmers.  We managed to drag a lot of them
> about halfway to Lisp.  Aren't you happy?
>
> --Guy Steele

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