Що перше спадає тобі на думку, коли чуєш про універсальну мову програмування? Мабуть, Java? Так, можливо. Але у цій статті ми поговоримо зі студентами ХНУРЕ про мову універсальну зовсім в іншому розумінні, про мову програмування Ć.
Робота над об’єктно-орієнтованою мовою програмування Ć почалася ще 2013 року, і ось, у жовтні 2021 року, польський програміст Петр Фусік виклав на GitHub новину про створення нової мови програмування.
Особливості мови Ć:
- Транслятор «cito» автоматично робить код, написаний на Ć, читабельним для інших мов програмування, таких як Python, C, C++, OpenCL, C#, Java, JavaScript та Swift. Це здійснюється наступним чином: спочатку пишемо програму мовою Ć, після чого запускаємо транслятор cito і обираємо, у яку саме мову потрібно транслювати код. І ось, перед нашими очима готовий код іншою мовою.
- Синтаксис мови має багато спільного с синтаксисом C#, однак вони не є ідентичними, і сама мова Ć не є версією сішарпа.
Слід зазначити, що Петр Фусік не перший, хто задумав втілити в життя ідею мови програмування з трансляторами інших мов. У 2005 року Haxe Foundation розробив мову «Haxe», яка може бути скомпільована на JavaScript, C++, Java, JVM, PHP, C#, Python, Lua й Node.js. Але широкої популярності та всесвітнього визнання ця мова так і не зазнала.
Цікаво дізнатися думки студентів ХНУРЕ, які встигли познайомитися з презентацією цієї амбітної мови програмування.
— Чи чув ти колись про мови програмування, які можна використовувати в інших мовах?
Тимофій:
— Я, звісно, чув про ці мови, вони відносно молоді. Наприклад, мова Simplicity, призначена для програмування блокчейну, створена лише у 2018 році, незабаром зможе використовуватись на С++ (https://blog.blockstream.com/ru/ru-simplicity-github/). Зараз набирає високої популярності криптовалюта і тим самим робить цю мову більш такою, що має попит.
— Як на тебе, чи є майбутнє у цих мов? Стануть вони такими ж популярними, як С, С++, Java?
Софія:
— Майбутнє, однозначно, є, якщо з’явиться гарна реалізація «універсальних» мов і підтримка від відомих розробників програмного забезпечення. З приводу популярності — важко відповісти. Малоймовірно, що компанії забажають кардинально змінювати усю «підкапотку» свого забезпечення і витрачати час/кошти на перекваліфікацію кадрів через популярність Ć, Haxeта інших, схожих на ці, мов.
— Які твої особисті очікування? Чи є сенс вивчати такі мови, як Ć?
Артем:
— Я б не хотів використовувати цю мову програмування, адже не можна поєднувати функціональні та класові мови в одну.Тобто набагато легше вивчити той самий JavaScript, на якому можна писати як класами, так і функціями. На мою думку, це тільки заплутає новачків при вивченні такої мови.Освоїти одну універсальну мову це чудова ідея, але деякі речі в програмуванні не можна об'єднувати. Тому унікальність і привабливість цієї мови, як на мене, буде тільки на початкових етапах навчання.
— На твою думку, у яких проєктах була б до речі мова Ć?
Софія:
— В описі Ć сказано, що залежність від бібліотек рантайму (runtime libraries) зведені до мінімуму. Можливо, це було б корисно в реалізації алгоритмів шифрування.
— На які критерії при виборі мови програмування слід звертати увагу студенту?
Артем:
— Потрібно звернути увагу на актуальність цієї мови й те, як вона буде розвиватися надалі. Влучним прикладом є мова програмування JavaScript, яка, можна сказати, є універсальною. Тому, на мою думку, потрібно вибрати мову по її попиту на ринку праці та універсальності, тобто вивчив одну мову — пишеш всюди, і отримуєш багато грошей.
Отже, думки про універсальні мови програмування дійсно різняться. Однак зрозуміло одне, що поява нової мови програмування — це завжди цікаво. Залишається чекати офіційного релізу Ć і сподіватися, що ця мова перевершить наші очікування.
Бажаємо успішних проєктів та легкості у вивченні мов.
Аліна Тельнова