Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.77/187: Рейтинг темы: голосов - 187, средняя оценка - 4.77
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
18.06.2015, 12:06
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от mporro Посмотреть сообщение
Если для некоторой абстракции нужно сложное сравнение,
Вот оно - ключевой момент. Для всякой мелочи лямбды удобней. А для серьезных дел - таки иерархии классов и т.д.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.06.2015, 12:06
Ответы с готовыми решениями:

ООП или функции
Привет форумчанам! Такой вопрос нарисовался, Везде ли стоит применять ООП ? Например сейчас пишу маленький блог с простеньким...

ООП или Структурный подход?
Доброго времени суток! Могу ли я использовать процедурный подход программирования в PHP для разработки портала бронирование отелей с...

литература и/или статьи по ООП
Предложите литературу или скорее статьи по ООП, но с уклоном в элементарное понимание что это и для чего нужно а не обьяснение 3-х китов...

926
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
18.06.2015, 12:14
Fulcrum_013, Вы не увиливайте от ответа. По Вашим словам лямбда ни чем не отличается от обычных функций. Если они ни чем не отличаются то зачем их было добавлять в c++, java, c#?
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
18.06.2015, 12:16
Цитата Сообщение от castorsky Посмотреть сообщение
Если они ни чем не отличаются то зачем их было добавлять в
Отличаются разве что анонимностью. Добавили потому что получается более компактный синтаксис мелких однократно используемых callback функций.
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
18.06.2015, 12:18
Цитата Сообщение от mporro Посмотреть сообщение
Мне кажется, я даже уверен, что для любого применения конструкции замыкания при написании объектных программ сама абстракция замыкания не нужна.
так сам объект и есть замыкание.

Добавлено через 2 минуты
Fulcrum_013, Так ФП же УГ, зачем его тащить в ООП? ООП не предоставляет средств соорудить:
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
более компактный синтаксис
? Я бы сказал не синтаксис, а текст программы. Независимо от синтаксиса.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
18.06.2015, 12:19
Цитата Сообщение от castorsky Посмотреть сообщение
так сам объект и есть замыкание.
Т.е. БЕЗ ООП ФП СУЩЕСТВОВАТЬ В ПРИНЦИПЕ НЕ МОЖЕТ. А соответственно ФП-ники - это те кто не в состоянии осилить создание чего либо более сложного чем автоматически генерируемые компилятором мелкие объекты.
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
18.06.2015, 12:21
Цитата Сообщение от castorsky Посмотреть сообщение
так сам объект и есть замыкание
Я эту мысль пытаюсь донести ООПшникам, но они упорно не хотят замечать этого факта. Они утверждают что являются новаторами в отделении данных от кода.

Добавлено через 47 секунд
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Т.е. БЕЗ ООП ФП СУЩЕСТВОВАТЬ В ПРИНЦИПЕ НЕ МОЖЕТ.
Бедненький. Наоборот. Замыкания были тогда, когда ООП еще никто не придумал.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
18.06.2015, 12:29
Цитата Сообщение от castorsky Посмотреть сообщение
Так ФП же УГ, зачем его тащить в ООП?
Каждому удобству - своя ниша. В ООП тоже знаете ли массивы сортируют, и даже параметризируют сортировку. Соответсвенно если есть более компактный вариант указания компилятору как сгенерить мелкий класс - почему бы им не воспользоваться?

Добавлено через 7 минут
Цитата Сообщение от castorsky Посмотреть сообщение
Замыкания были тогда, когда ООП еще никто не придумал.
Да только тогда еще никто не додумался что замыкание есть объект. Потом оказалось что одно и то же замыкание удобно обрабатывать набором функций а не одной, и в самом замыкании начали хранить таблицы функций для его обработки (ну или указатель на соответсвующую таблицу). Потом научили компилятор собирать эти таблицы. Так ООП и появилось. Т.е. ООП есть доведенное до ума ФП.
0
 Аватар для nullxdth
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
18.06.2015, 12:38
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Замыкание абсолютно ничем от объекта не отличается
Хех. Вообще-то нет. Замыкание более фундаментально, чем объект. Объект можно выразить средствами замыкания, а замыкание средствами ООП - нет.

Добавлено через 1 минуту
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Следить надо за выделением и высвобождением динамической памяти.
Только в таком старом языке, как Си. В остальных ЯП программист избавлен от такого счастья.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
18.06.2015, 12:39
Цитата Сообщение от nullxdth Посмотреть сообщение
Замыкание более фундаментально, чем объект.
Вообще-то замыкание - это кусок памяти с данными либо указателями на данные и указателями на код.
0
 Аватар для nullxdth
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
18.06.2015, 12:50
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Вообще-то замыкание - это кусок памяти с данными либо указателями на данные и указателями на код.
Допустим. Это что-то меняет?

Добавлено через 6 минут
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Для всякой мелочи лямбды удобней. А для серьезных дел - таки иерархии классов и т.д.
Лямбды и классы разные вещи. В целом, эти вещи не противоречат друг другу. Разговоры о мелочности и серьёзности дел выглядят глупо, в контексте этих вещей.

