История изменений
Исправление
stevejobs,
(текущая версия)
:
нифига у тебя бомбануло, уже который раз вижу эту цитату :)
вполне конкретные понятия о структуре мира
конечно. как известно, мир состоит из объектов в понимании джавы. Поэтому написуя программу на джаве, НЕОБХОДИМО ревностно фанатично следовать принципам ООП.
Но и в жизни это роляет. Например, общаясь в новым человеком первая мысль - а какой у него интерфейс и контракты, можно ли считать что Дима - расширенная версия Миши, и тп :)
прикольно что в джаве выражены далеко не все общепринятые отношения реального мира, поэтому есть набор мысленных хаков, позволяющих что угодно из IRL свести к наследованию например
свою логику
ну да, логика основанная на типах в широком понимании. Например, очень сложно пишется метод equals, потому что цепляет философские вопросы, как мы поймем что две вещи действительно эквивалентны? Что такое эквивалентность в разрезе типов? классов? http://www.artima.com/lejava/articles/equality.html
и даже морально-этические нормы
например, есть норма «программные сущности … должны быть открыты для расширения, но закрыты для модификации».
В плане кода это значит вполне конкретные вещи - при получении новой спецификации ты идешь хреначить еще классов. Больше классов богу классов! Кодеры на других языках не понимают этого морально-этического выбора и считают, что «много классов - это плохо». А по мне так, много классов если они взялись из этого принципа - это очень хорошо.
Но и в жизни так же. Например, инструменты для велосипеда - у меня нет ни одного мультитула с тыщами разных отверточек и лезвий, которые так любят друзья-велосипедисты. Потому что по тому же правилу, если возникает новая проблема - нужно пойти и купить ключ, который решает конкретно эту проблему (это перекликается с юниксвеем), либо применить наследование - новый ключ должен содержать все отверточки которые у тебя уже есть + новые. Так как второй вариант экономически не эффективен, приходится покупать отдельные отверточки.
Это очень долгое объяснение, обычно не рассказываю его велосипедистам - непрограммистам - они не поймут. Когда спрашивают «почему нет мультитула» в ход идет ламерский вариант объяснения: «нет разницы».
Теперь подумай какое это влияние оказывает, например, на выбор друзей или подруг. Или на отношения на работе (если относиться к коллегам как к классам и объектам)
Исправление
stevejobs,
:
нифига у тебя бомбануло, уже который раз вижу эту цитату :)
вполне конкретные понятия о структуре мира
конечно. как известно, мир состоит из объектов в понимании джавы. Например, общаясь в новым человеком первая мысль - а какой у него интерфейс и контракты, можно ли считать что Дима - расширенная версия Миши, и тп :)
прикольно что в джаве выражены далеко не все общепринятые отношения реального мира, поэтому есть набор мысленных хаков, позволяющих что угодно из IRL свести к наследованию например
свою логику
ну да, логика основанная на типах в широком понимании. Например, очень сложно пишется метод equals, потому что цепляет философские вопросы, как мы поймем что две вещи действительно эквивалентны? Что такое эквивалентность в разрезе типов? классов? http://www.artima.com/lejava/articles/equality.html
и даже морально-этические нормы
например, есть норма «программные сущности … должны быть открыты для расширения, но закрыты для модификации».
В плане кода это значит вполне конкретные вещи - при получении новой спецификации ты идешь хреначить еще классов. Больше классов богу классов!
Но и в жизни так же. Например, инструменты для велосипеда - у меня нет ни одного мультитула с тыщами разных отверточек и лезвий, которые так любят друзья-велосипедисты. Потому что по тому же правилу, если возникает новая проблема - нужно пойти и купить ключ, который решает конкретно эту проблему (это перекликается с юниксвеем), либо применить наследование - новый ключ должен содержать все отверточки которые у тебя уже есть + новые. Так как второй вариант экономически не эффективен, приходится покупать отдельные отверточки.
Это очень долгое объяснение, обычно не рассказываю его велосипедистам - непрограммистам - они не поймут. Когда спрашивают «почему нет мультитула» в ход идет ламерский вариант объяснения: «нет разницы».
Теперь подумай какое это влияние оказывает, например, на выбор друзей или подруг. Или на отношения на работе (если относиться к коллегам как к классам и объектам)
Исходная версия
stevejobs,
:
нифига у тебя бомбануло, уже который раз вижу эту цитату :)
вполне конкретные понятия о структуре мира
конечно. как известно, мир состоит из объектов в понимании джавы. Например, общаясь в новым человеком первая мысль - а какой у него интерфейс и контракты, можно ли считать что Дима - расширенная версия Миши, и тп :)
прикольно что в джаве выражены далеко не все общепринятые отношения реального мира, поэтому есть набор мысленных хаков, позволяющих что угодно из IRL свести к наследованию например
свою логику
ну да, логика основанная на типах в широком понимании. Например, очень сложно пишется метод equals, потому что цепляет философские вопросы, как мы поймем что две вещи действительно эквивалентны? Что такое эквивалентность в разрезе типов? классов? http://www.artima.com/lejava/articles/equality.html
и даже морально-этические нормы
например, есть норма «программные сущности … должны быть открыты для расширения, но закрыты для модификации».
В плане кода это значит вполне конкретные вещи - при получении новой спецификации ты идешь хреначить еще классов. Больше классов богу классов!
Но и в жизни так же. Например, инструменты для велосипеда - у меня нет ни одного мультитула с тыщами разных отверточек и лезвий, которые так любят друзья-велосипедисты. Потому что по тому же правилу, если возникает новая проблема - нужно пойти и купить ключ, который решает конкретно эту проблему (это перекликается с юниксвеем), либо применить наследование - новый ключ должен содержать все отверточки которые у тебя уже есть + новые. Так как второй вариант экономически не эффективен, приходится покупать отдельные отверточки.
Это очень долгое объяснение, обычно не рассказываю его велосипедистам - непрограммистам - они не поймут. Когда спрашивают «почему нет мультитула» в ход идет ламерский вариант объяснения: «нет разницы».