Как же меня бесит «Истинная объектность» Java иногда начинает раздражать.
Возьмём, например, сравнение строк. Допустим, у нас есть два объекта: string1 и string2. На C++ и на многих других языках я бы написал string1 == string2. На Java я тоже могу так написать, но это будет значить совершенно не то. Если я пришёл в Java с опытом программирования
(
Read more... )
Comments 9
Reply
Reply
бесит только, что запись string1.equals(string2) несимметрична.
Reply
Когда чуть-чуть-чуть писал на джаве для себя, приходилось постоянно заставлять себя домысливать звёздочки. В смысле, думать, что все объекты у меня -- вовсе не объекты, а указатели (в сишном смысле) на них, только по какой-то прихоти авторов языка обращение к членам выполняется через точку, а не через стрелку. Такие мысли очень полезны, когда вдруг выясняется, что при (вроде бы) обычном синтаксисе вызова функций нужно выполнить некоторые приседания, чтобы передать объект по значению (т.е. сделать копию), а то эта блядская джава молча передаст ссылку.
Ну и да: если учить джаву, не имея до неё бэкграунда из паскаля-си-c++, всё будет достаточно логично. Только потом не сможешь ни на чём другом писать, наверное :)
Reply
Кстати, про звёздочки и ссылки: вот как раз с этим почему-то у меня в Java проблемы нет. В моих ассоциациях возможность присвоить null с необходимостью означает, что слева не объект, а что-то более хитрое (например, умный указатель).
Reply
(The comment has been removed)
Reply
Reply
Посмотрел на эту Scala. Местами ассоциируется с Pascal, это настораживает. И вообще как-то... неуклюже выглядит. Может, эта штука и хороша функционально, но эстетически она непривлекательна, и что-то мне подсказывает, что так кажется не только мне: после десяти лет разработки этот язык занимает 34-е место в рейтинге популярности языков, при этом Java, которую Scala как бы должен вытеснить, стоит на втором.
Reply
Reply
Leave a comment