![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
kemiisto, мощь С++ в том, что он очень гибок. Но в этом и недостаток - за все надо платить. Поэтому он не может быть инструментом инженера - для работы с ним нужно иметь соответствующее образование (я не про диплом). Инструмент инженера - паскаль.
Никто же не будет спорить, что у сварочного аппатара есть существенные минусы, которые могут вылиться в серьезные проблемы, если не следовать правилам по эксплуатации. А сварочный аппарат, в отличие от языка программирования, обладает всего тремя функциями, в лучшем случае: сварка, резка и нагрев. И я бы не пытался сравнивать простые инструменты, вроде молотка, со сложными. Для каждого из них требуется разный уровень подготовки. |
|||
|
||||
lv151 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 916 Регистрация: 11.2.2008 Репутация: нет Всего: 2 |
Приемы объектно-ориентированного проектирования. Паттерны проектирования
Design Patterns. Elements of Reusable Object-Oriented Software Эрик Гамма, Р. Хелм |
|||
|
||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
Было уже. Пункт №7. |
|||
|
||||
and277 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 9.4.2009 Репутация: нет Всего: нет |
Нда... Для меня тоже если честно вопрос этот навис. Дочитываю Самоучитель С++ Шилдта. До неё проработал еще одну книжку. Скоро должны привезти Лафоре "ООП" и для себя буду изучать книгу по Дискретной математике.
Вообщем Страуса буду читать позже этих книг... |
|||
|
||||
gosn1ck |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 18.4.2009 Репутация: 1 Всего: 1 |
хороший топик, модераторам советую прикрепить и почистить
![]() |
|||
|
||||
56kbyte |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 25.5.2009 Репутация: нет Всего: нет |
А как вы относитесь к intuit.ru? Там есть несколько не плохих, на мой взгляд, курсов. Да и написано всё просто и доступно + придётся обязательно выполнять задания.
![]() |
|||
|
||||
gosn1ck |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 18.4.2009 Репутация: 1 Всего: 1 |
спокойно, особенно после того как увидел курс "C++ для профессионалов"
![]() ![]() |
|||
|
||||
56kbyte |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 25.5.2009 Репутация: нет Всего: нет |
Ну так ... (http://www.intuit.ru/department/pl/cpp2/class/free/0/) ... Курс, созданный по книге Б. Страуструпа "Язык программирования С++", дает описание языка... |
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 5 Всего: 160 |
bsa, почитайте на досуге. Я прослезился не один раз. ![]() -------------------- |
|||
|
||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
||||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 5 Всего: 160 |
А теперь, уважаемый, соизвольте подкрепить своё заявление аргументами. Где там бред и почему? Это сообщение отредактировал(а) kemiisto - 30.5.2009, 08:32 -------------------- |
|||
|
||||
zim22 |
|
||||||||||||||||||||||||||||||||||||||||||||||||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
c удовольствием напишу. только после работы. в часиков 7 вечера. *** тара! барабанная дробь! статья готова! уважаемый kemiisto, прошу любить и жаловать:
Сейчас библиотеки для работы с «форточками» написаны в большом количестве, выбирай-не-хочу.
Средства, заложенные в язык – представляют собой квинтэссенцию знаний и опыта лучших программистов со всего мира. И ничто не мешает реализовывать гибкие, масштабируемые системы на С++.
Язык считается объектно-ориентированным, если он поддерживает: 1) Абстракцию 2) Наследование 3) Полиморфизм реального времени Так что С++ поддерживает ООП.
Объектная модель чего? В Visual Basic все типы данных реализованы как объекты, однако это всего-лишь удобный способ обращения к их функциям и это не значит, что он объектно-ориентированный. Если это будет необходимо - ничто не мешает создать свои классы на С++ для встроенных типов данных.
Автор скорей всего имел ввиду различие между АТД и классом, а не объектом. Эти понятия должен различать программист, а не язык.
Автор статьи почему-то не удосужился ознакомиться с расширенными идиомами С++, позволяющие эффективно реализовывать динамическое связывание объектов и управление ими в режиме реального времени, а не компиляции. В частности к этому относятся следующие идиомы (Coplien “Advanced C++ Styles and Idioms”) 1) Идиома сообщества прототипов: группа взаимосвязанных прототипов объединяется единым представителем, называемым распорядителем сообщества. 2) Идиома автономных обобщенных прототипов: каждый прототип наделяется «интеллектом», позволяющим ему проверить свои параметры и определить свою принадлежность к категории сообщества. 3) Идиома фреймовых прототипов: аналог механизма поиска методов в Smalltalk 4) Динамическое множественное наследование
Все случаи генерирования кода оговорены в Стандарте. Их не так уж и много. Это проблемы программиста, если он не знает, что генерирует компилятор.
А если программист напишет ГОСПОДИ, СПАСИ МЕНЯ и будет надеться, что его код скомпилируется и из воздуха материализуется Бритни Спирз. Это проблемы программиста. Его недообразования.
STL тоже нужно уметь пользоваться.
Ничего подобного. С и С++ это два разных языка. Сейчас в современных учебниках по С++ программирование в стиле С вообще не рассматривается.
Эти 3 вещи необходимо писать лишь тогда, когда класс в них нуждается. В противном случае их можно запретить, поместив в private секцию и не снабдив телом функции.
Вполнет терпимо. В С++0x можно уже будет писать так, как хочет автор.
Кто это сказал? Маша на заборе мелом написала?
Да что вы говорите! А как же SFINAE? Специализации шаблонов класса могут служить для извлечения из типов информации любого уровня сложности. Например, может понадобиться знать не только о том, является ли определенный тип массивом, но и, если это массив, какие элементы в нем хранятся и где лежит его граница:
Тупые наезды на С++… Тогда уж метапрограммированием.
Кто вас заставлял переопределять «оператор запятая»?
Ой, какое трудное делегирование, и не говорите:
Смотрите выше, SFINAE
Это относится к понимаю объектно-ориентированного проектированию. С++ здесь ни при чём. *** Извините, я больше не могу читать этот БРЕД и комментировать его ![]() Это сообщение отредактировал(а) zim22 - 30.5.2009, 10:16 |
||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||
azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
kemiisto
![]() Рандомно выбрал строку
дальше читать не стал. Этого достаточно чтобы составить мнение.
проблемы не у множественного наследования а у тех кто не умеет его применять. Интерфейсы - это всего лишь абстрактные классы содержащие только чисто виртуальные функции, без переменных-членов. Если в Шарпе для этого выделили отдельное имя - это не значит что в шарпе они есть а в С++ - нет. Добавлено через 1 минуту и 50 секунд Такое впечатление что статью написал человек, у которого не нашлось достаточно ума изучить язык и понять его семантику. |
||||
|
|||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
kemiisto, читать статью невозможно, из за фактически абсолютной неграмотности автора. При том не только по отношению к cpp, но и к другим языкам и понятиям использованных в статье.
Это сообщение отредактировал(а) mes - 30.5.2009, 14:01 |
|||
|
||||
kemiisto |
|
||||||||||||||||||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 5 Всего: 160 |
Да, но кроме Qt - всё уг сплошное.
Это лозунг. Хорошо заученная речёвка, а на деле, ещё раз повторюсь, даже компетенция Трупастрауса под сомнением. В особенности, к моменту начала создания языка. Что я в очередной раз продемонстрирую чуть ниже на примере понимания концепций ООП.
Ну да, ну да. А Java, C#, Python, D сам дъявол придумал, дабы искусить. ![]()
Знаете что, уважаемый. Тут вот mes чуть выше усомнился в грамотности автора. А я теперь смею усомнится в Вашей... Тут видите какая штука, в науке не работает принцип "Кто последний - тот и папа". Работает другой, но не менее известный. "Кто первым встал - того и тапки". А первым (в случак с ООО) встал Алан Кей со товарищи, группа разработчиков Smalltalk. Итак, барабанная дробь:
Читать фсё тут. Итак, в чём идея. Страуструп - сын Дании и он, конечно же, был в курсе про норвежскую СИМУЛУ. Вот только там, на тот момент, не было ни понятия класса, ни понятия объекта. Были активности и процессы. Потом был Смолток. Там заралидось ООП, и терминология Симулы к тому ыремени тоже изменилась. Там тоже появились объекты, но там не появилось ООП. Просто потому, что этот термин (и всю сопутствующую терминологию) Алан Кей уже создал. Но Страуструп об этом не знал (не он один, естественно). А когда узнал, понял. И не он один. И появилась расхожая формулировка, что "ООП реализовано в стиле Simula." Что является бредом. Взгляните на название книги: Дал У., Дейкстра Э., Хоар Т. - Структурное программирование (1975). Какое программирование? Первый автор - разработчик Симулы. И не о каком ООП речи и не шло. Зачатки были, идеи витали в воздухе. Но это было не ООП. ООП появилось в Смолтоке. И его 3 кита чуть выше в цитате. С++ - не объектно-ориентированный язык. Что значит чего? Объектная модель языка. То есть то, каким образом реализована поддержка ООП. Какими языковыми средствами. Вот автор и говорит - объектная модель С++ - уг. И что спорить то? Множественне наследование, в том виде, в котором оно в С++ - это просто зло.
Автор, как и все мы, смертен. Времени за 15 лет работы с языком у него не хватило... Я уже про это ни раз писал. Чтобы изучить все эти ваши "расширенные идиомы" жизни может не хватить.
Судя по объёму стандарта - много. По сравнению, скажем, тут не плеваться Oberon'ом, неимоверно много.
Да нет же. Это проблемы языка, который настолько... кхм... "суров", что даже ваши "лучшие программисты со всего мира" не могут написать простой и прозрачный компилятор. А вообще, после этой фразы с Вами разговаривать бесполезно... Перечитайте! Это просто феерический бред. Ну это только если на ++ пишете. А так, вообще, жить можно и без них. В других языках. Но тут важно другое. Когда посторонний человек (не относящийся к тем самым "лучшим программистам") смотрит на STL, его не покидает одна навязчивая мысль: это БРЕД! По себе знаю... ![]() Так можно уже или можно будет? Вы уж как-то определитесь. И Вы и Ваши "лучшие программисты", входящие в коммитет по стандартизации С++. Будет стандарт то? А то ведь 0x... а 09 год уже вот-вот за половину перевалить. И будет уже черновик стнадарта С++1x. ![]() Это вопрос не ко мне. Скорее, к Вам. Ну, точнее, к автору...
Это Вы, уважаемый, учитесь. Не коряво написанные header'ы – вина программиста, а убогая реализация модульности (и частично инкапсуляции) с использованием заголовочных файлов вина создателя С++. Имя в суе не произношу, сами знаете... Опять моя навязчивая идея с сучковатой шваброй не даёт мне покоя... =) Каюсь, на Ваш бред меня тоже не хватило... ![]() -------------------- |
||||||||||||||||||
|
|||||||||||||||||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |