Genie (язык программирования) - Genie (programming language)
| Парадигма | мультипарадигма: императив, структурированный, объектно-ориентированный |
|---|---|
| Разработано | Джейми МакКракен |
| Впервые появился | 2008 |
| Стабильный выпуск | 0.38.8 / 15 февраля 2018 г. |
| Печатная дисциплина | статический, сильный |
| Операционные системы | Кроссплатформенность (каждая платформа поддерживается GLib ) |
| Лицензия | LGPLv2.1 + |
| Расширения имени файла | .gs |
| Интернет сайт | вики |
| Под влиянием | |
| Python, Бу, D, Object Pascal | |
Джинн современный универсальный язык программирования высокого уровня в разработке с 2008 года.[1] Он был разработан как альтернативный, более простой и понятный диалект для Вала компилятор, сохраняя при этом ту же функциональность, что и язык Vala. Genie использует тот же компилятор и библиотеки, что и Vala; эти два действительно могут использоваться вместе друг с другом.[2] Различия только синтаксические.
Джинна синтаксис происходит от множества современных языков, таких как Python, Бу, D и Delphi. В духе Паскаля и Python Genie использует отступ скорее, чем фигурные скобки разграничивать блоки.
Как и Вала, Джинн использует GObject система типов для создания классов и интерфейсов, объявленных в исходном коде Genie, без дополнительных требований времени выполнения (т.е., в отличие от Python, Ява или C #, не требуется виртуальная машина ).
Genie открывает доступ к C библиотеки, особенно основанные на GObject (например, GTK ), без использования другого двоичный интерфейс приложения (ABI). В течение сборник, код сначала транслируется в исходные файлы и заголовочные файлы C, которые затем компилируются в зависимости от платформы. Машинный код используя любой доступный компилятор C, например GCC, что позволяет кросс-платформенный разработка программного обеспечения.
Программы, разработанные в Vala и Genie, не зависят от ГНОМ Окружение рабочего стола, обычно требующее только GLib.
Примеры кода
"Привет, мир"
В этом примере для отступа явно используются четыре пробела.
[indent = 4] init print "Привет, мир!"
Объекты
Без явного объявления отступа по умолчанию используются вкладки.
class Sample def run () stdout.printf ("Привет, мир! n") init var sample = new Sample () sample.run () Критика
Эта статья должна быть обновлено. (Июнь 2019) |
По состоянию на 2013 год[Обновить], Genie для циклов являются включенными, что затрудняет обработку пустых списков:[3]
вар л = новый список из нитьесли л.размер > 0 за вар я = 0 к (л.размер - 1) Распечатать л.@получать(я)Однако списки можно перебирать легко и просто с помощью конструкции for-in:[4]
вар л = новый список из нитьза s в л: Распечатать sРекомендации
- ^ Джейми Маккракен (2008). «Представляем Genie - умный язык программирования». Архивировано из оригинал на 18.08.2011.
- ^ Совместное использование Джини и Валы
- ^ Таль Лирон (11 января 2013 г.). Джинн. Событие происходит в 32:29.
- ^ https://wiki.gnome.org/Projects/Genie#Lists_.28Gee.27s_ArrayList.29
внешняя ссылка
- Официальный веб-сайт

- Страница Барри Каулера на Genie на Wayback Machine (архивировано 17 февраля 2010 г.)
- Использование языка программирования Genie в Puppy Linux
- Puppy Linux: программирование на Vala и Genie
- Документация по API
- поиск проектов на github, написанных на genie
| Этот язык программирования -связанная статья является заглушка. Вы можете помочь Википедии расширяя это. |