Genie: мова програмування «нової хвилі»

Відео: Адекватні мови программірванія на 2017 США Java C ++ VB C # .NET PHP MySQL про іннополіс Сколково

Genie: мова програмування «нової хвилі»
Герой цієї статті - мова Genie - не розбещений увагою: мало хто з програмістів знає про його існування. Разом з тим, ця мова дуже цікавий і абсолютно незаслужено знаходиться в тіні. Genie дуже молодий - він з`явився тільки в 2008 році, і саме молодість багато в чому пояснює його невелику популярність і поширеність. Якщо говорити строго, то Genie - це навіть не самостійна мова, а аль-тернатівний синтаксис мови Vala. Він використовує той же самий компілятор і ті ж самі утиліти, що і Vala, а всі конструкції мови повністю дублюють Vala, але з використанням кардинально іншого синтаксису. Більш того, програма може містити частину вихідних файлів на Vala, а частина на Genie - компілятор не розрізняє ці мови окрім як на найпершому етапі компіляції під час синтаксичного аналізу. Інсталювати Genie окремо не потрібно: встановивши Vala, ви автоматично отримаєте і повністю функціональний компілятор Genie. Все, що було сказано про мову Vala в попередніх частинах статті, відноситься і до Genie, тому я зосереджу увагу тільки на передісторії появи цієї мови і його синтаксисі.

До речі, на Genie цілком можна писати програми для сучасних мобільних ОС. Наприклад, месенджер для андроїд ... втім, до чого такі складності, коли на сторінці https://fly-phone.ru/notes/android/messendzhery/ (https://fly-phone.ru/notes/android/messendzhery/ ) вже представлені всього готові рішення подібних додатків.




Genie як «компільований Python»




В останні роки популярність мови Python неухильно зростає. Ця мова так часто використовується для швидкого створення додатків, плагінів, віджетів і доповнень, що на сучасному робочому столі одночасно можуть бути запущені десятки копій його інтерпретатора. І тут починають в повну силу проявлятися властиві Python недоліки. Найчастіше згадується його повільність. Це дійсно так, але ще більшу проблему представляє «роздутість» і ненажерливість в споживанні пам`яті. Крім «накладних витрат», викликаних самим дизайном динамічного інтерпретується мови, пам`ять і цикли процесора витрачаються даремно в обгортках численних використовуваних бібліотек. Обгортки для Python за потребою є «товстими» (thick wrappers), оскільки для передачі даних між бібліотечними функціями і інтерпретатором їх, як правило, доводиться копіювати і перетворювати. Тонкої обгорткою, яка просто викликала б потрібну функцію, передаючи їй посилання на готові дані, найчастіше обійтися не вдається. Товсті ж сумно відомі тим, що займають багато дискового простору і породжують весь спектр проблем з залежностями і сумісністю версій, оскільки є додатковими загальносистемними бібліотеками. Переносимість програм, написаних на Python, також сильно страждає: в залежності потрапляють не тільки самі зовнішні бібліотеки, а й обгортки для них. У той же час лаконізм синтаксису Python і легкість його вивчення залишаються багато в чому неперевершеними.

Genie: мова програмування «нової хвилі»

Спроби зробити Python компільовані мовою повністю або хоча б частково робилися давно і неодноразово. Можна згадати такі проекти, як Psyco, Cython, PyPy, Shedskin і Pyrex, але жоден з них не став настільки зрілим і зручним, щоб з його допомогою були розроблені дійсно популярні і затребувані додатки. Поява Genie стало переломним для тих програмістів, які шукали мову, настільки ж зручний в плані синтаксису як Python, але при цьому компільований, строго типізований і не вимагає товстих шарів обгорток навколо зовнішніх бібліотек. Синтаксис Genie дуже схожий на Python, хоча містить елементи, запозичені з D, Boo і Delphi. Будучи по суті діалектом Vala, Genie автоматично отримав доступ до величезної кількості прив`язок для Vala. Він компілюється в швидкий машинний код, має скромні вимоги до пам`яті і не вимагає ніяких обгорток для бібліотек, написаних на Сі.

ІНШЕ

Anjuta: перший погляд фото

Anjuta: перший погляд

Відео: GTA 6 - ПЕРШИЙ ПОГЛЯД Загальний вигляд Anjuta Anjuta, хоча формально і відноситься до ніші програмного…

Мова програмування seed7 фото

Мова програмування seed7

Відео: Яку мову програмування вибрати новачкові? Дивись рада від каналу Бути Програмістом Мови програмування ... Одні…

Qtiplot: аналіз даних фото

Qtiplot: аналіз даних

Відео: Qtiplot Intro 2 scatter plot, linear regression, error bars, reading data from graphs Можна сміливо сказати, що…

Мова програмування vala фото

Мова програмування vala

Hello world! Розгляд будь-якої мови програмування традиційно належить починати з найпростішої програми «Hello…

Мова програмування go фото

Мова програмування go

Відео: Топ-4 Кращих Мови програмування для Початківців | ТОП Мова програмування Go (https://qoianq.org/) з`явився в 2007…

» » Genie: мова програмування «нової хвилі»