Lava (язык программирования) - Lava (programming language)

Лава экспериментальный, визуальный объектно-ориентированный, устный переводчик -основан язык программирования с ассоциированным среда программирования (Среда программирования Lava или LavaPE), который использует редакторы структуры вместо текстовые редакторы. Только комментарии, константы и новые идентификаторы можно ввести как текст.

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

Несмотря на то что исполняемый код имеет традиционное текстовое представление в LavaPE, его можно редактировать только как полные синтаксические блоки, а не посимвольно. Если вы вставляете новую синтаксическую конструкцию, она обычно будет содержать «заполнители» (синтаксические переменные), которые затем могут быть заменены конкретными конструкциями; последний, в свою очередь, может содержать синтаксические переменные и т. д. LavaPE предоставляет кнопка инструмента для каждого типа синтаксической конструкции, и кнопка активируется, только если синтаксически правильно вставить связанную конструкцию в выбранное место.

Другие характерные свойства Lava и LavaPE включают следующее:

  • Он обеспечивает строгое синтаксическое разделение интерфейс (публично) и выполнение (частные) секции лавы учебный класс.
  • Он отличает переменные «объекты состояния» от постоянных «объектов значений»; последний не может быть изменен после создания / инициализации.
  • Он поддерживает «виртуальные типы»: параметры типов классов и пакетов (семейства связанных классов). Как следствие, больше не требуется подрыв строгих проверок типа "приведением типов".
  • Оно использует рекурсия и логические кванторы вместо традиционных конструкции цикла.
  • Оно использует разовое задание; т.е. значение может быть присвоено переменной только один раз в одной ветви функции.
  • Он поддерживает рефакторинг широко через редакторы структуры LavaPE.
  • Он различает составляющие (подобъекты) и объект знакомства (указатели на независимые объекты). Таким образом значительно упрощается копирование и удаление сложных объектов.
  • Начиная с версии 0.9.0, LavaPE полностью предотвращает случайный доступ к неинициализированные переменные и нулевые объекты уже во время программирования путем полных статических проверок инициализации.

Лава Открытый исходный код программное обеспечение с использованием GPL лицензия (см. также Лава в Фонде свободного программного обеспечения и в KDE-Apps.org ). В настоящее время он работает на Майкрософт Виндоус, Linux и Mac OS X платформы.

Смотрите также

Рекомендации

внешняя ссылка

Лава как источник концепций для улучшения других языков программирования:

Lava в известных списках языков программирования: