Разработчик из Польши Петр Фусик представил язык программирования Ć. Главная особенность технологии – возможность транслировать написанный код на С, С++, Java, Python и другие языки.
Зачем нужен новый инструмент
Детали своего проекта по созданию Фусик опубликовал на GitHub. Программист использует в своей технологии транслятор cito, благодаря которому написанный на Ć код можно читать на C, C++, C#, Java, JavaScript, Python, Swift и OpenCL. По словам разработчика, его проект решает актуальную проблему – позволяет писать исходники, которые можно комфортно использовать на разных языках одновременно.
В качестве варианта использования Ć Фусик приводит пример с изобретением нового формата сжатия. Если реализовать его на новой технологии от польского разработчика, то через транслятор cito можно сгенерировать код, который смогут использовать программисты на C #, Java, Python и других языках.
Петр Фусик работает над созданием Ć как минимум с 2013 года, когда он впервые опубликовал на YouTube раннюю презентацию технологии. Почему для языка выбрано такое название и как оно читается, неизвестно. Апостроф над буквой С называется «акут», поэтому теоретически новый инструмент разработки может получить название «Си акут». Также буква Ć есть в польском алфавите и читается она примерно как русская «Ч».
Особенности нового языка
Автор проекта утверждает, что синтаксис Ć похож на C#. Для него вполне подходит стандартная подсветка синтаксиса C#, однако Фусик уверен, что технологию нельзя назвать ни клоном языка от Microsoft, ни его подмножеством. Ключевые различия, по словам разработчика, продиктованы необходимостью полностью автоматической трансляции кода на Ć в эффективный код C и JavaScript. Новый язык является объектно-ориентированным – большинство целевых технологий, с которыми он взаимодействует, тоже относятся к методологии ООП.
Пример кода на Ć
Еще одна особенность Ć – сведение к минимуму зависимостей от библиотек среды выполнения. К примеру, если программист выводит код для использования в приложениях на С, то он получит автономную пару файлов .c/.h с удобочитаемым кодом С99. Аналогичным образом трансляция работает и для остальных поддерживаемых языков, однако есть несколько исключений. Например, если программист при написании кода на Ć, использует коллекции List, Dictionary или SortedDictionary, то для вывода кода на C ему придется использовать библиотеку Glib.