Можно, например, писать серверный код на Scala, а shared&client на Java :)
Надеюсь, однажды можно будет все части писать на Scala: code.google.com/p/scalagwt
IDEA CE держит смешанный проект из ~3500 java файлов + Scala без проблем. Правда, ошибки в Scala показывает не все — приходит компилировать, чтобы их посмотреть. Зато работают какое-какие рефакторинги, implement/override и т.д.
Eclipse пробовал вчера новый под 2.8 — пустой смешанный проект держит очень хорошо, все ошибки видно и т.д., но мой большой — вообще никак не тянет.
Статья хорошая.
Только всё это уже давно и на много раз сказано, потом найдено теми, кто умеет найти, потом снова сказано и т.д. Но находить/понимать будут всё те же люди, которых очень мало.
Т.е. тут надо что-то хитрее, чем просто написать. Вон, кто-то фримана делает, хотя бы.
В моём случае речь идёт о Scala (traits, function types, variance, higher order type polymorphism, Option и т.д.). Все детали расписывать не буду, при желании найти несложно.
Могу сказать только, что, даже после Java, у меня первое время уходило довольно много времени на дизайн интерфейсов. За то потом не раз приятно удивлялся тому, что если что-то сложное начало компилироваться, оно с первого раза работает правильно.
Я думаю, что понимаю автора, согласен, что тесты — хорошо, сам писал и пишу их, но есть ощущение, что его взгляд ограничен опытом динамических языков. Поэтому добавлю небольшое замечание, просто как намёк на то, что картина шире, чем может показаться…
Языки с хорошей (развитой и удобной) статической типизацией требуют гораздо меньше тестов. Там программа пишется так, чтобы тестированием занимался компилятор, а результат — такой же приятный и так же придаёт уверенности в коде, как и рукописные тесты.
Надеюсь, однажды можно будет все части писать на Scala: code.google.com/p/scalagwt
модель без проблем делается совместимой:
case class Person(@BeanProperty var name: String, @BeanProperty var city: String) // получается обычный бин с джавовскими геттерами и сеттерами
Hibernate, Spring, JAXB точно уже интегрировали… В akka есть что-то, но подробнее — надо гуглить
Eclipse пробовал вчера новый под 2.8 — пустой смешанный проект держит очень хорошо, все ошибки видно и т.д., но мой большой — вообще никак не тянет.
Только всё это уже давно и на много раз сказано, потом найдено теми, кто умеет найти, потом снова сказано и т.д. Но находить/понимать будут всё те же люди, которых очень мало.
Т.е. тут надо что-то хитрее, чем просто написать. Вон, кто-то фримана делает, хотя бы.
Могу сказать только, что, даже после Java, у меня первое время уходило довольно много времени на дизайн интерфейсов. За то потом не раз приятно удивлялся тому, что если что-то сложное начало компилироваться, оно с первого раза работает правильно.
Языки с хорошей (развитой и удобной) статической типизацией требуют гораздо меньше тестов. Там программа пишется так, чтобы тестированием занимался компилятор, а результат — такой же приятный и так же придаёт уверенности в коде, как и рукописные тесты.
Проверено на собственном опыте.
jsvectoreditor.googlecode.com/svn/trunk/wave/vectoreditor.xml