2010-05-02 6 views
7

После того, как я прочитал обсуждение Блоха http://www.infoq.com/news/2010/04/bloch_java_future Я начал думать о том, «должен ли я переключиться на scala для новых веб-разработок» или во всех случаях предпочтительнее Java. Каково твое мнение ?Java или Scala для новых проектов в области новых проектов?

Thanks,

+6

Я думаю, было бы большой ошибкой отказаться от возможности использовать Scala для совершенно нового проекта. –

+1

Что действительно ограничивает и сильно наказывает Scala, так это то, что они сильно пострадали от «постепенного добавления Scala» в существующий Java-проект. Если бы только они немного поработали над этим ... Но, конечно, это, вероятно, сложнее, чем создание еще-другого-программирования-language-that-target-the-JVM;) – SyntaxT3rr0r

+4

@WizardOfOdds Как это сделать? Я думаю, что довольно легко постепенно добавить Scala. –

ответ

11

Если ваш выбор между Java или Scala, вы, вероятно, должны пойти с Scala. Spring, Hibernete и т. Д. Отлично работает с Scala, поэтому, если вы можете использовать его прямо сейчас. Инструмент для Scala не так уж плох в IntelliJ на данный момент. Не похоже, чтобы это было 6 месяцев назад.

Однако, я должен предупредить вас ... Java - это довольно раздутая платформа на данный момент для строго веб-разработки. Я был хардкорным архитектором программного обеспечения Java уже 9 лет и недавно занимаюсь Scala, поэтому у меня есть предвзятость к этим платформам. Даже если все, что вы хотите сделать, это приложение, которое обеспечивает скромную функциональность над базой данных, вы должны просто использовать Grails или даже Rails (хотя Grails, вероятно, лучше всего подберет ваш набор навыков).

Я бы не рекомендовал делать Lift for Scala, если вы уже не знаете функционального программирования.

+0

Большое спасибо Egervari, очень полезная информация. – sirmak

3

Я по-прежнему большой поклонник Java Spring. Некоторые люди думают, что это может быть немного тяжелый вес, однако, с аннотациями и автоматической проводкой, вы можете быстро собрать веб-приложения. Кроме того, с Java вы получаете доступ к большому количеству библиотек с открытым исходным кодом, особенно из общих ресурсов Apache.

Одна из вещей, которые мне не очень нравятся в Scala/Lift, заключается в том, что линия между видом и контроллерами немного смешана. С Java Spring существует четкое различие между представлением и контроллерами, особенно если вы используете язык шаблонов для представления типа Apache Velocity.

В любом случае, в зависимости от размера вашего проекта, я не думаю, что между Scala и Java существует большая разница. Оба будут выполнять эту работу за вас. Если ваш проект может стать очень большим, я бы ошибался в выборе Java из-за его зрелости и большого количества зрелых библиотек с открытым исходным кодом.

+4

Вы можете легко использовать практически любую библиотеку Java из Scala, поэтому факт, что существует так много зрелых библиотек Java с открытым исходным кодом, на самом деле не является основанием для использования Java вместо Scala. – Jesper

4

Это зависит от того, какой веб-приложений, которые вы хотите работать с хотя я бы выбрал Java из-за большого кода и API базы его большой сообщества

+1

Согласовано. Очень важна большая база пользователей и богатые API. – cherouvim

+13

Вы можете использовать практически любой Java-код в Scala, поэтому Im не совсем уверен, почему это огромная сделка. –

+4

Насколько этот комментарий стал принятым ответом? –

2

Я думаю, что это зависит от масштаба ваших веб-приложений и ваш отдел кадров. У вас есть хорошие программисты, которые могут быстро освоить новую технологию? Вы также должны заботиться о времени для проекта и бюджета.

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

Смежные вопросы