Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton iOracleDev, так говоришь будто процедурно - это плохо. Все ядра операционных систем написаны на языке в котором принципиально нет объектов. Наиболее популярные игры конца 2000х написаны на "C". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2020, 01:18 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Мысль здравая. Господа. В нашем техническом споре наконец появились две оси. Одна из них - ООП - Процедурное Другая - Бизнес программирование - Низкоуровненое (для ядер ОС и игрушек) Куда здесь приткнуть ФП я пока не знаю или это будет 3-е измерение (куб) или просто как сегмент известных осей. Но вышеперечисленный квадрант мне нравится тем что начала и концы осей - суть антагонисты. По крайней мере они отражают природу нашего спора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2020, 01:21 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton, оси не ясны - если "ооп - процедурное" края оси, то вся разница со стороны синтаксиса заключится в узаконивании в ооп кошерного места для глобальных переменных. То место, где сидят глобальные переменные, в ооп называется объектом. В чистом процедурном в этом отношении разноголосица и споры о целесообразности использования глобальных переменных. вряд ли этого достаточно для объявления их противоположностями. по поводу всего остального можно спорить. вторая ось наверно понятнее, но что ею измерять планируешь - требования к инструментам разработки, или требования к программисту? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2020, 01:59 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
iOracleDev бизнес задачи решать на таком уровне как правило не удобно, кода слишком много, организация его плохая, вот и выходим на другие уровни абстракции. просто не умеете готовить mayton Куда здесь приткнуть ФП я пока не знаю может начать с обозначения ФП? чем ФП отличается от процедурного, например? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2020, 02:11 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton Одна из них Императивные, по повышению уровня абстракции (с примерами): ассемблер -> процедурные (С) -> ООП (C++) ассемблер и С - хороши для железа и систем непосредственно работающих на железе без прослоек и требующих хорошей производительности. С++ и развитие во всякие жавы, шарпы - решение задач более высокого уровня, например построение систем для бизнеса. mayton Куда здесь приткнуть ФП я пока не знаю В википедии его вроде в декларативные запихнули, вместе с SQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2020, 02:23 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
love_bach Спрятал простыню полудух пропущено... Надо понимать, что ООП сегодня оброс таким кол-вом левой инфы, что уже чёрт ногу сломит, причём несколько десятилетий уже... Очень усложнили всё и всех запутали. Сам создатель ООП-а заявлял, что сегодняшний ООП не имеет ничего общего с тем, что он задумывал. Вот цитата из вики: пропущено... Да хрен там , объект это ещё не ООП! Тут только половина правды - "наследование" это уже ООП, а "совокупность объектов" - нет. У вас же там просто структура без ООП-а (без того ООП-а, когда оно начинает работать, как ООП). ООП это лишь способ сократить размер кода, убрать повторы, упростить сопровождение. А ему приписывают какие-то левые функции, которые часто вообще не про него. Что я понимаю под чётким ООП, у него есть вполне определённый набор инструментов: наследование, абстракция (интерфейсы), инкапсуляция (public/private) И конструкторы/деструкторы (почему-то про них все забывают, а они ведь имбово рулят в том же C++, позволяя на этапе создания класса проверить большинство параметров, чем сильно упрощают отлов багов. В C++ вообще философия подхода к объектам очень сильно выпрямляет сознание после того же ПХП (откуда я пришёл), там в объекты пихают вообще всё-всё-всё уже, а в C++ нет, там наоборот уменьшают размер объектов и юзают их как мапы фактически). Ещё есть полиморфизм (способность ф-и обрабатывать разные типы данных), но в C/C++ это обычный челлендж с шаблонами и к ООП не относится (т.е. опять деза, хоть и решает упрощение кода, но не всё то ООП, что упрощает код). В C же вообще нет ООП, там нет наследования и нет private/protected, только public всегда. А вместо наследования там это: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. А между тем, это самый настоящий объект . пропущено... Да, и создатели языка именно топят за то, чтобы делать классы как можно меньше : пропущено... Идеальная программа в C++ основана на неймспейсах, ф-ях и структурах, а классы это способ автоматизировать проверку данных на валидность. Иерархия классов это громоздкая и сложная штука, её надо избегать, но иногда без неё никуда :( + Вы, что, охудели все? Или настолько необучаемы, что неспособны использовать механизм ссылок, предоставляемый форумом??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2020, 05:21 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton В нашем техническом споре наконец появились две оси. Любое программирование решает задачу и, в этом смысле, оно всегда "деловое". Задачи только разные. Низкоуровневые - в том числе. А вот "процедурное", "объектное", "декларативное" и "функциональное" - методики решения. Или "вполне общие" или "достаточно узкоспециализированные". Лично я считаю объектное и процедурное "вполне общим", а декларативное и функциональное - "достаточно узкоспециализированным". Узкая специализация функциональщины следует из необратимости природы (так называемая стрела времени). Если на графике скалярной функции одной переменной (время -> координата) можно произвольно перемещаться по оси времени, то реальный мир всегда движется из прошлого в будущее - у мира есть состояние. Закон сохранения энергии накладывает вполне конкретные ограничения на изменения состояния, но состояние существует и меняется со временем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2020, 05:41 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev СИНГЛЕТОН ? Дошли ((( Из всех патернов я знаю ровно один, пример mayton'а явно не синглетон ((( Ой да ладно вам. Если не нужно экземпляр передавать по ссылке, все остальные формальности выполнены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2020, 11:45 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton Мысль здравая. Господа. В нашем техническом споре наконец появились две оси. Одна из них - ООП - Процедурное Другая - Бизнес программирование - Низкоуровненое (для ядер ОС и игрушек) Куда здесь приткнуть ФП я пока не знаю или это будет 3-е измерение (куб) или просто как сегмент известных осей. Но вышеперечисленный квадрант мне нравится тем что начала и концы осей - суть антагонисты. По крайней мере они отражают природу нашего спора. Пока вы их вот так разделяете, спор не имеет основы, и в общем случае он не разрешим. — Эх, я бы использовал ФП, да вот знаний хаскеля нет... — А я бы бегал по утрам, да вот фитнес-трекера нет... Для того, чтобы писать в стиле ФП и строить архитектуру соответствующим образом, вам не обязательно нужен Хаскель или другой расово верный ФП-язык. Конечно, F# удобнее для ФП, чем C#, но это не камень преткновения. В реальном мире смешение техник, под задачу -- наиболее гибкий и эффективный способ разработки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2020, 11:50 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Я вот посмотрел wiki по top10 languages. И вобщем-то там нет строгой классификации. Там - фасеты. Или просто сет свойств. Например С++ и Scala попадают в какое-то над-множество технологий что лежат сразу во всех категориях или обладают всеми свойствами сразу. Вобщем классификация это - многомерная. Я себе вижу что каждый язык - это точка в булевом 30-мерном пространстве. Пока я отложу идею классификации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2020, 11:55 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
hVostt В реальном мире смешение техник, под задачу -- наиболее гибкий и эффективный способ разработки. Да я последние 15 лет то и делаю что мешаю разные коктейли из языков и технологий. Вот уже год озабочен языком (или способом) описание крупнейшей области бизнеса. Типа мета-данные для аналитики. Пробовал prolog. Щас хочу посмотреть каков Хаскель в задачах просто описания и поиска фактов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2020, 14:18 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
iOracleDev С++ и развитие во всякие жавы, шарпы - решение задач более высокого уровня, например построение систем для бизнеса. Выдвину аксиому, с которой надеюсь большинство согласится Для БИЗНЕСА - нужен FoxPro А вот все эти ООП и джава, шарпы - исключительно Г.Бучу, UML-рисовальшикам (т.к. даже назвать их анал итиками язык не поворачивается, они, подозреваю, даже на анал из бизнес процессов не способны) и студентам в свободное от занятий время изобретающих велосипеды типа Hybernate, No-SQL и все такое прочее. В качестве, опять таки, статистического тестирования данной аксиомы, предлагаю провести опрос: Кто на работе рисует UML при реальной разработки заказной бизнес-системы? IMHO & AFAIK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2020, 16:07 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
hVostt Leonid Kudryavtsev СИНГЛЕТОН ? Дошли ((( Из всех патернов я знаю ровно один, пример mayton'а явно не синглетон ((( Ой да ладно вам. Если не нужно экземпляр передавать по ссылке, все остальные формальности выполнены. mayton Мы можем спуститься на уровень JVM и рассматривать экземпляр класса как объект. Даже не аксиома, а теорема (т.к. есть доказательство!): 1) Теорема: Любая программа - реализует паттер синглетон 2) Следствие: Все в этом мире - синглетон Доказательство: В любой программе всегда существует экземпляр BIOS --> паттерн синглетон детектед ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2020, 16:14 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
hVostt ... Конечно, F# удобнее для ФП, чем C#, но это не камень преткновения. В реальном мире смешение техник, под задачу -- наиболее гибкий и эффективный способ разработки. +100500 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2020, 16:16 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev В любой программе всегда существует экземпляр BIOS --> паттерн синглетон детектед ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2020, 16:21 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev А вот все эти ООП и джава, шарпы - исключительно Г.Бучу, UML-рисовальшикам и студентам в свободное от занятий время изобретающих велосипеды типа Hybernate, No-SQL и все такое прочее. ну ООП к UML приравнять это уже перебор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2020, 16:21 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev hVostt пропущено... Ой да ладно вам. Если не нужно экземпляр передавать по ссылке, все остальные формальности выполнены. mayton Мы можем спуститься на уровень JVM и рассматривать экземпляр класса как объект. Даже не аксиома, а теорема (т.к. есть доказательство!): 1) Теорема: Любая программа - реализует паттер синглетон 2) Следствие: Все в этом мире - синглетон Доказательство: В любой программе всегда существует экземпляр BIOS --> паттерн синглетон детектед Давай обобщим. В конце концов программы пишут и для мобил и для чипованных карточек. В любой программе у нас есть возможность использовать глобальную переменную. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2020, 16:46 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev Выдвину аксиому, ...Для БИЗНЕСА - нужен FoxPro авторА вот все эти ООП и джава ... жаба - в телефоны, ООП - если б не оно, в винде не случилось бы ускорение сопостоавимых разработок - это факт 90-х ещё. авторКто на работе рисует UML при реальной разработки заказной бизнес-системы?Был и участником рисования, и необязательно заказной тоже, и необязательно строгий UML, можно и квазиUML. Ведь суть в дальнейшей автоматизации? Просто сам UML дорого стоит. Т.о. остались дыры классификации "Не ГУИ", "не ООП" ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2020, 19:47 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Интересно что Линус Торвальдс и Алан Кей весьма нелицеприятно отзываются о современном ООП. Один говорит - говно из говна. Другой - "я когда создавал ООП я не имел в виду ТАКОЕ ООП" ....e.t.c. Вот такие вот пирожки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2020, 21:25 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton Интересно что Линус Торвальдс и Алан Кей весьма нелицеприятно отзываются о современном ООП. Один говорит - говно из говна. Другой - "я когда создавал ООП я не имел в виду ТАКОЕ ООП" ....e.t.c. Как человек, который с десяток раз переписывал код, потому что АПИ ядра Линукса для драйверов постоянно меняется, полностью согласен с Линусом - то ООП которое он применяет в ядре - полное гуано ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2020, 22:02 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky mayton Интересно что Линус Торвальдс и Алан Кей весьма нелицеприятно отзываются о современном ООП. Один говорит - говно из говна. Другой - "я когда создавал ООП я не имел в виду ТАКОЕ ООП" ....e.t.c. Как человек, который с десяток раз переписывал код, потому что АПИ ядра Линукса для драйверов постоянно меняется, полностью согласен с Линусом - то ООП которое он применяет в ядре - полное гуано А чьи коммиты были? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2020, 22:05 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton А чьи коммиты были? А какая разница? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2020, 22:23 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Ну.. я согласен что Линус иногда бывает мудаковатый. Но на его счету лежит обширная инженерия знаний от железа сетей и дисков до планирования и прочее. Я думаю что он имеет право на своё мнение в части ООП. Не потому что ООП плохо. А просто потому что ему (Линусу) ООП не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2020, 22:37 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky mayton Интересно что Линус Торвальдс и Алан Кей весьма нелицеприятно отзываются о современном ООП. Один говорит - говно из говна. Другой - "я когда создавал ООП я не имел в виду ТАКОЕ ООП" ....e.t.c. Как человек, который с десяток раз переписывал код, потому что АПИ ядра Линукса для драйверов постоянно меняется, полностью согласен с Линусом - то ООП которое он применяет в ядре - полное гуано ядро же на C? в C нет ООП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2020, 23:03 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39922995&tid=1339831]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
164ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
2ms |
| others: | 14ms |
| total: | 302ms |

| 0 / 0 |
