К предыдущему: те, кто выбрал неверный вариант, полагаю, ещё не знают, как больно отлаживать длинную цепочку наследования, которая ведет себя неправильно, и никто не знает, почему :)
Чем больше у вас в проекте полиморфизма (который не надо путать с генериками), тем больше у вас будет glue code (это тёмная материя программного обеспечения, которая в значительной степени невидима, и мы знаем о ней очень мало :).
Вообще, сила системы типов абсолютна: порядок всегда бьёт класс.
Забудьте про любые "вычисления" на уровне значений, пока не сформируете формальную унифицированную схему предметной области (как в ООП это делать например, поясняю на треке по ООАП). Другое дело, что хорошо бы добавлять на уровне типов семантические аннотации и разумное количество полиморфизма/наследования, но только для уточнения такой схемы.
Итак, идите и пишите правильный код, и да пребудет с вами Сила Куба Барендрехта! :)
P.S. Лет шесть назад кстати я писал об этом, вот думаю, не вернуться ли к тем планам? Все остальные курсы для Школы, которые хотел, уже сделаны.
...Вы сможете предлагать уникальный сервис, где вообще нету конкурентов -- разработку мощных языков программирования (верифицированных!) под конкретные ниши ML, с доказательством корректности кода. ...Совсем прозаическое -- что-то хотя бы на уровне System F для 1C :)
...Вы встанете вровень с Джеймсом Гослингом и Ван Россумом, Аланом Кэем и Андерсом Хейлсбергом, Юкихиро Мацумото и Грейдоном Хоаром. Это проект саморазвития даже не на одну жизнь, а на многие жизни вперёд.
...Ну и в любом случае, вы научитесь мыслить в программировании так, как никто больше практически, ну может несколько сотен человек во всём мире. Это объективно самый программистский топ.
Post #1158
1.41K

- 👍 40
- ❤ 11
- 🤔 7
- ⚡ 5
- ✍ 1