Динамические языки с контролем типов как Ruby и Python становятся весьма популярными. Я все еще не убежден, что мы должны все двигаться в динамические языки с контролем типов - однако я не вижу причины, почему мы не можем использовать и динамические и статические языки с контролем типов и выбрать лучший инструмент для задания.
Я хотел использовать крутой динамический язык сценариев определенно для платформы Java на некоторое время. Есть много, из чего выбрать, но ни один из них не чувствует себя весьма хорошо - особенно от перспективы умирания аппаратного программиста Java. Python и Ruby являются оба довольно крутыми - хотя они - платформы в их собственной оболочке. Я бы хотел динамический язык, который встраивается в JVM.
Jython, beanshell и Rhino весьма близки - но ни один из них не полностью не удовлетворяет моих потребностей. (JRuby выглядит мертвым, Jython's весьма позади Python, хотя это является самым близким к тому, что я хочу прямо сейчас). Кроме beanshell, большинство из них - языки, разработанные с другими случаями использования или критериями в памяти, и мост к JVM был запоздалой мыслью и так весьма не приятно находиться в Java (платформа & язык) инструментарий разработчиков - даже если это только некоторые незначительные части синтаксиса (как __ init __ и сам в Jython).
Таким образом я размышлял некоторое время, если бы у платформы Java был свой собственный динамический язык, разработанный от основания до работы, реальной хороший с существующим кодом; создание/расширение объектов Java может использовать и наоборот. Python/Jython's довольно хорошее ядро - добавляет хороший материал от Ruby и возможноотражается на некоторых особенностях AOP и мы могли иметь действительно новый язык Groovy для задавших сценарием объектов Java, сочиняя испытательные случаи и кто знает, даже делая реальную разработку в этом.
Я нахожу, что большую часть времени потратил в модели разработки стиля TDD, фактически кодирует тесты модуля. Типично есть много испытательного кода модуля для небольшого прикладного кода. Также, кажется, есть некоторый багаж при написании тестов модуля в java. Это кажется большой возможностью использования краткого и сильного динамического языка с контролем типов. Таким образом начальная идея состояла в том, чтобы сделать небольшой динамический язык, который компилирует непосредственно к Java, классифицирует и обеспечивает все хорошие (предполагаемые) льготы производительности python / ruby, но позволяет Вам многократно использовать, расширять, осуществлять и проверять свой существующий код Java - и использовать, чтобы написать Ваш модуль проверки. Добавьте небольшое отличное maven дополнение к программе и эй престо, мы увеличили цикл разработки TDD и создали хорошую динамически напечатанную альтернативу Java по сути.
После поведения в IRC чата с Бобом новый отличный язык для JVM начал вормировать образ, названный Groovy. Его все еще очень ранние дни и большая часть этого только существует на GroovyWiki, хотя начатая бобом работа над лексическим анализатором & я запустил взломать некоторый GroovyTests (тесты модуля в Groovy) вместе, чтобы проверить языковую реализацию Groovy всякий раз, когда мы получаем работу компилятора/времени выполнения.
Мы хотели бы услышать любые мысли, или идеи людей - или через groovy-dev почтовый список или через GroovyWiki или только через комментарии к этому входу блога. Пожалуйста добавьте любую мысль, которую Вы имеете к странице WishList.
Мы запускаем простой с хороших tuples, sequences, maps от python & замкнутых выражений от ruby и краткий & динамический java-look-and-feel, хотя то, где мы заканчиваем, является любым предположением сейчас.
Пятница, 29 Августа 2003 г.