Добавлено через 2 минуты
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А соответственно ФП-ники - это те кто не в состоянии осилить создание чего либо более сложного чем автоматически генерируемые компилятором мелкие объекты.
Вообще-то нет. Например, в мире Haskell куча всяких механизмов и концепций по сложности освоения в разы превосходящие какие-то там примитивные указатели Си или примитивный ООП как в Java или C++.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
18.06.2015, 12:57
Цитата Сообщение от nullxdth Посмотреть сообщение
Допустим. Это что-то меняет?
То же самое и объект - кусок памяти с данными и указателями на код. Только объект автоматически собирается компилятором. Так же автоматически компилятор вставляет адреса в вызова невиртуальных методов. Приходим к тому что ООП - это метод группировки функций с широко используемой для рутиинного построения таблиц автоматикой (что в принципе не отменяет и ручной доделки таблиц там где надо). Соответственно ООП - это продвинутый вариант ФП.

Добавлено через 6 минут
Цитата Сообщение от nullxdth Посмотреть сообщение
Например, в мире Haskell куча всяких механизмов и концепций по сложности освоения в разы превосходящие какие-то там примитивные указатели Си или примитивный ООП как в Java или C++.
Все гениальное просто. А сложным оно становится (концепции всякие) когда не понимают простоту механизмов и навешивают на них черти каких костылей.
0
 Аватар для nullxdth
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
18.06.2015, 12:57
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
То же самое и объект - кусок памяти с данными и указателями на код.
Да практически всё на низком уровне - "кусок памяти с бла-бла-бла". Совершенно не важен beckend реализации замыканий, например. Важна выразительность этого механизма, как будет выглядеть код реализации, на сколько он будет понятен. Ясное дело, что на состояниях и объектах можно написать всё что угодно, можно и на обычном процедурном языке без всего, можно и на asm.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
18.06.2015, 13:00
Цитата Сообщение от nullxdth Посмотреть сообщение
можно и на asm
В конечном итоге все будет в машкоде. И если программист не видит связи между кодом на высокоуровневом языке и машкодом, то будет беда и беда очень большая - падающие "птички", сталкивающиеся поезда и тд. и т.п.
0
 Аватар для nullxdth
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
18.06.2015, 13:05
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Все гениальное просто. А сложным оно становится (концепции всякие) когда не понимают простоту механизмов и навешивают на них черти каких костылей.
Это действительно правда. Но тут нужно понимать, где костыли, а где продуманные механизмы. Замыкание, например, это продуманный и проверенный временем механизм, даже если людям, не знакомым с этой штукой покажется, что это сложно. Немного сложно в освоении, но просто и красиво в использовании.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
18.06.2015, 13:05
Цитата Сообщение от nullxdth Посмотреть сообщение
как будет выглядеть код реализации, на сколько он будет понятен
По мелочи будут удобнее лямбды. А для серьезных дел - ООП.
0
 Аватар для nullxdth
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
18.06.2015, 13:07
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
И если программист не видит связи между кодом на высокоуровневом языке и машкодом, то будет беда и беда очень большая - падающие "птички", сталкивающиеся поезда и тд. и т.п.
Ерунда. Сейчас это связь стала достаточно сложной и бессмысленной для осознания. Программист должен знать предназначение и поведение механизмов, знать засады. Вот и всё.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
18.06.2015, 13:07
Цитата Сообщение от nullxdth Посмотреть сообщение
Замыкание, например, это продуманный и проверенный временем механизм, даже если людям, не знакомым с этой штукой покажется, что это сложно.
Точно так же как и построение иерархии замыканий (то бишь классов - фактически типизированных замыканий, обрабатываемых наборами функций а не одной) .
0
 Аватар для nullxdth
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
18.06.2015, 13:09
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
По мелочи будут удобнее лямбды. А для серьезных дел - ООП.
Ну ещё раз повтори. От этого это глупое утверждение не станет правдой. Замыкания, ФВП позволяют достаточно выразительно описывать комплексные преобразования, которые выглядят куда более приглядно, чем те же самые преобразования на состояниях.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
18.06.2015, 13:09
Цитата Сообщение от nullxdth Посмотреть сообщение
Ерунда. Сейчас это связь стала достаточно сложной и бессмысленной для осознания. Программист должен знать предназначение и поведение механизмов, знать засады. Вот и всё.
Программист должен осмысливать работу программно-аппаратного комплекса в целом, в т.ч. и связь уровней напряжения на исполнительных устройствах с кодом который он пишет. А иначе пусть идет всякой низкоинтеллектуальной работой заниматься - типа банковского софта и т.п.
0
 Аватар для nullxdth
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
18.06.2015, 13:11
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Точно так же как и построение иерархии замыканий
Нет никаких иерархий замыканий.

Добавлено через 1 минуту
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Программист должен осмысливать работу программно-аппаратного комплекса в целом, в т.ч. и связь уровней напряжения на исполнительных устройствах с кодом который он пишет.
Допустим, но для этого в большинстве случаев совершенно не нужно знать как будет выглядеть сгенерированный код на ЯВУ.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.06.2015, 13:11

Гавнокоддинг или учить ООП?
Здравствуйте, дело такое, я пишу все свои скрипты в гавнокоддинге. Дело в том, что у меня все работает, что не работает спрашиваю на...

прога или игра ооп
Здравствуйте)Помогите пожалуйста)Нужно в ближайшее время сдать курсовую работу.Требуется сдать программу какую-нибудь либо игру(желательно...

Mysqli ООП или процедурный подход
Вот интересно, услышать мнение специалистов, что лучшие использовать при работе с mysqli ООП или процедурный подход, что больше используют...

Определить, программа с ооп или нет
Здравствуйте)Помогите пожалуйста разобраться с программой)Мне нужно сдать курсовую по объектно-ориентированному языку на С#.Мне здесь...

Изучаю ООП можно или нет так?
Это index: <?php include('classes/database.class.php'); $object = new DB; $nick = "Alex"; $password = "1"; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
480
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru