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 - объектно-ориентированный язык RAD ... (Англ., Из судебное разбирательство мастерской Gesellschaft für Informatik, май 2001 г.)
- Лава: Bausteinbasiertes Programmieren mit Struktureditoren (На немецком языке, статья в OBJEKTsprektrum 1/2002)
внешняя ссылка
- Лава, ЛаваПЭ домашняя страница
- Кирилл Осенков: Разработка, внедрение и интеграция редактора структурированного кода C # (Дипломная работа, английский язык, см. Стр. 33)
Лава как источник концепций для улучшения других языков программирования:
Lava в известных списках языков программирования: