powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Подходы к построению архитектуры в функциональном программировании
25 сообщений из 207, страница 2 из 9
Подходы к построению архитектуры в функциональном программировании
    #39920760
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С моей скромной кочки зрения, все эти метания были изложены в приложении к "Мифическому человеко-месяцу": "Серебряной пули нет" (1975 год).
Краткое изложение "в перепеве Рабиновича".
Не надо думать, что только вы и только сейчас начали решать сложные задачи - их решали всегда .
Изобретение более-менее современных вычислительных машин со многими "современными" абстракциями типа виртуальной памяти, виртуальных устройств и систем, систем параллельной обработки с разделением времени - всё это существовало уже в шестидесятые годы двадцатого века.
В то же самое время были реализованы и основные концепции быстрой разработки. Как следствие, ещё одного кардинального (на порядок) прорыва не просматривается до сих пор.
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39920773
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redkij
hVostt
Мне кажется человек интересуется именно подходом к разработке в функциональном стиле применительно в архитектуре.


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

А в случае с ФП я такого не наблюдаю. Будто подразумевается, что поняв теорию категорий, функторы, монады и тд, человек сразу готов писать в продакшн систему на миллионы строк, и никаких сложностей не будет.
Вот и хочется узнать - может какие-то гайды по архитектуре для ФП все-таки есть?
Или их реально нет, просто потому что мало кто пишет промышленные большие системы, используя ФП как единственный путь, а не фрагментарные вкрапления, и поэтому гайды особо некому писать, и спрос на них тоже не особый

Маргарет Гамильтон в 1969 году и код "Аполлона"

Модератор: Картинки надо убирать под спойлер


вряд ли есть что-то более "процедурное", чем это
и вот правила NASA, как сопровождать миллионы строк кода и не сойти с ума
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39920781
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky
kealon(Ruslan)
вы не путаете функциональное и символьное?

Это неважно в данном контексте.
Функциональное - в смысле разработанное на основе математики и математиками.
Судя по всему математиков не интересуют вопросы сопровождаемости их "кода".
ну загнул
ФП такое же математическое как и С++, просто альтернатива машине тьюринга

redkij,
кстати (спасибо mayton что напомнил), SQL тоже функциональный язык, и "бест-практики" по нему завались
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39920823
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)
SQL тоже функциональный язык, и "бест-практики" по нему завались

Лучшие из которых хинты оракла ))
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39921024
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Вот ФП - это игры разума. Да. Это программирование. Да. Оно позволяет решать задачи.
Обычно кратко. И оригинально. И когда классическое императивное программирование
устаёт само от себя - выдыхается.


Никаких там игр разума нет. ФП в чистом виде это догматика. И в этом виде, такая же бесполезная, и более того -- откровенная вредная, как и ООП.

Достаточно почитать книжку по ООП времён его популяризации. У опытного разработчика волосы зашевелятся, чё за бред эти люди несут?

В подобной теории есть польза только если правильно на это смотреть. Не в лоб.

У ФП подхода в программировании есть конкретные преимущества. Но есть и конкретные недостатки.

Если клинический случай ООП, это жирный убогий, перегруженный, семантически безобразный, с большим количеством обязанностей объект. То ФП это функция. Во многих отношениях и при глубоком рассмотрении, вы увидите там те же яйца, только в профиль.

И не увидите той математической красоты и элегантности, которую некоторые вам впаривают :)
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39921039
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Назначение у Пролога было другое.

странно было бы учить "назначению Пролога" людей, которые его и придумали )))

https://www.pdc.com/
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39921052
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
mayton
Назначение у Пролога было другое.

странно было бы учить "назначению Пролога" людей, которые его и придумали )))

https://www.pdc.com/

Я не понял ни ссылку ни комментарий.
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39921055
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt

В подобной теории есть польза только если правильно на это смотреть. Не в лоб.

Вот это вопрос на мильен баксов. Давай поищем пользу. По целям и задачам я подниму старика Душкина.
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39921062
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PDC - Пролог Двелопер Центр
разработчик Visual & Borland Prolog'а (Borland у них просто в свое время лицензию купил и распространял под своим именем)

в 90-ые компилятор в том числе писался на улице Красной Связи. г. Санкт-Петербург
а какие-то части их поделки для авиакомпаний на углу ул Некрасова и Востания. GUI изначально писали на Prolog'е, потом, мучать программистов прекратили ))), стали на C переходить

