В 1995 году Sun выпустила Java, а в том же году Netscape переименовала LiveScript в JavaScript, что стало маркетинговым ходом без родства языков. После покупки Sun компанией Oracle в 2010 году и отказа браузеров от плагинов NPAPI Java ушла из веб-интерфейсов, оставив JavaScript для асинхронных задач и серверов через Node.js. Разделение платформ привело к тому, что интеграция скриптовых языков в JVM (LuaJ, Groovy, Jython) несет значительный оверхед из-за боксинга, границ вызовов и размера дистрибутива. Автор статьи отмечает, что Groovy и Kotlin Script подходят для сборки, но не для встраиваемых скриптов, так как первый платит за анбоксинг, а второй тянет за собой компилятор Kotlin весом 62 МБ.
Язык Jumper создан как легкое решение для JVM, компилируемое в байткод с синтаксисом Java и гибкостью скриптов. Его размер составляет всего 0,6 МБ без зависимостей, он требует Java 21+ и распространяется под лицензией MIT. Jumper поддерживает три типа файлов: .jmp для скриптов, .jmc для конфигураций и .jma для политик доступа. Система исполнения включает интерпретатор дерева (Tier 0) и генератор байткода (Tier 1), который компилирует горячие функции в отдельные классы без использования ASM. Синтаксис использует ключевое слово dyn для динамических переменных, позволяя смешивать динамическую и статическую типизацию в одном коде.
В Jumper таблицы работают как в Lua или JavaScript, поддерживая доступ через точку и скобки, а массивы индексируются с нуля. Классы имеют обязательный тип возврата и единственный конструктор, при этом поля могут быть типизированы или динамическими. Стандартная библиотека языка отсутствует, но напрямую импортируются классы Java, включая java.util и Math. Вызов методов Java из скрипта по бенчмаркам стоит на 1,05 раза дороже, чем из Java, что делает границу вызова эффективной. В языке нет дженериков, приведений типов, instanceof или типов char и float, а наследование от Java-классов запрещено, хотя реализация функциональных интерфейсов возможна.
Для конфигураций был разработан формат .jmc, использующий синтаксис Java и таблицы, но исключающий функции, циклы и доступ к Java. Файл читается как выражения и переменные, создавая дерево объектов в памяти, что позволяет использовать быстрый однопроходный читатель для чистых данных. Безопасность обеспечивается политикой белого списка в файле .jma (Jumper Access), где явно разрешаются пакеты, классы и методы Java. Политика сама исполняется как скрипт Jumper, ограничивая доступ скриптов к Runtime.exec, ClassLoader и другим опасным ресурсам, предотвращая выполнение кода с доставкой через папку plugins.