Это прекрасно.
Я таки внесу пару мелких доработок и сразу же опубликую :).
Правильное присваивание мне особенно понравилось.
I need an accounting system
P.S. Жаль, что слово assingment в английком языке, как мне кажется, не несёт в себе того же подсмысла, что и в русском. Насколько я знаю, оно обычно в значении «воровать не употребляется». И двое из ларца оказываются не особенно в тему.
Это специфика shell языков. Они все такие не от хорошей жизни. Основное назначение этой группы языков — командный интерпретатор в консоли.
Сложно совместить удобство работы в консоли с удобством написания скриптов.
Вот, например, от 14-ого года. Здесь довольно интересно о совмещении задач обратной кинематики и обратной динамики для построения контура обратной связи. www.cs.cmu.edu/~sfeng/sf_hum14.pdf
В зависимости от терминологии, может и путаются.
Неуверен, что можно рассматривать актора как расширение понятия объекта. Но если их так рассматривать, то вполне может быть.
Я акторы воспринимаю немного по-другому. Скажем так, в функциональном программировании понятия времени нет, а в акторной модели понятие времени есть.
Я специально (возможно несколько неаккуратно) перевернул эту конструкцию, потому что иначе кто-то мог бы сказать, что с точки зрения ФП вся преамбула мутабельных действий над объектом — это просто инициализация. И пришлось бы сказать, что ООП допустимо в инициализации аргументов, что довольно узко.
Мне немного непонятно, почему класс и метод меняют свои смыслы, но да шут с ними...
Я покажу непротиворечивость методом временного разделения. В примере выше мы использовали объекты как аргументы чистых функций, чтобы получить функциональный вывод. Для этого мы потребовали иммутабельности объектов во время вывода. Но как только объект выведен, мы можем отбросить функциональную парадигму и использовать этот объект в полной мере задействуя приёмы ООП. Иммутабельности более не требуется.
Это хорошее замечание. Фокус здесь в том, что инкапсулированность состояния не требует его мутабельности.
Я привожу пример с функциональным выводом геометрических тел в результате выполнения булевых операций над примитивными телами.
Объект геометрического тела в brep представлении является сложным объектом в котором есть несколько уровней заинкапсулированных абстракций, но если мы используем эти объекты иммутабельно, мы можем использовать принципы функционального программирования для построения деревьев вычислений и строгого вывода сложных тел.
Таким образом, ФП может работать вместе с ООП при условии иммутабельности объектов.
Upd: правильнее сказать внешней иммутабельности. То есть объекты должны быть иммутабельно с точки зрения методов, следующих принципам ФП.
И тем не менее наследование инспирировано именно идеями декомпозиции. Было бы довольно неблагодарно и недальновидно забыть о нем, в вопросе происхождения ООП. Мы же не обсуждаем, применять его или нет, но пытаемся понять, что такое ООП в целом.
Я таки внесу пару мелких доработок и сразу же опубликую :).
Правильное присваивание мне особенно понравилось.
I need an accounting system
P.S. Жаль, что слово assingment в английком языке, как мне кажется, не несёт в себе того же подсмысла, что и в русском. Насколько я знаю, оно обычно в значении «воровать не употребляется». И двое из ларца оказываются не особенно в тему.
-
Давайте разбираться!+
Давайте скачаем библиотеку!Соответствует.
Практическое применение отрицательного биномиального распределения и расчет доверительных интервалов в контексте стоящей на повестке дня темы.
Очень даже соответствует.
Сложно совместить удобство работы в консоли с удобством написания скриптов.
Ась? Кого позвать?
… Простите… :)
Мне почему-то кажется, что это большинство сравнительно компактно...
www.cs.cmu.edu/~sfeng/sf_hum14.pdf
Подозреваю, что материалы есть и посвежее.
Общественность жаждет уравнений!
Тема не раскрыта :)
Ненавижу двадцать первый век. Опять батарейка в книге села.
В зависимости от терминологии, может и путаются.
Неуверен, что можно рассматривать актора как расширение понятия объекта. Но если их так рассматривать, то вполне может быть.
Я акторы воспринимаю немного по-другому. Скажем так, в функциональном программировании понятия времени нет, а в акторной модели понятие времени есть.
Но это эфемерно как-то...
Я специально (возможно несколько неаккуратно) перевернул эту конструкцию, потому что иначе кто-то мог бы сказать, что с точки зрения ФП вся преамбула мутабельных действий над объектом — это просто инициализация. И пришлось бы сказать, что ООП допустимо в инициализации аргументов, что довольно узко.
Мне немного непонятно, почему класс и метод меняют свои смыслы, но да шут с ними...
Я покажу непротиворечивость методом временного разделения. В примере выше мы использовали объекты как аргументы чистых функций, чтобы получить функциональный вывод. Для этого мы потребовали иммутабельности объектов во время вывода. Но как только объект выведен, мы можем отбросить функциональную парадигму и использовать этот объект в полной мере задействуя приёмы ООП. Иммутабельности более не требуется.
Я привожу пример с функциональным выводом геометрических тел в результате выполнения булевых операций над примитивными телами.
Объект геометрического тела в brep представлении является сложным объектом в котором есть несколько уровней заинкапсулированных абстракций, но если мы используем эти объекты иммутабельно, мы можем использовать принципы функционального программирования для построения деревьев вычислений и строгого вывода сложных тел.
Таким образом, ФП может работать вместе с ООП при условии иммутабельности объектов.
Upd: правильнее сказать внешней иммутабельности. То есть объекты должны быть иммутабельно с точки зрения методов, следующих принципам ФП.
И тем не менее наследование инспирировано именно идеями декомпозиции. Было бы довольно неблагодарно и недальновидно забыть о нем, в вопросе происхождения ООП. Мы же не обсуждаем, применять его или нет, но пытаемся понять, что такое ООП в целом.