Хороший язык программирования как альтернатива дженерикам Java - PullRequest
2 голосов
/ 26 декабря 2008

Я читал Thinking In Java Брюса Экеля и в главе о дженериках, он кратко упоминает Хороший язык программирования как нечто, что обрабатывает параметризованные типы лучше, чем Java, но компилируется в байт-код Java.

У кого-нибудь есть опыт с этим? Из-за непатентованности у меня болит голова, поэтому перспектива альтернативы, которая взаимодействует с Java, привлекательна ... но я чувствую, что это все равно, что пытаться выучить французский и квебекский язык и кричать, если я их перепутаю в неправильный контекст. (не обижайте, так что, пожалуйста, не связывайтесь со мной за то, что я не ПК). И тот, кто придумал название «Ницца», должен быть застрелен, так как он делает невозможным поиск любых сайтов, кроме sourceforge.

Ответы [ 3 ]

8 голосов
/ 26 декабря 2008

Я бы также предложил взглянуть на Scala , мультипарадигмальный (OO и функциональный) язык, который работает на JVM. Мартин Одерски, «отец Scala», также внес основной вклад в реализацию обобщений в Java, включая его работу над реализациями Pizza и GJ.

Текущий механизм стирания типов в Java заставляет понимать некоторые детали реализации, чтобы иметь смысл ограничений, но справедливо сказать, что использование полноценной универсальной поддержки в любом языке будет требуется обучение.

Я нашел Обобщения и коллекции Java как хорошо написанное введение и руководство по использованию обобщения в Java 5.

2 голосов
/ 26 декабря 2008

Может быть, вопрос, который нужно задать: «Почему от дженериков болит голова?» Как вы используете их, которые вызывают такую ​​боль?

Я согласен, что в Java есть недостатки с дженериками, и есть ситуации (например, расширяемые), которые вызывают проблемы, но в чем конкретно ваша проблема?

Использование другого языка, который компилируется в байт-код, может помочь вам в краткосрочной перспективе, но если вы работаете в команде, которая поставляет системы, которые должны поддерживать другие, у вас могут возникнуть проблемы с внедрением такой технологии, как Nice, независимо от того, как это элегантно.

1 голос
/ 28 декабря 2008

Я бы сказал, посмотрите на Скала или Groovy. У меня сложилось впечатление, что Ницца - это экспериментальный язык, который никогда не завоевывал популярность. Если вам вообще не нравятся дженерики Java, вы можете предпочесть groovy, который динамически типизирован. Если вам нравится идея обобщений, но вы понимаете, что реализация Java их сбивает с толку (как и я), то вам может понравиться scala, которая обрабатывает обобщения более разумно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...