p.s.
Это я к тому. что есть мазохисты добровольные ))), которые Subj в свои проекты по собственной инициативы тянут
и те, кто и рад бы без Subj'ей жить, но их жестоко принуждают обстоятельства
p.p.s.
Честно говоря, не отрицая общей академической ценности данных вещей, как-то практическая ценность в реальных проектах для меня сильно под сомнением
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39921063
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov

...всё это существовало уже в шестидесятые годы двадцатого века...
ещё одного кардинального (на порядок) прорыва не просматривается до сих пор.

+100500
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39921067
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И я бы сказал, просматривается регрес

По собственному опыту работы, могу сравнить СВМ (Система Виртуальных Машин) от IBM в 1990-91 г. и "изобретение"/развитие современного VMWare - за современные системы как-то больно становится.
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39921070
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev

Честно говоря, не отрицая общей академической ценности данных вещей, как-то практическая ценность в реальных проектах для меня сильно под сомнением

Год назад я пытался приспособить Пролог (swi-pl) для хранения онтологических знаний одной крупной системы
для бизнес-аналитики. Идея была - извлекать из Java-кода сведенья и формировать из них базу
фактов. Формально я базу фактов сделал. Но вот с рулами и запросами пока еще провис.
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39921071
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redkij
Всем привет.
Для ООП есть ряд книг, которые признаны более или менее классическими и описывают подходы к процессу разработки и построению архитектуры крупного приложения. Шаблоны банды четырех, DDD Эрика Эванса, SOLID и Clean architecture Боба Мартина, Рефакторинг Фаулера, книги по TDD, труды Бертрана Мейера, Dependency Injection in .NET Марка Симана и тд
То есть книги описывают не только сам подход ООП, но и как на нем построить какое-то более-менее сложное приложение для реальных нужд. Своего рода best practices.
Есть ли что-то подобное для функционального программирования?


Майерс надежность программного обеспечения pdf
шестая глава, как мне кажется
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39921075
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я не понял ... ссылку...

IMHO На замом деле, хороший показать "значимости" продукта/направлений для современного IT рынка/конкретной_компании

https://www.pdc.com/
https://www.visual-prolog.com/

Вторая ссылка, самый старый продукт данной компании, давшая ей имя. На сайте компании, вроде только одна коротенькая страничка посвешенная данному продукту. а на заглавной странице - сами видели что
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39921078
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

как-то мы отклонились, пролог не относится к ФП
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39921079
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)
mayton,

как-то мы отклонились, пролог не относится к ФП

Обычно Функциональное и Логическое произносят через запятую.

Кроме того... Ты видел когда-нибудь реализацию списков на Lisp, Haskell, Scala, Prolog?
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39921095
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Честно говоря, я всего этого кипиша вообще не понимаю

когда изучал языки программирования в начале 90-х, слова типа APL, Lisp, Forth знал и даже работал (с Lisp сталкивался в Auto CAD)

но вот, что есть такое сокрашение ФП и есть какое-то "функционельное программирование" узнал толко несколько лет назад из данного форума

Подозреваю, что люди которые пользуются MathLab'ом тоже ни о каком функциональном программирование слыхом не слышали и за него не отвечают )))
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39921099
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev

Подозреваю, что люди которые пользуются MathLab'ом тоже ни о каком функциональном программирование слыхом не слышали и за него не отвечают )))

Мысль интересная. Пожалуй соглашусь.

Мне просто кажется что математики взирают на наши споры с удивлением. Скорее им вообще пофиг на наши проблемы.
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39921125
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблемы просто нет.

Кто умеет - работает
Кто не умеет - учит (изобретает шаблоны, пишет книжки)
кто не может ни того, ни другого - руководит (агила/скрам?)

