![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Тогда Fortran IV должен вообще конкретно рулить - в нем вообще ничего нет |
|||
|
||||
| neutrino |
|
||||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: 1 Всего: 62 |
Kipter,
Согласен полностью.
Нu не надo только переиначивать мною сказанное. Я не на столько категоричен. ОК. Народ, я вас понял. Просто я сейчас учу курс по ООП Только вот толковых там очень мало. Правильно. РОвно также каk i ассемблер ничегo не требует. Ну таk нa нем i ООП никто не пишет (кроме маньяков конечно). ОК. Прокомментирую тот комментариj
У меня был просто вопрос касательно того как правильно в моем случае перегружать оператор. Еще раз повторюсь, чтo пример не из реальной жизни, а задание с курса ООП. И так, u класса А есть какие-тo поля. Класс Б, который наследуется от А не добавляет никакиh данных а только расширяет функционал. Именно поэтому нет смысла перегружать оператор у потомка. Такая ситуация вероятна. Так вот единственный кто ответил по делу был конечно максим1000 за что емu большой респект (я думал оn только в алгоритмах ас). А осилил ли я операторы? Думаю, что не настолько, чтобы ответить нa поставленныj мною вопрос. Нo это не имеет отношения k Java. Java действительно больше подходит для ООП и частично потому, что таm неt перегрузки операторов, как я и написал в том посте на который АнриалМэн поставил мне -. Я вот только не понимаю какую смысловую нагрузку несет в себе егo комментарий. Треп. -------------------- The truth comes from within ... Покойся с миром, Vit |
||||
|
|||||
| xvr |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Тогда посмотри в сторону template'ов и метапрограмирования. После этого перегрузка операторов покажется детским лепетом
Если нужен 'правильный' ООП - смотрите Smalltalk или Simula |
||||||
|
|||||||
| neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: 1 Всего: 62 |
Вот именно! Разве волосы на голове должны вставать дыбом от хорошего кода? Кенн называет такой код - "код с душком". Хороший код должен быть легко поддерживаем и следовательно понятен. И как раз для этого вместо темплейтов в Java/C# введены generic классы.
Ладно, давайте сворачивать дискуссию. Это сейчас перейдет в религиозную войну. -------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 2 Всего: 160 |
Сучковатой бы шваброй за такое этого лектора. Что значит "более поддерживаемый"? Не знаю, кто такой Кенн, но в этом вопросе я с ним солидарен (хоть и не совсем). Ну, не совсем так. Всё действительно стоящее из этих языков уже взято. Только не в С++ и не в Java... -------------------- |
|||
|
||||
| neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: 1 Всего: 62 |
kemiisto, Ну все, понеслась
-------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 35 Всего: 60 |
||||
|
||||
| UnrealMan |
|
||||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 722 Регистрация: 30.3.2006 Репутация: 27 Всего: 32 |
Почему add у тебя эквивалентно +=, а не +? И почему для встроенных типов я должен использовать +=, а для пользовательских - add?
Перегруженные операторы много где используются помимо математических расчётов. В частности, перегрузка *, ->, ++, ––, +, –, () позволяет использовать пользовательские итераторы и функторы подобно сущностям встроенных типов. Единый синтаксис снимает необходимость дублировать код или использовать адаптеры для приведения одной формы синтаксиса к другой.
Ты проверял что ли? Или всё твоё "я думаю" основано на самоубеждении, что жаба - идеальный ЯП, и раз там нет перегрузки операторов, то перегрузка операторов - это зло? А какое отношение Java имеет к разделу C/C++? Для фанатов с лозунгами типа "жаба рулит", "линукс рулит" и т.п. есть флеймерские разделы.
Что за гениальный бред? Каким образом операторный синтаксис вызова функции связан с поддержкой языком ООП?
Трёп как раз-таки у тебя: сам едва разобрался с основами перегрузки операторов, а уже горазд делать авторитетные заявления о дизайне ЯП. |
||||||||||
|
|||||||||||
| kemiisto |
|
||||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 2 Всего: 160 |
Smalltalk действительно интересен. Эдакая игрушка, язык концепция. Всё есть объект. Концептуально просто, но практическая применимость такого подхода ограничена. Хотя ООП, не возведённое в абсолют, интерес представляет. Когда я говорил, что всё действительно стоящее взято, то подразумевался Вирт (кто-то смоневался? Прежде чем продолжит, следует "обелить" Страуструпа. Он в общем-то не так уж плохо поступил с С, тоже добавил только самое существенное. По началу. А потом понеслось. Да и у С++ есть огромный минус - неимоверно трудно реализовать прозрачную поддержку идей ООП в языке без модулей. Но... Вернёмся к Вирту. Во время своего годичного отпуска (sabbatical) в 1976-1977 Вирт был в Xerox PARC. Видел ли он Смолток? Да. Быть в конце 70-х в Xerox PARC и не видеть Смолток - это что-то из разряда фантастики. Но об этом чуть позже. Куда больше в тот момент его заинтересовал другой язык - Mesa. Так как там было то, чего так недоставало Pascal'ю - там были модули. Mesa был наследником Pascal и поэтому Вирту не потребовалось много времени, чтобы разобраться, что к чему. Modula-2 стала результатом. Концепция модульности во всей своей красе. И ещё Виртом с коллегами была создана рабочая станция Lilith... В 84-85 годах Вирт во второй раз приезжает в Xerox PARC. Вот теперь предметом его пристального внимания становится рабочая станция Cedar. Она сделана сотрудниками Xerox PARC и там оконная система реализована на Smalltalk. В Oberon "перетащили" только самую суть - появились расширяемые записи.
и поля-процедуры:
Подробнее можно почитать в трудах HOPL III. -------------------- |
||||
|
|||||
| neutrino |
|
||||||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: 1 Всего: 62 |
UnrealMan, Сбавь тон своих авторитетных постов. Что-тo от твоего поста столько пены, чтo приходится монитор протирать.
У нас один девелопер использовал перегрузку операторов в многопротокольной системе. Так вот теперь, когда надo разбираться в этоm фреймворке, там черт ногу сломит. Потому, что въехать когда что и где у него вызывается из-за перегрузки операторов очень не просто. Я привел аргумент, что в Java (нe Жаба) как раз был сделан упор на то, чтобы код был легко поддерживаемый.
Я не знаю. В одном из моих постов v тэгах "оффтоп" я ляпнул что-то прo Java. Видимо зря. Я был уверен, что тэг "оффтоп" в темe должен быть проигнорирован. Нo как оказалось есть некоторые сишники, которых дo глубины души задел этот оффтоп и они снесли мне репу
ОК, многоуважаемый мегасуперавторитетный моСК С++, узри в постах выше, что говорится о задании по ООП...
Не перевирай моих слов i не экстраполируй мое мнение. Я ни словом не заикнулся o дизайне ЯП. Я лишь сказаl свою ИМХу, что С++ менее приспособлен к ООП, нежели Java/C#. [оффтоп] П.С. А линукс действительно рулит [/оффтоп] -------------------- The truth comes from within ... Покойся с миром, Vit |
||||||
|
|||||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Это девелопер виноват Перегрузки операторов в C++ используются сплошь и рядом и дизайн библиотек, в которых их перегружали от этого ничуть не пострадал. Для примера возьмите boost. Но вопрос и меня заинтересовал, как может наличие чего-либо испортить язык программирования? Даже если это Г. Не используйте, ради бога..кто же вас заставляет? Никто ведь не заставляет людей писать макросы. Язык дает возможности, которыми надо пользоваться с умом. |
|||
|
||||
| neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: 1 Всего: 62 |
[яуоте=азесмцар, 27.10.2009, 14:55, пост2006182]Но вопрос и меня заинтересовал, как может наличие чего-либо испортить язык программирования? Даже если это Г. Не используйте, ради бога..кто же вас заставляет? Никто ведь не заставляет людей писать макросы. Язык дает возможности, которыми надо пользоваться с умом.[/яуоте]
Потому что приходится производить лишний контроль над девелоперами, чтобы они этo Г. не использовали. Я не знаю как u всех, нo у нас порядочно ###кода, которыj надо поддежвать, i поверьте этo сомнительное удовольствие... -------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 2 Всего: 160 |
azesmcar, в очередной раз ты сам себе противоречишь.
Вот ты пишешь, что Чем же это он так провинился? Если язык позволяет писать быдлокод, 99% будут писать именно так. Ну, во-первых, комментарий чуть выше. А во-вторых, я не говорю, что С++ портит само наличие перегрузки операторов, обобщёного программирования и т.п. Его портит из рук вон плохая реализация принципиально полезных концепций. Перегрузка сделана через одно место, про темплейты я (в очередной раз) молчу. Добавлено через 1 минуту neutrino, использую синонимы. Например, быдлокод. -------------------- |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Ну так это во всех языках и во всех сферах так, дизайн можно испортить много чем, в том числе и обыкновенными функциями, теперь и функции запрещать? Добавлено через 2 минуты и 50 секунд где это ты противоречие заметил? не надо голословных утверждений, пальцем покажи.
Любой язык это позволяет. Хочешь быдлокод на Erlang-е или ColdFusion-е? У меня тут на работе 50 индусов день и ночь трудяться, ты только скажи на каком языке тебе быдлокод показать. |
|||
|
||||
| neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: 1 Всего: 62 |
[Б]азесмцар[/Б],
[яуоте=азесмцар, 27.10.2009, 15:10, пост2006207]Ну так это во всех языках и во всех сферах так, дизайн можно испортить много чем, в том числе и обыкновенными функциями, теперь и функции запрещать?[/яуоте] Я понимаю. Конечно я и нa C# могu такой быдлокод (спасибо, kemiisto) написать... Попробую провестi аналогию. Ест' автомат калашникова. I вот вышлa улучшенная версия с курком, при нажатиi на который, автомат нчнает стрелять только по командирам. Вот такой хитрый автомат с распознаванием звания... И вот новая операция Цахал в секторе Газа. Наши все с теми же "веслами" (М16), а ХАМАСовцы с новыми калашами. Все бы ничего, так только ХАМАСу никто не объяснил толком как пользоваться этиm курком. А оказывается, если командиров противникa по близостi нет, тo оn начинает мочить своих командиров. Вот i все. Сионисты опять победили. -------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |