ООП потиху закапывают
Mar. 13th, 2013 10:40 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
http://avva.livejournal.com/2581700.html
Все, что было полезного в ООП, унесли в другие парадигмы (если оно раньше еще оттуда не было заимствовано), остальное решили закопать :)
Все, что было полезного в ООП, унесли в другие парадигмы (если оно раньше еще оттуда не было заимствовано), остальное решили закопать :)
no subject
Date: 2013-03-13 11:10 am (UTC)no subject
Date: 2013-03-13 11:14 am (UTC)no subject
Date: 2013-03-13 12:35 pm (UTC)Но "извне" это растяжимое понятие. В Скале есть способ собирать большие модули из небольших кусочков. При этом каждый из кусочков, несмотря на то, что определен отдельно от других (возможно, даже в другом пакете), логически находится в одной песочнице вместе со своими зависимостями (называется cake pattern). Как следствие, для значительной части кода ада вложенности не существует. Т.е. будет не class Foo { Bar.baz }, а class Foo { self: Bar => baz }.
Вы спросите, чем же это отличается от обычных неймспейсов и не-вложенных классов. Тем, что модули в Скале в отличие от пакетов в Джаве являются первоклассными сущностями, т.е. их можно передавать в методы, у них есть контракты, ими можно параметризировать код.
no subject
Date: 2013-03-13 01:02 pm (UTC)no subject
Date: 2013-03-13 01:12 pm (UTC)Все определения из PartX можно использовать в любом PartY без квалификатора. Чтобы использовать определения из NestedModule, нужно или юзать квалификатор, или написать import NestedModule._.
no subject
Date: 2013-03-13 01:21 pm (UTC)Одно хочу сказать - лично я после перехода с сишарпа на скалу стал писать гораздо меньше импортов.
no subject
Date: 2013-03-13 01:48 pm (UTC)Мне кажется, "жутко" тут получается потому, что незнакомо.
no subject
Date: 2013-03-13 01:54 pm (UTC)no subject
Date: 2013-03-13 02:01 pm (UTC)no subject
Date: 2013-03-13 01:55 pm (UTC)no subject
Date: 2013-03-13 02:03 pm (UTC)no subject
Date: 2013-03-13 02:07 pm (UTC)no subject
Date: 2013-03-13 02:10 pm (UTC)no subject
Date: 2013-03-14 01:52 am (UTC)