![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
sidiakin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 16.10.2005 Репутация: нет Всего: нет |
Вот мне нравится язык С++, но то как там сделано ООП прост ужас. Вот мне интересно люди кто работает С++ -программистами действительно пишут в стиле ООП или это не обязательно? Я бы с удовольствием работал на Си, но если ООП для Сишников обязательно, то лучше какойнить C#
И вот интересно. В новом ЯП Go отсутствует ООП. Получается что ООП себя не оправдало? Оказалось что оно никому не нужно |
|||
|
||||
Amp |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: 3 Всего: 17 |
Каждый новый класс в коде - это +0.01% к окладу для C++ программиста, вот и пишут в ООП стиле. Плюются, но пишут. А по вечерам собираются за столиком на кухне и рассказывают друг-другу байки про программистов на Go, которым не надо писать классы и которых лично никто не знает. Это сообщение отредактировал(а) Amp - 13.8.2013, 22:27 |
|||
|
||||
kemiisto |
|
||||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 2 Всего: 160 |
И в чём же ужас?
Пишут. Обязательно или нет - это зависит от задачи. Это откуда информация? Я бегло глянул, есть там ООП. Наследования нет. Так оно к ООП имеет опосредованное отношение. Нужен полиморфизм, а как он реализован на языковом уровне - дело десятое. А полиморфизм в go есть. Вывод странный. "Классическое" ООП на манер C++/Java, да, пожалуй не самое оно, но к ООП вообще это отношения не имеет. Это сообщение отредактировал(а) kemiisto - 13.8.2013, 23:14 -------------------- |
||||
|
|||||
NoviceF |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: нет Всего: 2 |
||||
|
||||
jsharp36 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 8.10.2011 Репутация: нет Всего: 1 |
Пока альтернативы особой ООП нет. Например, функциональные языки - отличная штука, но всё составляется из функций - это математика. ООП - всё составляется из функций и объектов - это близко к естественному языку - предложения требуют подлежащего и сказуемого. Это ад, конечно, с т.з. правильности моделирования. В естественном языке и свет светит и ветер дует (хотя нет объекта ветер и действия дуть, также как нет объекта свет и его отдельного действия свечения). В ООП этот ад на проектах всяких энтерпрайзов в моделях тоже проявляется. В объектах "бизнес-правило", в паттернах.
Но что поделать, так устроено мышление большинства людей. А значит удобно, низкий порог вхождения. С++ и С# мало чем в ООП отличаются, кроме отсутствия в последнем множественного наследования. Если это хорошо, то в первом есть возможность его не использовать. Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 2 Всего: 160 |
Точнее, в C# (как и в Java) нет множественного наследования реализации, а есть только множественное наследование интерфейса. Но это тоже палка о двух концах, так как часто пораждает кучу одинакового кода в классах, реализующих один и тот же интерфейс. Поэтому многие новомодные языки поддерживают механизм примесей (mixin). C#, вроде, даже и сам как-то там поддерживает на уровне библиотек. -------------------- |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
jsharp36, ООП к языку не имеет никакого отношения. Другое дело, что в одних языках его использовать удобней, чем в других. Посмотри например на SDL и на ядро Linux - типичные ОО программы, но на языке С.
Так что тут дело в головах, а не языках. |
|||
|
||||
jsharp36 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 8.10.2011 Репутация: нет Всего: 1 |
Я не утверждал, что ООП гвоздями прибито к языку. Но вообще, отношение имеет. Язык определяет мышление. Т.е. инструмент определяет, как им удобнее пользоваться. Да, я в своем сообщении подразумевал ООП джавовского, С++-сного типа. И популярность ООП связана с нашим естественным мышлением и его недостатками. Отсюда и недостатки ООП. Любая парадигма не имеет прямого отношения к языку. Но тем не менее, одни языки предрасполагают к ООП, другие нет. Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |