Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Языки программирования, Вот это будет война так война :) 
:(
    Опции темы
AntonSaburov
Дата 7.10.2004, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 2
Всего: 118



Только не надейтесь, что я буду сравнивать Pascal и C++
Война будет более глобальной smile.gif

Я предлагаю высказаться тем, кто ЗА объектно-ориентированные языки и кто ПРОТИВ.

Для затравки - я ЗА. И вот почему:

1. Объекты позволяют строить гораздо более мощные системы
2. Повторное использование кода улучшается и возрастает
3. Рапараллеливание процессов гораздо более удобно, что позволяет масштабировать задачи.
4. Объект внутри себя позволяет использовать все что душе угодно - те же процедурные языки или функциональные.

PM MAIL WWW ICQ   Вверх
Akina
Дата 7.10.2004, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: нет
Всего: 454



В таком разе подкорректируй сабж - чтобы было понятно о чем тред.

И потом - с какими типами языков ты хотел бы сравнивать объектно-ориентированные?

По твоим тезисам есть масса возражений - однако они сформулированы слишком общо, пальцы жалко biggrin.gif

Это сообщение отредактировал(а) Akina - 7.10.2004, 11:04


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
maxim1000
Дата 7.10.2004, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: нет
Всего: 110



сначала хотел написать
Цитата
а кто за Windows или за Linux smile.gif, нужно указать область применения

потом, как водится, подумал...
я за то, чтобы использовать объектно-ориентированный подход практически во всех сферах программирования
однако, в той области, в которой я сейчас работаю (разработка встроенного ПО для устройств с мультимедийными функциями), часто возникает одно НО (чисто психологическое):
если программист использует какие-то объекты, то он, по идее ООП, не должен даже думать о том, как все там внутри реализовано, приводит это к тому, что он не чувствует того, какие операции исполняются долго, какие быстро (ведь он не знает и не хочет знать, как они выполняются smile.gif), это может привести к большой неоптимальности:
пример: есть класс вектор (в математическом представлении), у него есть свойство модуль (корень из суммы квадратов координат), а программисту для чего-то понадобилось вычислить квадрат модуля вектора, что он сделает? возведет длину вектора в квадрат smile.gif
однако, это абсолютно не означает, что я не использую ООП при проектировании программы, которую в последствии, возможно, напишу на ассемблере

резюме: я за то, чтобы использовать ООП (в смысле подход, а не программирование), но и за то, чтобы очень осмотрительно применять ООП-языки при разработке в специфических областях


--------------------
qqq
PM WWW   Вверх
Secandr
Дата 7.10.2004, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: нет
Всего: 39



Соласен с maxim1000 , всё должно быть вмеру.
Вот зачем мне пименять классы в пхп, если я хочу просто обработать форму и напечатать результа на экран?


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
AntonSaburov
Дата 7.10.2004, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 2
Всего: 118



Цитата(Secandr @ 7.10.2004, 13:02)
Соласен с maxim1000 , всё должно быть вмеру.

А я не согласен. Практически все, что создается в компьютерной индустрии (сетевые протоколы, сами компьютеры, операционные системы) создаются в виде логических уровней. Для сети это OSI со своими уровнями, тот же компьютер - вентили, микропрограммы, команды процессора и выше.

Так почему же не рассматривать объекты как еще один уровень. Понятно, что управлять портом ввода-вывода на низком уровне через объекты - не получиться. Но если та же операционка на мобильнике будет иметь объект как порт ввода-вывода,то пользоваться им будет удобно.

Мой товарищ работал с Symbian (EPOC) - так там по его словам практически вся ОС построена на объектах. И программы получаются очень компактные и функциональные. Потому как работа внутренних систем инкапсулирована в объекты.

Я несколько переформулирую идею - понятно, что на уровне ассемблера не будет у вас выбора (какое там ООП - влезть бы в пару килобайт). Но если мы говорим о дальнейшем развитии - любая ОС может быть представлена как набор объектов, которые будут уже отвечать за работу с подключенными устройствами. Любое программное обеспечение ВЫГОДНО представлять на таком уровне - не предоставлять голые вызовы функции, а предоставлять набор объектов. Те же драйвера устройств или еще что.

Так вот я думаю, что концепция ООП - хорошая концепция, которая является еще более высоким уровнем над тем, что было до этого.

PM MAIL WWW ICQ   Вверх
chipset
Дата 7.10.2004, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 4
Всего: 165



Программы величиной больше 500 строк (субьективно) очень ТЯЖЕЛО создавать без ООП.
Пример: в том проекте который я сейчас отлаживаю, около 20 классов, глаза разбегаются..
Если бы это были функции, я с ума сошёл тут же... adv/insane.gif


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Secandr
Дата 7.10.2004, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: нет
Всего: 39



Преобретаешь простоту и универсальность, теряешь в производительности.


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
chipset
Дата 7.10.2004, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 4
Всего: 165



Цитата
Преобретаешь простоту и универсальность, теряешь в производительности.

Проведем эксперимент? smile.gif


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Secandr
Дата 7.10.2004, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: нет
Всего: 39



Асемблер VS делфи. У кого будет меньше программа и быстрее работать?


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
chipset
Дата 7.10.2004, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 4
Всего: 165



Secandr
Спроси у Монти ;)
Он как то провёл исследование ASM vs Delphi
Добавлено @ 12:43
Я так понимаю, тут речь идёт о ООП vs процедурщина.
Поэтому и тестить надо на одном языке:
Си vs C++?


Это сообщение отредактировал(а) chipset - 7.10.2004, 12:39


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Secandr
Дата 7.10.2004, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: нет
Всего: 39



chipset
Я утрирую. о смысл от этого не меняется.


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
AntonSaburov
Дата 7.10.2004, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 2
Всего: 118



Цитата(chipset @ 7.10.2004, 13:39)
Я так понимаю, тут речь идёт о ООП vs процедурщина.

Не совсем.
Я просто не видел более продвинутой концепции. Если смотреть "с времен очаковских и покоренья Крыма", то сначала были чистые коды, потом ассемблеры, потом языки высокго уровня с процедурами, потом даже несколько файлов и отдельные библиотеки. Теперь настал черед классов и объектов.

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

Моя концепция такова, что как сети и компьютеры создаются "слоями", так и софт может создаваться "слоями". И на сегодня объекты для меня самый высокий "слой". Ниже всего ассемблер, потом процедуры как методы объектов, ну и сами объекты/классы.

Но есть ли у кого-нибудь идея - может есть какой-то другой ?
PM MAIL WWW ICQ   Вверх
maxim1000
Дата 7.10.2004, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: нет
Всего: 110



Цитата
Я несколько переформулирую идею - понятно, что на уровне ассемблера не будет у вас выбора (какое там ООП - влезть бы в пару килобайт). Но если мы говорим о дальнейшем развитии - любая ОС может быть представлена как набор объектов, которые будут уже отвечать за работу с подключенными устройствами. Любое программное обеспечение ВЫГОДНО представлять на таком уровне - не предоставлять голые вызовы функции, а предоставлять набор объектов. Те же драйвера устройств или еще что.

я ни в коем случае не собирался спорить с тем, что слои ПО хорошо представлять в таком виде (я и сам стараюсь так делать)
я говорил о применении ООП при разработке внутри одного конкретного слоя (например, алгоритм сжатия или обработки видео)
и даже не говорил "не надо", а "осмотрительно"
Добавлено @ 13:10
Цитата
Преобретаешь простоту и универсальность, теряешь в производительности.

совсем необязательно
мне кажется, что все-таки причины потери производительности больше субъективные - зависят от программиста, от того, что он не видит некоторых аспектов реализации
а если объекты достаточно крупные, то потери от ООП представляют очень малую часть от вычислительной сложности

Это сообщение отредактировал(а) maxim1000 - 7.10.2004, 13:05


--------------------
qqq
PM WWW   Вверх
maxim1000
Дата 7.10.2004, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: нет
Всего: 110



Цитата
Я просто не видел более продвинутой концепции. Если смотреть "с времен очаковских и покоренья Крыма", то сначала были чистые коды, потом ассемблеры, потом языки высокго уровня с процедурами, потом даже несколько файлов и отдельные библиотеки. Теперь настал черед классов и объектов.

я бы сказал по-другому:
раньше были чистые коды, потом процедуры и чистые коды, потом библиотеки, процедуры и чистые коды, а теперь ООП, библиотеки, процедуры и чистые коды
в каждом случае нужно выбирать оптимальные средства решения задач, а не те, которые позже всех появились, а чаще всего получается комбинация разных методов, например:
Цитата
Объект внутри себя позволяет использовать все что душе угодно - те же процедурные языки или функциональные.

Добавлено @ 13:17
Цитата
А выше куда ? Если мы говорим о распределенных и параллельных вычислениях, то как раз объекты и позволяют сделать это хорошо. А вот выше есть что-нибудь ? Или вместо ?

ну, понятия процессов и потоков все-таки не тождественны объектам, так что можно назвать это "еще чем-нибудь" smile.gif


--------------------
qqq
PM WWW   Вверх
chipset
Дата 7.10.2004, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 4
Всего: 165



Цитата
Преобретаешь простоту и универсальность, теряешь в производительности.

Обьясните мне ламеру, почему при ООП теряешь в производительности... sad.gif


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.0630 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.