2010-01-13

Высказывание Джеймса Гуслинга о динамических языках.

В статье "The Art of Lisp & Writing" Ричарда Гебриела мне понравилась цитата:

Very dynamic languages like Lisp, TCL, and Smalltalk are often used for prototyping. One of the reasons for their success at this is that they are very robust.... Another reason ... is that they don't require you to pin down decisions early on. Java has exactly the opposite property: it forces you to make choices explicitly. -– James Gosling, Java: An Overview

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

Создание абстракции потребует объявление класса и написания кучи ключевых слов. Если изменить концепцию - весь код можно выбрасывать - ведь код на Java это инструкции для манипуляции состоянием объектов. Действительной логики совсем немного.

Сравнение хорошо почувствуется если почитать статью "Why Functional Programming Matters" - все примеры демонстрируют обобщенность полученного кода, реализации концепции и возможность применения ее к различным по структуре данным.

См. также: