Lex Kravetski (lex_kravetski) wrote,
Lex Kravetski
lex_kravetski

Category:

Про недостатки Java

 

Чего, как неожиданно оказалось, реально не хватает в Java, так это ссылок на функцию. В Java 7 вроде как обещают ввести замыкания, это круто, но всё равно несколько не то, что надо бы.

И не ссылок на функцию С-style тоже – это как раз вполне себе нормально обходится. Не хватает явной ссылки на функцию, аналогичной явной ссылке на класс. Можно написать прямо в коде String.class и наслаждаться, но нельзя написать что-то вида String.substr(int, int).method. Из-за такого огорчения ссылки на функции временами приходится вписывать прямо в виде строки. А это ненадёжно, поскольку не проверяется компилятором и слабо поддерживается средой разработки. В общем, неудобно. И в Java 7 такого тоже не обещают. Недоработка.

Из которой, что характерно, мега-красивые концепции мета-программирования слегонца перекашиваются.

 

Ещё не особо удачно реализовано подобие массивов и коллекций. Что совершенно непонятно: строка for (String str : strs) одинаково круто сработает и с массивом и с коллекцией, но вот с точки зрения рефлекшенов это – совершенно разные вещи. И обрабатываться должны отдельно. Разными, блин, способами. Поэтому в ряде случаев не удаётся написать алгоритм, единый для массивов и коллекций. Вместо этого приходится рассматривать два случая. Особенно тогда, когда на вход вообще приходит Object, а не что-то более конкретное.

Это разработчики языка тоже очень зря недодумали.

Tags: программирование
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 160 comments