{"id":13616072,"url":"https://github.com/emil14/fbp-book-ru","last_synced_at":"2026-02-28T22:13:52.439Z","repository":{"id":138096900,"uuid":"405764044","full_name":"emil14/fbp-book-ru","owner":"emil14","description":"Russian translation of \"Flow-Based Programming, 1st Edition: A New Approach to Application Development\" by J. Paul Rodker Morrison","archived":false,"fork":false,"pushed_at":"2023-10-12T08:04:24.000Z","size":363,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-08-02T20:47:51.423Z","etag":null,"topics":["fbp"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/emil14.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-09-12T22:09:03.000Z","updated_at":"2023-12-13T13:12:48.000Z","dependencies_parsed_at":"2023-10-12T18:08:45.247Z","dependency_job_id":null,"html_url":"https://github.com/emil14/fbp-book-ru","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emil14%2Ffbp-book-ru","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emil14%2Ffbp-book-ru/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emil14%2Ffbp-book-ru/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emil14%2Ffbp-book-ru/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emil14","download_url":"https://codeload.github.com/emil14/fbp-book-ru/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223611691,"owners_count":17173485,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fbp"],"created_at":"2024-08-01T20:01:23.218Z","updated_at":"2024-11-08T00:30:37.204Z","avatar_url":"https://github.com/emil14.png","language":null,"funding_links":[],"categories":["Others"],"sub_categories":[],"readme":"# Потоко-Ориентированное Программирование: Новый подход к разработке приложений\n\n\u003e Представьте, кто-то говорит вам, что одна странная техника программирования, используемая крупнейшими банками Канады с 70х, даёт простое решение множеству проблем, с которыми сталкиваются сегодняшние программисты (многоядерные процессоры, распределенные вычисления, и т.д.), упрощает поддержку и обеспечивает плавный переход от стадии дизайна к рабочему коду. Сочтёте ли за сказку? Вероятно, да!\n\n![fbp](media/fbp.png)\n\nТем не менее, это не вымысел! Первая реализация этих концептов, теперь зовущихся \"потоко-ориентированным программированием\", была использована, в частности, американским банком с 5,000,000 клиентов в середине 70х. С тех пор прошло больше 40 лет, а Потоко-Ориентированное Программирование (далее FBP) позволяет жить и развиваться этому приложению. В качестве бонуса, такие приложения ещё и работают, часто, быстрее, чем созданные привычным образом.\n\nFBP это новейший стиль мышления, освобождающий программиста от Фон-Неймановских рамок - важнейшего барьера на пути в новый, многоядерный мир. FBP был реализован на Java и C# с помощью многопоточности. Уже сейчас эти наработки можно использовать и выжимать максимум из всех ядер. Конечно, потребуется сдвиг парадигмы, но сделав его однажды, назад не захочется!\n\nFBP был изобретён/открыт ещё в конце 1960х и ушло несколько лет, чтобы раскрыть его потенциал. За это время мы поняли - эта техника не только решает кучу проблем процедурного подхода, но также может упросить ряд новых сложностей, с которыми мы только начинаем сталкиваться. FBP вышел на тропу войны.\n\nВсё чаще и чаще от программистов слышно: **Go with the flow!**\n\nFBP это подход к написанию приложений, определяющий последние через метафору \"фабрики-данных\". Некоторые его корни можно проследить у самых истоков компьютерных вычислений.\n\nПриложение определяется как сеть асинхронно выполняющихся процессов, общающихся в понятиях потоков пакетов данных, называемых \"информационные пакеты\" (IP). Сами соединения являются внешними по отношению к процессу, так что процессы ничего не знают \"о своих соседях\". Соединения и процессы могут переподключаться бесконечно, удовлетворяя специфике самых разных приложений, без необходимости модифицировать сами процессы. Эта модель является _компонентно-ориентированной_.\n\nВ FBP часто нельзя предсказать порядок выполнения вычислений, что заставляет нервничать старомодных программистов. Так или иначе, как выяснилось, это и не обязательно (и никогда не было!) и посему акцент сдвигается с последовательности действий на трансформации потоков данных.\n\nFBP - отличный выбор для многоядерных/многопроцессорных систем, а также современного встраиваемого ПО. FBP гораздо ближе, чем традиционные техники, к настоящей фабрике, где предметы движутся от станции к станции, подвергаясь различным трансформациям. Представьте фабрику газировки - на одной станции бутылки наполняются, на другой закупориваются и на третей обклеиваются этикеткой. Таким образом, FBP ещё и крайне легко поддаётся визуализации.\n\nКак ни удивительно, но будучи на острие прогресса в решении прикладных задач, FBP легко поддаётся изучению т.к. даёт набор более простых, в сравнении с традиционными техниками, вычислительных абстракций.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femil14%2Ffbp-book-ru","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femil14%2Ffbp-book-ru","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femil14%2Ffbp-book-ru/lists"}