LINUX.ORG.RU

История изменений

Исправление 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

и даже морально-этические нормы

например, есть норма «программные сущности … должны быть открыты для расширения, но закрыты для модификации».

В плане кода это значит вполне конкретные вещи - при получении новой спецификации ты идешь хреначить еще классов. Больше классов богу классов!

Но и в жизни так же. Например, инструменты для велосипеда - у меня нет ни одного мультитула с тыщами разных отверточек и лезвий, которые так любят друзья-велосипедисты. Потому что по тому же правилу, если возникает новая проблема - нужно пойти и купить ключ, который решает конкретно эту проблему (это перекликается с юниксвеем), либо применить наследование - новый ключ должен содержать все отверточки которые у тебя уже есть + новые. Так как второй вариант экономически не эффективен, приходится покупать отдельные отверточки.

Это очень долгое объяснение, обычно не рассказываю его велосипедистам - непрограммистам - они не поймут. Когда спрашивают «почему нет мультитула» в ход идет ламерский вариант объяснения: «нет разницы».