powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Подходы к построению архитектуры в функциональном программировании
25 сообщений из 207, страница 6 из 9
Подходы к построению архитектуры в функциональном программировании
    #39922084
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
О том что ООП - математически недоказуемо.


И что это значит? ООП это инструмент. Звучит так же странно, как молоток -- математически недоказуемо :)
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39922127
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
mayton
О том что ООП - математически недоказуемо.


И что это значит? ООП это инструмент. Звучит так же странно, как молоток -- математически недоказуемо :)


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


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


И что это значит? ООП это инструмент. Звучит так же странно, как молоток -- математически недоказуемо :)


Приведу пример. Вы написали функцию. Вы ее модульно протестировали. Вы доказали что ваша функция правильна.
По бизнес-кейсам например.

Далее вы выполнили декомпозицию предметной области на интерфейсы. Классы. И объекты.
И здесь ваша доказательная база очень слаба. Вы не сможете мне доказать что сдалали работу верно.
Ведь у вас нет на это теста.
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39922264
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Вы написали функцию. Вы ее модульно протестировали. Вы доказали что ваша функция правильна.
По бизнес-кейсам например.

Далее вы выполнили декомпозицию предметной области на интерфейсы. Классы. И объекты.
И здесь ваша доказательная база очень слаба. Вы не сможете мне доказать что сдалали работу верно.
Ведь у вас нет на это теста.
А можете показать, что модульные тесты на функцию нельзя заменить модульными тестами на методы.
А то у вас есть введение и заключение, но совершенно не просматривается обоснование, которое как-то выпало из середины.
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39922265
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мы скатываемся в банальность. Разумеется можете написать тест покрывающий методы.

Но это ведь не ООП. Это вы протестировали методы. Вы фактически доказали что ООП работает
как процедурное программирование если сильно захотеть.

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

Далее вы выполнили декомпозицию предметной области на интерфейсы. Классы. И объекты.
И здесь ваша доказательная база очень слаба. Вы не сможете мне доказать что сдалали работу верно.
Ведь у вас нет на это теста.


В этом рассуждении есть проблема.
Тест это не доказательство правильной работы функции, если рассуждать с математической точки зрения.

Вот я сделал функцию сортировки.
Можете показать мне такой тест, который доказывает, что функция 100% работает верно. Во всех случаях.
Это какой тест у вас получится такой? Можете показать? На любом языке.
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39922272
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

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

На всякий случай, вот вам математическое доказательство https://neerc.ifmo.ru/wiki/index.php?title=Быстрая_сортировка
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39922274
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

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

Далее вы выполнили декомпозицию предметной области на интерфейсы. Классы. И объекты.
И здесь ваша доказательная база очень слаба. Вы не сможете мне доказать что сдалали работу верно.
Ведь у вас нет на это теста.


В этом рассуждении есть проблема.
Тест это не доказательство правильной работы функции, если рассуждать с математической точки зрения.

Вот я сделал функцию сортировки.
Можете показать мне такой тест, который доказывает, что функция 100% работает верно. Во всех случаях.
Это какой тест у вас получится такой? Можете показать? На любом языке.

Очень просто друг. Ты подходишь к бизнесу. Показываешь ему входные данные. Например табличка
каких то бизнес операций. И эта-же таблица после сортировки. И говоришь - это ОК? Бизнес говорит ОК.

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

И затем хотелось бы услышать, на что должно быть похоже доказательство ООП, что вообще нужно доказывать? )

Я уже несколько дней пишу о том что ООП - это просто набор "лучших практик".

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

И затем хотелось бы услышать, на что должно быть похоже доказательство ООП, что вообще нужно доказывать? )

Я уже несколько дней пишу о том что ООП - это просто набор "лучших практик".

А их никто никогда не доказывает. Недоказуемые они.


Задался вопросом, а что собственно написали авторы "лучших практик". По Вики, Г.Буч поучаствовал в создании RUP и Rational Rose (Rational Software Architect )

Соответственно "лучшесть" практик доказуется чисто статистически - с помощью голосования и соцопроса:
1) у кого из участников данного топика стоит на компьютере Rational Rose / Rational Software Architect
2) кто ими пользуется в повседневной работе
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39922307
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Очень просто друг. Ты подходишь к бизнесу. Показываешь ему входные данные. Например табличка
каких то бизнес операций. И эта-же таблица после сортировки. И говоришь - это ОК? Бизнес говорит ОК.

Ты делаешь тест. И делаешь код который заходит в зеленый сегмент этого теста.


Тест, это проверка работы в определённых рабочих условиях, а также проверка нерабочих условий.
У теста три основных задачи. Глубоко недооценённая возможность тестировать при разработке кусочек программы, не запуская весь проект, без необходимости поднимать и настраивать различные интеграции. Вторая, это защищать код от поломок в процессе доработок и рефакторинга. Третья, документирование конкретных кейсов использования.

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

А их никто никогда не доказывает. Недоказуемые они.


ООП это не набор лучших практик. Это конкретный инструмент, доступный во многих языках программирования на уровне синтаксиса и структур. С какой кстати, это стало практиками?

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