Вот, например, такой ФП как MathLab. Интересно, какой шаблон нужно было бы использовать в Java для таких задачь ( https://www.mathworks.com/help/matlab/math/basic-matrix-operations.html) ?

заготовка для ответа "для транспонирования матриц нужно использовать шаблон...", "для рисования графика нужно использовать шаблон ....". И к какому месту нужно прикладывать Dependency Injection в соответствие с best practics
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39921127
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
И я бы сказал, просматривается регрес

По собственному опыту работы, могу сравнить СВМ (Система Виртуальных Машин) от IBM в 1990-91 г. и "изобретение"/развитие современного VMWare - за современные системы как-то больно становится.

приходят тупые ребята с горящими глазами, изучать старое жопы не хватает и начинают выдумывать 100 раз одно и то же
все эти ооп, фп,... части одного и того же
как описать
как отобразить
как трансформировать
+ всякая сопровожденческая инфраструктура + интерфейс к устаревшим вещам (т.е. на все что имеется на сегодня)
сегодня последняя фигня обезумела и полностью вытеснила первые пункты, во всяком случае инет полон только этой фигней в виде всяких контейнеров, систем тестирования и деплоя, протоколов общения и т.д.
а основные пункты монополизировали несколько дебилов - паттернистов
одно только "строгая типизация" заставила часть население планеты заняться "программированием", появилась куча бездельников тестеров, которые "тестируют" тривиальные вещи не нуждающиеся в тестировании ( а то что надо тестить фиг кто может тестить)
всякая туфта MV* навязывается миллионам рожостроителям
мощные возможности ОС элиминируются сраными браузерами и детским протоколом
вощем бабло пилится будь здоров
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39921137
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev

заготовка для ответа "для транспонирования матриц нужно использовать шаблон...", "для рисования графика нужно использовать шаблон ....". И к какому месту нужно прикладывать Dependency Injection в соответствие с best practics

Если-бы я использовал матрицы в ООП - я-бы создал базовый тип - матрица. Или интерфейс.

Код: java
1.
2.
3.
IMatrix<T>{
    IMatrix transpose();
}



Почему интерфейс? Ну... у меня будет 2-3 реализации. Наверное (1) я возьму матрицу целых чисел. Int.
Потом вещесвтенных. Потом рациональных. Вида m/n где и числитель и знаменатель - целые.
И у меня будет еще куча мотиваций развивать мою парадигму. Ведь я могу брать разные системы
хранения. Например я могу использовать механику sparse-matrix для хранения толстых матриц
диагонального вида где значимые коэффициенты клубятся вокруг диагонали а все остальные - нули.
Я сыграю на этом. По сути это уже я решаню задачи перформанса. Вот такой вот я беспокойный
кабанчик. Когда пишу на ООП языке - заведомо думаю об оптимизациях.

Но первый поинт для haskell не нужен т.к. у него параметрический полиморфизм. Декларируем
функцию transpose которая принимает нечто и отдает нечто. Ну вот только одна функция и все.

Код: sql
1.
2.
transpose :: matrix -> matrix
transpose m = ....



Насчет сжатых матриц. Ну не знаю. Тоже самое. Создаю функцию которая возвращает тип сжатая матрица.

Далее - trust to compiller.
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39921140
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redkij
hVostt
Мне кажется человек интересуется именно подходом к разработке в функциональном стиле применительно в архитектуре.
Да. Это я и имел ввиду...
А мне кажется, автор в глубине души надеялся в итоге на существование системы в стиле быстрого прототипирования. Но на высшем уровне, типа меню с набором кнопок: "сделать хочу козу" "сделать хочу утюг" ...
Отдалённо похожее практивалось давно, в частности для т.н. вертикальных рынков. Продаём систему, а вы свои рабочие процессы перестраивайте под неё. И, мол, в ней есть весь нужный вам функционал, а мелочи сами допИлите. (К примеру 1С-предпр-е, Галлактика, Амдокс ...) Ну вот м.б. в своей области поискать описания таких систем.

Надежда на велосипедный подход может подразумевать самостоятельную декомпозицию области до некоторых универсальных базовых функций, из к-рых как из кубиков (а то и иерархически) строится основная функциональность. Да вроде такое можно и модульностью назвать.

Мои грошики в ттему.
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39921144
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
kealon(Ruslan)
mayton,

как-то мы отклонились, пролог не относится к ФП

Обычно Функциональное и Логическое произносят через запятую.

Кроме того... Ты видел когда-нибудь реализацию списков на Lisp, Haskell, Scala, Prolog?
если делить только на императивное программирование и остальное, то конечно можно всё в кучу смешать и не делить, как нечто далёкое(правда забывают про SQL)

но ФП, логическое программирование, системы символьной алгебры - это всё очень разные вещи, из разряда: горькое, синее, больно
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39921149
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39921150
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
25 сообщений из 207, страница 2 из 9
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Подходы к построению архитектуры в функциональном программировании
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]