Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton, Выкини этот вводный курс, не засоряй мозг. Если с основ исходить, то и Lisp-ом лучше не засорять на первых этапах. Безтиповое лямда-исчисление, его связь с комбинаторами и переход к типовому лямда-исчислению, однозначно, и лучше заходит, и понятнее. И хорошая вещь для старта понимания как всё крутится. Как полезное для практики оптимизации рантайма ФЯ (да и для общего развития тоже) стоит про персистентные структуры почитать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2020, 00:18 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Да я его не читал. Это был просто комментарий на то что в 20м веке функциональное и логическое не разделяли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2020, 11:00 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
ViPRos сегодня последняя фигня обезумела и полностью вытеснила первые пункты, во всяком случае инет полон только этой фигней в виде всяких контейнеров, систем тестирования и деплоя, протоколов общения и т.д. Здесь я-бы с вами не согласился. Поскольку альтернатив на самом деле нет. Это человеческая минимизация рисков. ....А! Или есть еще одна альтернатива. Заняться "церебральным сортингом" людей (по Савельеву) чтобы отобрать и вырастить гениев которые никогда не делают ошибок и не требуют тестирования. Но я думаю что большая часть населения планеты с вами не будет согласна исключительно исходя из гуманных или гуманитарных или толерантных соображений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2020, 12:10 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Возвращаясь к теме топика, мне понравилась книга Domain Design made Functional . Очень практическая книга. Примеры там на F#, я на нем не пишу, но все равно показалась очень полезной. Потом знаменитый red book и следом Functional And Reactive Domain Modelling . Тут фокус на скале, но описываемые принципы применимы не зависимо от языка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2020, 13:20 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton Здесь я-бы с вами не согласился. Поскольку альтернатив на самом деле нет. Это человеческая минимизация рисков. Ну вот напиши тест, который проверяет трансформацию матриц (ты че то про это тут говорил), или правильность топологической сортировки графа и т.д. выложи сюда, как раз будет чем тебе заняться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2020, 13:52 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Зачем мне это? Это мне не интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2020, 13:55 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton Зачем мне это? Это мне не интересно. ну, я так и знал :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2020, 14:24 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Извини. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2020, 19:56 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton hVostt В подобной теории есть польза только если правильно на это смотреть. Не в лоб. Вот это вопрос на мильен баксов. Давай поищем пользу. По целям и задачам я подниму старика Душкина. Ох, ну подход, а давайте найдём в какой-то книжонке правильные ответы на все вопросы, лишил бы смысла такого понятия, как опыт. Поиск пользы -- это собственно задача разработчика. И эффективности. И компромиссов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2020, 23:42 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
exp98 А мне кажется, автор в глубине души надеялся в итоге на существование системы в стиле быстрого прототипирования. Но на высшем уровне, типа меню с набором кнопок: "сделать хочу козу" "сделать хочу утюг" ... Отдалённо похожее практивалось давно, в частности для т.н. вертикальных рынков. Продаём систему, а вы свои рабочие процессы перестраивайте под неё. И, мол, в ней есть весь нужный вам функционал, а мелочи сами допИлите. (К примеру 1С-предпр-е, Галлактика, Амдокс ...) Ну вот м.б. в своей области поискать описания таких систем. Надежда на велосипедный подход может подразумевать самостоятельную декомпозицию области до некоторых универсальных базовых функций, из к-рых как из кубиков (а то и иерархически) строится основная функциональность. Да вроде такое можно и модульностью назвать. Мои грошики в ттему. Да, очень на это похоже. А потом на подходе очередное "изобретение", программирование мышкой, и прочие прелести долб-зма :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2020, 23:44 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
hVostt mayton пропущено... Вот это вопрос на мильен баксов. Давай поищем пользу. По целям и задачам я подниму старика Душкина. Ох, ну подход, а давайте найдём в какой-то книжонке правильные ответы на все вопросы, лишил бы смысла такого понятия, как опыт. Поиск пользы -- это собственно задача разработчика. И эффективности. И компромиссов. Это был просто комментарий к фразе "правильно на это смотреть". Кто знает как это делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2020, 23:45 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton Это был просто комментарий к фразе "правильно на это смотреть". Кто знает как это делать? Ну вот на примере. В книгах по ООП часто рассматриваются примеры типа иерархии фигур, животных и т.п. С абстрактными Figure, Animal и абстрактными методами, которые реализуются наследниками. Проводятся аналогии Объекта с объектами реального мира. Начинающий программист читает всё это и понимает буквально. В реальных программах подобный подход моделирования реального мира почти всегда приводит к плачевным результатам. Новичкам сложно, они думают "либо я тупой, либо лыжи не едут..". Потом мы имеем удовольствие наблюдать жалобное нытьё на тему "ООП не работает/говно/бла-бла-бла", иногда даже оформленных в виде статей на профильных ресурсах. Только опыт помогает научиться смотреть правильно. Не воспринимать всё буквально, а через призму проблем и задач, которые помогает решать та или иная методология. В том же ФП декларируются профит в виде безопасного распараллеливания всего и вся, ведь у нас "нет мутируемого состояния", о чудо! Потом топаем на конференции и слушаем рассказы о том, что состояние всёже есть, но его просто нужно изолировать. И ворох заботливо предоставленных костыликов, к кристально чистому ФП. В общем предметы глубоко дискуссионные, и одними книжечками тут не обойдёшься. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2020, 01:10 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
hVostt mayton Это был просто комментарий к фразе "правильно на это смотреть". Кто знает как это делать? Ну вот на примере. В книгах по ООП часто рассматриваются примеры типа иерархии фигур, животных и т.п. С абстрактными Figure, Animal и абстрактными методами, которые реализуются наследниками. Проводятся аналогии Объекта с объектами реального мира. Начинающий программист читает всё это и понимает буквально. Я помнится писал где-то про аналогию с наследованием. Это грандиозная мистификация! Нет никакого наследования (как в генетике например)! Есть расширение класса. Оно так и называется - extend. Код: java 1. Собака расширяет волка. И всё. Не наследует. Не копирует. Не инкапсулирует. А просто расширяет. Это буквальный английский перевод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2020, 01:28 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
hVostt В том же ФП декларируются профит в виде безопасного распараллеливания всего и вся, ведь у нас "нет мутируемого состояния", о чудо! Потом топаем на конференции и слушаем рассказы о том, что состояние всёже есть, но его просто нужно изолировать. И ворох заботливо предоставленных костыликов, к кристально чистому ФП. В общем предметы глубоко дискуссионные, и одними книжечками тут не обойдёшься. Я надеюсь что в ближайшее время я доберусь до монад и у нас будет тема для спора о "состоянии". Пока у меня еще мало понимания мотиваций к использованию тех или иных абстракций ФП. А состояние - это тема важная. Без нее и БД не работает и файловая система выглядела бы странной метафорой. Кому нужна файловая система без состояний? Мне - нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2020, 01:32 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton Собака расширяет волка. Да да, прямо берет и надувает)) Термин наследование растет из деревянной иерархии parent-child, не вижу смысла придумывать свои термины и уж тем более приводить синтаксис java в качестве аргумента. PS: объектно ориентированных программ на машинном уровне не существует вообще, процессор не понимает по объектно-ориентированному и память тоже, это чисто человеческая абстракция, чтобы человекам было проще писать программы и чтобы человеки меньше путались в коде. ФП тоже абстракция, просто немного другая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2020, 01:46 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
iOracleDev Термин наследование растет из деревянной иерархии parent-child, не вижу смысла придумывать свои термины и уж тем более приводить синтаксис java в качестве аргумента. Прокомментируйте что здесь. О чем эти куски кода? Где вообще впервые появляется наследование? С++ Код: plaintext 1. Pascal Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2020, 01:53 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton, ГуглInheritance was invented in 1969 for Simula. An inherited class is called a subclass of its parent class or super class. ... Inheritance is contrasted with object composition, where one object contains another object (or objects of one class contain objects of another class); see composition over inheritance. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2020, 02:08 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
hVostt ... Ну вот на примере. В книгах по ООП часто рассматриваются примеры типа иерархии фигур, животных и т.п. С абстрактными Figure, Animal и абстрактными методами, которые реализуются наследниками. Проводятся аналогии Объекта с объектами реального мира. Начинающий программист читает всё это и понимает буквально. Тут такое дело, имхо: там где ооп про "Figure, Animal и абстрактными методами" - это левое ооп, норвежского типа, а там где ооп про "объектами реального мира" - это правое, калифорнийского посола. Начинающий сено от соломы не отличает, как же у него ооп должно заработать? И вот ещё, когда-то в наивные времена, считалось, что было бы замечательно, если бы программа смогла не просто заработать, а нашлись бы способы правдоподобного формального суждения о том, что программа работает правильно, в некотором строго указанном смысле. Этот заход, отставший от жизни, намекает на то, что используемые в программировании концепты должны быть пригодны к суждению о них в рамках формальных математических построений. У левого ооп с самого начала с вменяемой математикой такого рода серьёзные проблемы. И почти все что в рамках левого ооп достигнуто, достигалось не контексте объектов, а в процессе работы с автоматами или шаблонами/обобщениями. К автоматам ооп как-то пристёгивается, хоть и не является обязательным, а во втором случае ооп это просто антиконценпия, и выглядит, имхо, просто как изуродованная модель работы с обобщениями. Правое ооп, там где про "объекты реального мира" - не жилец без вменяемых математизированных моделей взаимодействия этих объектов - будь то модели акторов или Хоаровы модели взаимодействующих процессов. То есть имхо, "само по себе" ооп ни быть понято, ни работать не может. И нечего здесь на студентов пенять, бла-бла-бла. hVostt Только опыт помогает научиться смотреть правильно. Не воспринимать всё буквально, а через призму проблем и задач, которые помогает решать та или иная методология. Опыт помогает давать правильные имена наблюдаемым феноменам. Адам, до того, как был проклят, работал в Эдеме программистом, и давал там имена животным и растениям. Не методом восприятия буквально, или через призму ( у него не было очков), а путём подбора целесообразных имен. Конечно, для этого требуется опыт. hVostt В том же ФП декларируются профит в виде безопасного распараллеливания всего и вся, ведь у нас "нет мутируемого состояния", о чудо! Потом топаем на конференции и слушаем рассказы о том, что состояние всёже есть, но его просто нужно изолировать. И ворох заботливо предоставленных костыликов, к кристально чистому ФП. В общем предметы глубоко дискуссионные, и одними книжечками тут не обойдёшься. Имхо, не совсем так. В связи с тем, что "состояния нет" - прозрачно реализуется любая изобретённая и, вероятно, любая будущая модель сети "взаимодействующих объектов". По крайней мере до тех пор, пока игнорируется вопрос о том, а существует ли у самой сети состояние. Но вот с самими "объектами" возникает маленькая проблема: как имитировать состояние средствами, не предполагающими оного. Будучи ошеломительно эффективным в одном месте, ФП оказываются изумляюще затруднительным в другом. Хотя Erlang-у с Elixir-ом это никак процветать не мешает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2020, 02:34 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
booby Тут такое дело, имхо: там где ооп про "Figure, Animal и абстрактными методами" - это левое ооп, норвежского типа, а там где ооп про "объектами реального мира" - это правое, калифорнийского посола. а Figure, Animal, Dog, Wolf - это не из реального мира объекты? я вообще хз, что там можно напутать в наследованиях и как там можно запутаться... самое сложное в ООП это интерфейсы и разные типы иерархий ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2020, 11:39 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
iOracleDev, Мне очень приятно что вы напоминаете мне о существовании поисковиков. Но было бы ещё приятнее слышать ваше мнение. И вашу речь. Иначе яб не сидел в этом форуме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2020, 12:45 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton, Ты спросил, когда и какой гад назвал построение одного класса на основе другого наследованием, ответ как видишь не прячется, он в гугле в топе выдачи. Кстати пример про волка и собаку абсурдный, как ты наверное помнишь, наследование можно применить если между подклассом и суперклассом можно поставить слово "является". Является ли собака волком? Конечно нет, собака самостоятельный объект в который волк не влезает никаким видом, наследовать собаку от волка с точки зрения ООП нельзя. Раз уж взялись за зоопарк, давай рассмотрим наследование на примере зоопарка. Пусть у нас будут волк, собака, заяц, кошка, жираф, бегемот, зебра, слон. Итак, все животные разные в реальном мире между ними нет наследования, они независимы, ни в одном из них не сидит другое животное. Мы написали классы на каждое животное, стали писать функцию отвечающую за перемещение объекта и выяснилось, они все о четырех конечностях и функция перемещения у них одинакова, что у нас получилось? Мы написали одинаковый код много раз, а если еще и накосячили, придется исправлять в многих местах и тестировать каждый объект по отдельности, это хорошо, нет это совсем не хорошо (даже принцип в программировании на этот счет имеется - DRY). А давай ка мы возьмем и выделим четыре конечности и функцию перемещения в самостоятельный класс, назовем его "животное бегающее на четырех ногах", являются ли все перечисленные нами животные животными бегающими на четырех ногах? Да являются, замечательно получили суперкласс в котором один раз описали количество конечностей и метод перемещения, бинго. ООП это абстракция, слабенький убогонький мозг программиста не может выдавать машинный код исходя из того что ему нужно сделать на уровне человеческих понятий, вот и имеем прослойку в виде ограниченного человеческого языка (процедурный, ооп, ФП и т.д.), который компилятор может механически перевести в машинный код. В реальном мире как правило нет никакого наследования, каждый объект самостоятелен и не отнаследован ни от какого другого, в информационном плане можно выделить группу общих свойств и поведения и вынести их в абстрактного родителя, но этот абстрактный родитель не существует в реальности. То что обозначается термином наследование в реальном мире, в мире ООП не годится для создания суперклассов, наследование в реальном мире и в абстракции ООП роднит только то, что и то и другое можно представить в виде направленного графа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2020, 14:19 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
iOracleDev, ооп сложнее, собака может запросто унаследовать только некоторые черты волка, добавить новые черты характера и одеться в новый прикид - а это все приводит к великому бардаку должно было бы появиться понятие "аспектное подобие" и т.д., это все в обобщениях заглохло а ФП - это мертворожденная фигня, саван (попытка формализации того что имеем) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2020, 15:30 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
полудух, полудух ... а Figure, Animal, Dog, Wolf - это не из реального мира объекты? Figure, Animal, Dog, Wolf - это вообще не объекты, а имена, в терминах которых вы, как Адам, описываете окружающий мир и рассуждаете о нём. Вообще, программирование, это техника/наука манипулирования именами, а не объектами. Называя их объектам, вы к первоначальному смыслу и целесообразности этих имен привязываете некий дополнительный смысл, зачем-то нужный вам в технических целях. Ну, может быть, этот дополнительный смысл где-то и полезен, в специальных случаях. Но почему вам всегда и заведомо не хватает исходного смысла используемых имен. Не может так оказаться, что навязанная вам, или усвоенная вами техника универсального сведения всего мира к "объектам", ограничивает вас в рамках слишком бедной системы имен? А левое от правого отличается так: Норвежское "ооп" концентрируется на классификациях - "объект" описывается как то, что принадлежит некоторой системе классификации. Для калифорнийского "ооп" классификация не интересна, но оно знает, что объекты это то, там и тогда, когда требуется организовать взаимодействие между какими-то совокупностями самостоятельно функционирующих сущностей. полудух ... я вообще хз, что там можно напутать в наследованиях и как там можно запутаться... самое сложное в ООП это интерфейсы и разные типы иерархий Кто такие "интерфейсы"? Это "объекты" или нет? Если да - зачем для некоторых объектов потребовалось специальное "системное" имя? Если нет, то что они вообще делают в "ооп", где весь мир - "объекты"? О чём весь этот, уже много лет как потерявший актуальность, хайп? Предположим, что он о "многократном повторном использовании кода". Тогда, применительно к норвежскому ооп, в изначальной формулировке, тезис о пользе ооп будет звучать так: а) постройте "удачную", "соответствующую задаче" систему классификации б) поместите код, предполагаемый к повторному использование к корни построенных классификаций в) многократно используйте этот код в наследниках. Вернемся на время к Адаму. Занимался ли он классификациями? Несомненно. А должны ли мы помнить об этом? А вот это вряд ли. Все имена птиц, животных и рыб остались и используются до сих пор, а классификации - нет. Классификации - это сложно - сложная и не сводимая к простой древовидности штука. Фасетные классификации не кладутся в иерархии. После Адама много достойнейших людей занимались классификациями, и мало какие из них переживали своих создателей. В классификациях Платона курица оказывалась неотличима от человека. А таблицы Менделеева создаются вообще один раз за время жизни человечества. Что вообще делать с "подходом к программированию", в котором до написания программы ты должен создать классификацию задействованных в ней "объектов"... Её вообщи нельзя использовать практически, потому что в ней нельзя начать писать. А главный секрет программирования заключается в том, что никакую программу нельзя написать с "первого раза". Заранее известно, что программу придется менять, пока она не приобретет свой финальный вид. И, навязывая себе рабскую зависимость от выбранной (обязательно неудачно) системы классификации, вы оказываетесь в ситуации, когда программу нужно не просто менять, а обязательно выкидывать и переписывать заново целиком. Тут уж не до "многократного использования кода" становится... А что же до собственно многократно используемого кода, то эта тема формулируется в терминах, ни в какой части описания не ссылающихся на "объекты", в ней самой нет такого имени как необходимо собственного. Обычно это выглядит как-то так: Мне в программе понадобится: а) умножать целые числа б) возводить их в целочисленную степень в) иногда вычислять n-ый член последовательности Фибоначчи г) возводить матрицы в целочисленные степени д) размножать строки е) ... Все это делается одним алгоритмом, я знаю его, и хотел бы написать функцию один раз, так чтобы она оказалась пригодна к вызову для всех таких ситуаций "многократно". В формальные параметры такой функции будут попадать различные фактические параметры, в зависимости от существа выполняемой в конкретном месте операции - возведения в степень целого или размножения указанной строки заданное колисчество раз. И все, что требуется от входных параметров - предоставлять возможность выполнения над экзеплярами параметров необходимых алгоритму действий. Если вы раб "ооп", именно в этот момент впервые возникает термин "интерфейсы": я буду работать в таком улилитарном коде с "интерфейсами", которые и предоставят необходимые этому коду реализации выполнимых действий. Это ваше инженерное решение в рамках вашей великолепной парадигмы, ваш способ приспособления к реальной потребности в рамках выданных вам синтаксических ограничений. Но сама потребность повторного использования кода ни терминах "объектов", ни связанных с ними "интерфейсов" формулируется, а в терминах требований к обеспечиваемым типами фактических входных параметров операциям. ООП вообще не требуется и не подразумевается задачей повторного использования кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2020, 17:47 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
booby, Каждая сущность имеет набор характеристик, характеристики могут быть комплексными, иметь глубокую вложенность, если у тебя одна сущность, ты можешь все это дело пораспихать в переменные и раскрутить вложенность, после чего помещать их в функции, но если сущность не одна, да они в придачу еще и разные попадаются, код программы превращается в нечитаемую кашу, в которой невозможно разобраться. И в этот момент на помощь приходит инкапсуляция, все переменные убираются в экземпляр объекта, который становится "черным ящиком", строительным блоком имеющим интерфейс для взаимодействия, в итоге каждая часть программы становится понятной и легкочитаемой. Компилятор проделает обратную работу по сваливанию всего этого добра в одну кучу, но поскольку процесс формализован, а компилятор машина, ему пофигу на читаемость и человеческую возможность понять написанное, он не ошибается и не путается и память у него абсолютная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2020, 18:05 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
iOracleDev, компилятор машина, доцент тупой, а людям вообще не следует заниматься программированием. По крайней мере, большинству из них. Стараниями писателей компиляторов профессия уже давно заметно выродилась, и даже уже вот-вот люди заменятся на Алис, но инкапсуляция здесь ни при чём. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2020, 18:47 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39921300&tid=1339831]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
160ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 266ms |

| 0 / 0 |