Но бизнесу тесты до фанаря. И ворох входных данных в принципе тоже.

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

Но бизнесу тесты до фанаря. И ворох входных данных в принципе тоже.

Нет. User-stories могут содержать сэмплы входных данных в качестве примера.


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

А их никто никогда не доказывает. Недоказуемые они.


ООП это не набор лучших практик. Это конкретный инструмент, доступный во многих языках программирования на уровне синтаксиса и структур. С какой кстати, это стало практиками?

Хочешь не хочешь, в ЯП с ООП вы будете использовать это ООП, хотя бы как потребитель. Даже если не будете ничего проектировать.

Я могу взять ООП-подобный язык писать в нем как в НЕ-ООП. Лишив объекты состояния и используя только
state-less методы. В этом случае я просто не буду следовать практикам.

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

Нет. User-stories могут содержать сэмплы входных данных в качестве примера.


Это для QA )

Ты не поверишь каков бывает ентерпрайз. Вообще стори пишутся гуманитарным языком.
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39922391
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я могу взять ООП-подобный язык писать в нем как в НЕ-ООП. Лишив объекты состояния и используя только
state-less методы. В этом случае я просто не буду следовать практикам.


А я могу и микроскопом гвоздь забить.
А некоторые кулаком или даже лбом :)


mayton
Тоесть сама по себе принадлежность языку семейству ООП-шных вовсе ничего не гарантирует.


Гарантирует функционирование ООП. Гарантирует правильную работу всех заявленных в ООП штук: наследование, инкапсуляцию, полиформизм. Даёт абстракцию для структур из коробки.

mayton
Так-же как например в С++ можно писать объектно и процедурно.


Ну это тоже инструменты. Чтобы вы могли писать объектно, вам нужны объекты. Чтобы писать процедурно, вам нужны процедуры (функции).

Тогда давайте говорить, что понятия "функция" это лучшие практики ))
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39922393
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
hVosttЭто для QA )

Ты не поверишь каков бывает ентерпрайз. Вообще стори пишутся гуманитарным языком.

Стори пишутся на языке бизнеса, а кто там представитель бизнеса -- гуманитарий, значит гуманитарным языком.
Я поверю, так как работаю в энтерпрайзе большую часть профессиональной карьеры.
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39922401
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я могу взять ООП-подобный язык писать в нем как в НЕ-ООП. Лишив объекты состояния и используя только
state-less методы. В этом случае я просто не буду следовать практикам.


И мы ведь об этом и говорим в данном топике.
Какие есть практики.

ООП это не практика. ВЫ можете очень активно плодить классы, инкапсулировать данные и логику в приватных методах и полях, наследовать вдоль и поперёк. И это вообще ни разу, ни в одном месте не показатель хорошего, качественного и более того -- правильного и рабочего кода.

Практики существуют над инстурментом.

Если не правильно пользоваться молотком, можно лишиться парочку пальцев. Молоток это не практика!
...
Рейтинг: 0 / 0
Подходы к построению архитектуры в функциональном программировании
    #39922407
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt

А я могу и микроскопом гвоздь забить.
А некоторые кулаком или даже лбом :)

Хвост но давай вспоминать какие языки вообще обязывают тебя следовать ООП всегда.
Мне почему-то на ум приходит SmallTalk (который я не знаю) но по слухам он был ТруЪ-ООП-шным.
Где даже 1+1 нельзя было сделать без вовлечения объекта целое число.

Все остальные языки реализуют саму ООП-шность по разному и она - не мандаторная.
Хуже всего - в С++. Там больше упор на шаблонизацию чем на объектность.
И схалтурить и шмальнуть себе в ногу там больше шансов чем везде.

Вот я стартую прототип приложения на ООП языке Java (я так часто делаю когда что-то проверить надо).

Код: java
1.
2.
3.
4.
5.
public class Test{
 public static void main(String[] args) {
    ....
 }
}



Я пишу блин процедурно. У меня тут от ООП вообще нет ничего!! У меня ООП появится только когда я этого захочу.

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

Гарантирует функционирование ООП. Гарантирует правильную работу всех заявленных в ООП штук: наследование, инкапсуляцию, полиформизм. Даёт абстракцию для структур из коробки.

Ну смотри. Если программист берет Хаскель (чисто ФП. Породистый. Правильный. Без побочки).
То он нифига не может создать изменяемую переменную. Его язык ограничил! Он говорит - ты
сцуко ДОЛЖЕН сделать код без состояния.

Если я безу C# или Java то я могу делать ООП а могу и не делать. Опция у меня. Понимаешь.

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

Ну это тоже инструменты. Чтобы вы могли писать объектно, вам нужны объекты. Чтобы писать процедурно, вам нужны процедуры (функции).


Не обязательно ! Примеры:

JPEG Independent Group - библиотека для работы с JPEG'ом

COM - Common Object Model в Windows

FireFox

насколько я помню, (могу местами ошибаться), все с объектами (ООП !) и все на _чистом__ C.
...
Рейтинг: 0 / 0
25 сообщений из 207, страница 6 из 9
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Подходы к построению архитектуры в функциональном программировании
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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