Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
С моей скромной кочки зрения, все эти метания были изложены в приложении к "Мифическому человеко-месяцу": "Серебряной пули нет" (1975 год). Краткое изложение "в перепеве Рабиновича". Не надо думать, что только вы и только сейчас начали решать сложные задачи - их решали всегда . Изобретение более-менее современных вычислительных машин со многими "современными" абстракциями типа виртуальной памяти, виртуальных устройств и систем, систем параллельной обработки с разделением времени - всё это существовало уже в шестидесятые годы двадцатого века. В то же самое время были реализованы и основные концепции быстрой разработки. Как следствие, ещё одного кардинального (на порядок) прорыва не просматривается до сих пор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2020, 21:16 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
redkij hVostt Мне кажется человек интересуется именно подходом к разработке в функциональном стиле применительно в архитектуре. Да. Это я и имел ввиду. Если сформулировать подробнее - в ООП тоже можно выделить некую теоретическую основу. Наследование, инкапсуляция, полиморфизм и его виды (разные существуют, если не ошибаюсь). Системы типов наверное тоже сюда можно включить. Но, когда все это знаешь, это не означает, что автоматически ты получаешь возможность грамотно спроектировать крупное приложение. То есть, архитектура тут выглядит чем-то отдельным от теоретических основ ООП. Есть подходы к построению архитектуры, для которых ООП является основной, но сами по себе они не становятся ясны и интуитивно понятны сразу. А в случае с ФП я такого не наблюдаю. Будто подразумевается, что поняв теорию категорий, функторы, монады и тд, человек сразу готов писать в продакшн систему на миллионы строк, и никаких сложностей не будет. Вот и хочется узнать - может какие-то гайды по архитектуре для ФП все-таки есть? Или их реально нет, просто потому что мало кто пишет промышленные большие системы, используя ФП как единственный путь, а не фрагментарные вкрапления, и поэтому гайды особо некому писать, и спрос на них тоже не особый вряд ли есть что-то более "процедурное", чем это и вот правила NASA, как сопровождать миллионы строк кода и не сойти с ума ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2020, 21:41 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky kealon(Ruslan) вы не путаете функциональное и символьное? Это неважно в данном контексте. Функциональное - в смысле разработанное на основе математики и математиками. Судя по всему математиков не интересуют вопросы сопровождаемости их "кода". ФП такое же математическое как и С++, просто альтернатива машине тьюринга redkij, кстати (спасибо mayton что напомнил), SQL тоже функциональный язык, и "бест-практики" по нему завались ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2020, 21:50 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan) SQL тоже функциональный язык, и "бест-практики" по нему завались Лучшие из которых хинты оракла )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2020, 23:19 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton Вот ФП - это игры разума. Да. Это программирование. Да. Оно позволяет решать задачи. Обычно кратко. И оригинально. И когда классическое императивное программирование устаёт само от себя - выдыхается. Никаких там игр разума нет. ФП в чистом виде это догматика. И в этом виде, такая же бесполезная, и более того -- откровенная вредная, как и ООП. Достаточно почитать книжку по ООП времён его популяризации. У опытного разработчика волосы зашевелятся, чё за бред эти люди несут? В подобной теории есть польза только если правильно на это смотреть. Не в лоб. У ФП подхода в программировании есть конкретные преимущества. Но есть и конкретные недостатки. Если клинический случай ООП, это жирный убогий, перегруженный, семантически безобразный, с большим количеством обязанностей объект. То ФП это функция. Во многих отношениях и при глубоком рассмотрении, вы увидите там те же яйца, только в профиль. И не увидите той математической красоты и элегантности, которую некоторые вам впаривают :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2020, 15:15 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton Назначение у Пролога было другое. странно было бы учить "назначению Пролога" людей, которые его и придумали ))) https://www.pdc.com/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2020, 15:40 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev mayton Назначение у Пролога было другое. странно было бы учить "назначению Пролога" людей, которые его и придумали ))) https://www.pdc.com/ Я не понял ни ссылку ни комментарий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2020, 15:58 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
hVostt В подобной теории есть польза только если правильно на это смотреть. Не в лоб. Вот это вопрос на мильен баксов. Давай поищем пользу. По целям и задачам я подниму старика Душкина. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2020, 16:03 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
PDC - Пролог Двелопер Центр разработчик Visual & Borland Prolog'а (Borland у них просто в свое время лицензию купил и распространял под своим именем) в 90-ые компилятор в том числе писался на улице Красной Связи. г. Санкт-Петербург а какие-то части их поделки для авиакомпаний на углу ул Некрасова и Востания. GUI изначально писали на Prolog'е, потом, мучать программистов прекратили ))), стали на C переходить p.s. Это я к тому. что есть мазохисты добровольные ))), которые Subj в свои проекты по собственной инициативы тянут и те, кто и рад бы без Subj'ей жить, но их жестоко принуждают обстоятельства p.p.s. Честно говоря, не отрицая общей академической ценности данных вещей, как-то практическая ценность в реальных проектах для меня сильно под сомнением ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2020, 16:17 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov ...всё это существовало уже в шестидесятые годы двадцатого века... ещё одного кардинального (на порядок) прорыва не просматривается до сих пор. +100500 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2020, 16:18 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
И я бы сказал, просматривается регрес По собственному опыту работы, могу сравнить СВМ (Система Виртуальных Машин) от IBM в 1990-91 г. и "изобретение"/развитие современного VMWare - за современные системы как-то больно становится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2020, 16:25 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev Честно говоря, не отрицая общей академической ценности данных вещей, как-то практическая ценность в реальных проектах для меня сильно под сомнением Год назад я пытался приспособить Пролог (swi-pl) для хранения онтологических знаний одной крупной системы для бизнес-аналитики. Идея была - извлекать из Java-кода сведенья и формировать из них базу фактов. Формально я базу фактов сделал. Но вот с рулами и запросами пока еще провис. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2020, 16:33 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
redkij Всем привет. Для ООП есть ряд книг, которые признаны более или менее классическими и описывают подходы к процессу разработки и построению архитектуры крупного приложения. Шаблоны банды четырех, DDD Эрика Эванса, SOLID и Clean architecture Боба Мартина, Рефакторинг Фаулера, книги по TDD, труды Бертрана Мейера, Dependency Injection in .NET Марка Симана и тд То есть книги описывают не только сам подход ООП, но и как на нем построить какое-то более-менее сложное приложение для реальных нужд. Своего рода best practices. Есть ли что-то подобное для функционального программирования? Майерс надежность программного обеспечения pdf шестая глава, как мне кажется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2020, 16:36 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton Я не понял ... ссылку... IMHO На замом деле, хороший показать "значимости" продукта/направлений для современного IT рынка/конкретной_компании https://www.pdc.com/ https://www.visual-prolog.com/ Вторая ссылка, самый старый продукт данной компании, давшая ей имя. На сайте компании, вроде только одна коротенькая страничка посвешенная данному продукту. а на заглавной странице - сами видели что ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2020, 16:40 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton, как-то мы отклонились, пролог не относится к ФП ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2020, 16:48 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan) mayton, как-то мы отклонились, пролог не относится к ФП Обычно Функциональное и Логическое произносят через запятую. Кроме того... Ты видел когда-нибудь реализацию списков на Lisp, Haskell, Scala, Prolog? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2020, 16:52 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Честно говоря, я всего этого кипиша вообще не понимаю когда изучал языки программирования в начале 90-х, слова типа APL, Lisp, Forth знал и даже работал (с Lisp сталкивался в Auto CAD) но вот, что есть такое сокрашение ФП и есть какое-то "функционельное программирование" узнал толко несколько лет назад из данного форума Подозреваю, что люди которые пользуются MathLab'ом тоже ни о каком функциональном программирование слыхом не слышали и за него не отвечают ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2020, 17:31 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev Подозреваю, что люди которые пользуются MathLab'ом тоже ни о каком функциональном программирование слыхом не слышали и за него не отвечают ))) Мысль интересная. Пожалуй соглашусь. Мне просто кажется что математики взирают на наши споры с удивлением. Скорее им вообще пофиг на наши проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2020, 17:43 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Проблемы просто нет. Кто умеет - работает Кто не умеет - учит (изобретает шаблоны, пишет книжки) кто не может ни того, ни другого - руководит (агила/скрам?) Вот, например, такой ФП как MathLab. Интересно, какой шаблон нужно было бы использовать в Java для таких задачь ( https://www.mathworks.com/help/matlab/math/basic-matrix-operations.html) ? заготовка для ответа "для транспонирования матриц нужно использовать шаблон...", "для рисования графика нужно использовать шаблон ....". И к какому месту нужно прикладывать Dependency Injection в соответствие с best practics ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2020, 18:49 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev И я бы сказал, просматривается регрес По собственному опыту работы, могу сравнить СВМ (Система Виртуальных Машин) от IBM в 1990-91 г. и "изобретение"/развитие современного VMWare - за современные системы как-то больно становится. приходят тупые ребята с горящими глазами, изучать старое жопы не хватает и начинают выдумывать 100 раз одно и то же все эти ооп, фп,... части одного и того же как описать как отобразить как трансформировать + всякая сопровожденческая инфраструктура + интерфейс к устаревшим вещам (т.е. на все что имеется на сегодня) сегодня последняя фигня обезумела и полностью вытеснила первые пункты, во всяком случае инет полон только этой фигней в виде всяких контейнеров, систем тестирования и деплоя, протоколов общения и т.д. а основные пункты монополизировали несколько дебилов - паттернистов одно только "строгая типизация" заставила часть население планеты заняться "программированием", появилась куча бездельников тестеров, которые "тестируют" тривиальные вещи не нуждающиеся в тестировании ( а то что надо тестить фиг кто может тестить) всякая туфта MV* навязывается миллионам рожостроителям мощные возможности ОС элиминируются сраными браузерами и детским протоколом вощем бабло пилится будь здоров ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2020, 18:51 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev заготовка для ответа "для транспонирования матриц нужно использовать шаблон...", "для рисования графика нужно использовать шаблон ....". И к какому месту нужно прикладывать Dependency Injection в соответствие с best practics Если-бы я использовал матрицы в ООП - я-бы создал базовый тип - матрица. Или интерфейс. Код: java 1. 2. 3. Почему интерфейс? Ну... у меня будет 2-3 реализации. Наверное (1) я возьму матрицу целых чисел. Int. Потом вещесвтенных. Потом рациональных. Вида m/n где и числитель и знаменатель - целые. И у меня будет еще куча мотиваций развивать мою парадигму. Ведь я могу брать разные системы хранения. Например я могу использовать механику sparse-matrix для хранения толстых матриц диагонального вида где значимые коэффициенты клубятся вокруг диагонали а все остальные - нули. Я сыграю на этом. По сути это уже я решаню задачи перформанса. Вот такой вот я беспокойный кабанчик. Когда пишу на ООП языке - заведомо думаю об оптимизациях. Но первый поинт для haskell не нужен т.к. у него параметрический полиморфизм. Декларируем функцию transpose которая принимает нечто и отдает нечто. Ну вот только одна функция и все. Код: sql 1. 2. Насчет сжатых матриц. Ну не знаю. Тоже самое. Создаю функцию которая возвращает тип сжатая матрица. Далее - trust to compiller. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2020, 19:14 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
redkij hVostt Мне кажется человек интересуется именно подходом к разработке в функциональном стиле применительно в архитектуре. Отдалённо похожее практивалось давно, в частности для т.н. вертикальных рынков. Продаём систему, а вы свои рабочие процессы перестраивайте под неё. И, мол, в ней есть весь нужный вам функционал, а мелочи сами допИлите. (К примеру 1С-предпр-е, Галлактика, Амдокс ...) Ну вот м.б. в своей области поискать описания таких систем. Надежда на велосипедный подход может подразумевать самостоятельную декомпозицию области до некоторых универсальных базовых функций, из к-рых как из кубиков (а то и иерархически) строится основная функциональность. Да вроде такое можно и модульностью назвать. Мои грошики в ттему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2020, 19:25 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton kealon(Ruslan) mayton, как-то мы отклонились, пролог не относится к ФП Обычно Функциональное и Логическое произносят через запятую. Кроме того... Ты видел когда-нибудь реализацию списков на Lisp, Haskell, Scala, Prolog? но ФП, логическое программирование, системы символьной алгебры - это всё очень разные вещи, из разряда: горькое, синее, больно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2020, 19:39 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2020, 19:48 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39921144&tid=1339831]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
164ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 270ms |
| total: | 533ms |

| 0 / 0 |
