Jump to content

Джинн (язык программирования)

Джинн
Парадигма мультипарадигмальность : императивная , структурированная , объектно-ориентированная.
Разработано Джейми Маккракен
Впервые появился 2008 год ; 16 лет назад ( 2008 )
Стабильная версия
0.52.3 / 1 мая 2021 г .; 3 года назад ( 01.05.2021 )
Дисциплина набора текста статический , сильный
ТЫ Кроссплатформенность (каждая платформа, поддерживаемая GLib )
Лицензия LGPLv2.1+
Расширения имен файлов .gs
Веб-сайт неделя .гном .org /Проекты /Джинн Отредактируйте это в Викиданных
Под влиянием
Python , Бу , D , Объектный Паскаль

Genie общего назначения, — современный язык программирования высокого уровня разрабатываемый с 2008 года. [1] Он был разработан как альтернативный, более простой и понятный диалект Vala компилятора , сохраняющий при этом ту же функциональность языка Vala. Genie использует тот же компилятор и библиотеки, что и Vala; эти два действительно могут использоваться рядом друг с другом. [2] Различия только синтаксические.

Genie Синтаксис заимствован из многих современных языков, таких как Python , Boo , D и Delphi . В духе Python Genie использует отступы, а не явные разделители блоков (например, фигурные скобки для разделения блоков ) .

Как и Vala, Genie использует систему типов GObject для создания классов и интерфейсов, объявленных в исходном коде Genie, без предъявления дополнительных требований времени выполнения (т. е. в отличие от Python, Java или C# не требуется виртуальная машина ).

Genie обеспечивает доступ к библиотекам C , особенно к библиотекам, основанным на GObject (например, GTK ), без использования другого двоичного интерфейса приложения (ABI). Во время компиляции код сначала транслируется в исходный код C и файлы заголовков, которые затем компилируются в машинный код , специфичный для платформы, с использованием любого доступного компилятора C, такого как GCC , что позволяет разрабатывать кросс-платформенное программное обеспечение.

Программы, разработанные в Vala и Genie, не зависят от среды рабочего стола GNOME и обычно требуют только GLib .

Примеры кода

[ редактировать ]

"Привет, мир"

[ редактировать ]

В этом примере для отступов явно используются четыре пробела.

[indent=4]

init
    print "Hello, world!"

Без явного объявления отступов по умолчанию используются табуляции.

class Sample

	def run()
		stdout.printf("Hello, world! \n ")

init
	var sample = new Sample()
	sample.run() 

По состоянию на 2013 год Циклы Genie "for" являются инклюзивными, что делает обработку пустых списков затруднительной: [3]

var l = new list of string
if l.size > 0
    for var i = 0 to (l.size - 1)
        print l.[i]

Однако можно также перебирать списки с помощью конструкции for-in. Это легко и просто: [4]

var l = new list of string
for s in l:
   print s
  1. ^ Джейми Маккракен (2008). «Представляем Genie — умный язык программирования» . Архивировано из оригинала 18 августа 2011 г.
  2. ^ Совместное использование Джини и Валы.
  3. ^ Таль Лирон (11 января 2013 г.). Джинн . Событие происходит в 32:29. Архивировано из оригинала 20 декабря 2021 г.
  4. ^ «Проекты/Джинн — GNOME Wiki!» .
[ редактировать ]


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 74b3092a570efa20a8c9a6ba46e2b6dd__1722632340
URL1:https://arc.ask3.ru/arc/aa/74/dd/74b3092a570efa20a8c9a6ba46e2b6dd.html
Заголовок, (Title) документа по адресу, URL1:
Genie (programming language) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)