Pnuts — динамический скриптовой язык программирования для платформы Java. Предназначен для использования в системах написанных на языке программирования Java. Основная цель проекта Pnuts — предоставление небольшого, быстрого скриптового языка, имеющего хорошую интеграцию с Java. Pnuts использует простой синтаксис, дружественный для java разработчиков.
Связь с Java
Поскольку Java и Pnuts используют один и тот же байт-код, Java код может легко ссылаться или определить Pnuts функции. Кроме того, код написанный на Pnuts может легко манипулировать Java-объектами. Также в Pnuts можно объявлять java-классы. Так как код написанный на Pnuts компилируется в байт-код, эти классы могут использоваться в Java также как и родные java-классы. Классы, написанные на Pnuts впоследствии могут быть заменены классами написанными на Java без каких-либо других изменений кода.
Синтаксис Pnuts очень похож на синтаксис Java. Ниже приведен пример кода написанный на Java, в то же время являющийся валидным скриптом Pnuts:
import java.util.ArrayList; import java.util.List; List<String> countries = new ArrayList<String>(); countries.add("Canada"); countries.add("Austria"); countries.add("Brazil"); Collections.sort(countries); for (String country : countries) System.out.println("Hello " + country);
Тот же самый пример, написанный на Pnuts:
use("pnuts.lib") // Standard module that makes sort, println and other functions available. countries = ["Canada", "Austria", "Brazil"] sort(countries) for (country : countries) println("Hello " + country)
История
Pnuts был первоначально разработан в 1997 году Toyokazu Tomatsu как средство тестирования классов Java. Позже язык Pnuts был расширен, ориентируясь в основном на главные функции необходимые скриптовому движку, такие как модульная система и компилятор байт-кода.
Ссылки
Quick language overview and highlights Latest downloads and documentation Language quickstart guide Pnuts Addict: Toyokazu Tomatsu’s blog (Pnuts author)
* Категория:Скриптовые языки Категория:Объектно-ориентированные языки программирования Категория:Статьи с примерами кода Java