Разработчик создал язык Ć для написания кода на С, Python и JavaScript одновременно

19.10.2021      44059

Разработчик из Польши Петр Фусик представил язык программирования Ć. Главная особенность технологии – возможность транслировать написанный код на С, С++, 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.


Автор:
Аналитик


Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Hatson 494 19.10.21 13:30 Сейчас в теме
Ждем православный язык "Ъ" и транслятор языка 1С в "Ч", а затем и в перечисленные языки ))
2. Darklight 27 20.10.21 10:40 Сейчас в теме
Прочитал и подумал - зачем?
Ведь в программировании исходники играют далеко не самую важную роль. Куда важнее библиотеки платформы, и конечный код, непосредственно исполняемый платформой (правда у Python или JavaScript его - увы нет - там да - нужна трансляция - это проблема данных языков, хотя для JavaScript можно транслировать "asm.js " или в "WASM", а ещё есть байткод V8; на самом деле и Python тоже есть байткод)
Для решения кросс-платформенных задач есть LLVM и промежуточный язык IR - тут нужно отдельно писать бакэнд/фронтэнд компиляторы.
Увы LLVM не очень хорошо подходит для платформ с управляемой памятью, и для стековых виртуальных машин.
Куда правильнее было - развивать идею LLVM - сделать усовершенствованный IR - более высокоуровневый (как MS IL) - который далле уже можно было бы эффективно декомпилировать в байткод целевых платформ (а не в исходники).

Самое интересное - это как решается вопрос управление памятью. Ведь все названные ЯП (кроме С++) являются языками с менеджером памяти, а JavaScript и Python - ещё и ЯП с динамической типизацией.
Это всё, конечно можно обобщить - но встаёт тогда третий важный вопрос - что будет в итоге с производительностью.
С++ используют - когда нужна высокая производительность - наврядли результирующий код будет ей удовлетворять.
Боюсь - проблем будут и в других результирующих исходниках. А JavaScript и Python и так не обладают высокой производительностью

И последнее. Что-то я в исходном синтаксисе (приведённого примера) ничего особенного не замети - типичный C# - да, возможно где-то есть отличия: что-то просто недореализовано (синтаксис C# очень насыщенный фишками), возможно где-то что-то добавлено (для поддержки совместимости с разными ЯП) - но я не стал бы говорить, что Ć - это новый ЯП, скорее просто диалект C#.
Не буду говорить, что это плохо. C# - мощный язык. Хотя мне он не совсем нравится - как раз из-за наследия С++ - которое полностью перешло и в Ć.

Уж лучше бы Kotlin развивали. У него уже есть и компиляция в Java и в Native машинный-код, и трансляция в JavaScript. Не так уж сложно туда же добавить трансляцию в Python и в .NET IL.

Но это всё-равно не сделает код кросс-платформенным (по среде исполнения) - всё-равно всё упрётся в разные библиотеки - а раз так - какой в этом смысл?

Если уж делать новый ЯП - то делать его революционным - чтобы в нём было что-то что привносит существенную пользу в процесс разработки в процесс исполнения.

Вот как я пропагандирую делать ЯП императивно-декларативным - чтобы на нём описывать лишь обобщённые алгоритмы (не вникая в детали реализации инструкций и функций той или иной платформы и её библиотек) - а уже умный AI -компилятор должен понять что реально нужно сделать - и сгенерировать соответствующий код под целевую платформу обладая знаниями о доступных библиотеках на этой целевой платформе! В том числе проведя его глубокую оптимизацию и , если надо, распараллеливание, и клиент-серверную адаптацию.
Это не простая задача - совмещающая в себе и машинное обучение и алгоритмы оптимизации и параллельного исполнения. Это достойная задача для развития ЯП второй половины XXI века
3. ksnik 564 21.10.21 12:03 Сейчас в теме
Есть еще Haxe — высокоуровневый кросс-платформенный язык программирования с открытым исходным кодом, а также компилятор, с помощью которого можно создавать приложения и генерировать исходный код на разных языках программирования для разных платформ.
Оставьте свое сообщение

См. также

Samsung разработала модуль биометрической аутентификации для смарт-карт

Новость ИТ-новость Новости компаний

Samsung представила чип биометрической защиты, который может быть установлен в банковские карты. Разработка объединяет в себе различные элементы безопасности, ранее наносимые на саму карту.

28.01.2022    8060    VKuser24342747    0       

Apple отложила требование об обязательном удалении аккаунтов в приложениях

Новость Безопасность ИТ-новость Мобильные приложения Новости компаний

Apple в очередной раз перенесла сроки вступления в силу новых правил App Store. В них прописано новое требование для всех разработчиков: добавить в приложение возможность удалять аккаунт.

27.01.2022    12009    VKuser24342747    0       

Исходный код модели Facebook XLS-R выложили в интернет

Новость Искусственный интеллект ИТ-новость Новости компаний

Одна из самых мощных многоязычных моделей распознавания речи XLS-R теперь доступна всем разработчикам. Facebook опубликовала исходный код решения на GitHub и Hugging Face.

27.01.2022    8024    user1015646    0       

Компания OPPO подготовила концепцию устройств без аккумуляторов

Новость Инновации ИТ-новость Новости компаний

Китайский производитель смартфонов OPPO опубликовал доклад, в котором представил идею зарядки IoT-устройств от сигналов мобильных телефонов, Bluetooth и сетей Wi-Fi.

26.01.2022    6206    VKuser24342747    2       

Visa разработала способ превратить почти любое устройство в POS-терминал

Новость ИТ-новость Новости компаний Онлайн-торговля

Visa запустила платформу, которая позволяет большинству популярных устройств подключаться к облаку и функционировать как платежный терминал. Решение уже доступно для тестирования в шести регионах.

21.01.2022    9433    VKuser24342747    0       

Новый инструмент Microsoft использует искусственный интеллект для поиска багов в коде

Новость Искусственный интеллект ИТ-новость Новости компаний

Microsoft представила новый инструмент на базе искусственного интеллекта. BugLab использует технологии глубокого обучения, чтобы находить баги в коде и давать советы по их исправлению.

24.12.2021    14702    user1015646    0       

В Windows можно будет запускать Android-игры

Новость Windows Google ИТ-новость Мобильные приложения Новости компаний

На выставке The Game Awards компания Google заявила, что Android-игры придут в Windows на десктопе уже в 2022 году.

20.12.2021    14032    user1015646    0       

Российская компания создала смартфон для ОС «Касперского»

Новость ОС Безопасность Импортозамещение ИТ-новость Мобильные приложения Новости компаний

Компания «Аквариус» представила устройство Aquarius CMP NS M11, которое полностью совместимо с Kaspersky OS. К концу года организация готова произвести 3 тыс. экземпляров телефона.

07.12.2021    17487    VKuser24342747    5       

Российская ОС «Аврора» получила крупное обновление до версии 4.0

Новость ОС ИТ-новость Мобильные приложения Новости компаний

Компания «Открытая мобильная платформа» выпустила мобильную операционную систему «Аврора» 4.0. Релиз включает более 300 улучшений, из них 40 – важные нововведения.

03.12.2021    20470    VKuser24342747    6       

Лаборатория Касперского представила бесплатную ОС

Новость ОС Безопасность ИТ-новость Новости компаний

«Лаборатория Касперского» выпустила собственную операционную систему. На базе KasperskyOS можно создать решения, которые защищены от многих видов кибератак.

01.12.2021    18443    user1015646    4       

«Яндекс» представил сервис для сканирования документов

Новость ИТ-новость Новости компаний Яндекс

В приложениях «Яндекс.Почта» и «Яндекс.Диск» появился новый сервис «Сканер». Он при помощи искусственного интеллекта обрабатывает фотографию документа, улучшает ее качество и выдает в результате «отсканированный» файл.

01.12.2021    23671    VKuser24342747    1       

OpenAI открывает доступ к API GPT-3

Новость Искусственный интеллект ИТ-новость Новости компаний

Компания OpenAI предоставила доступ к API (прикладному программному интерфейсу) алгоритмов обработки естественного языка GPT-3. Это открывает новые возможности для экспериментов с умными системами, которые могут имитировать человеческие возможности – например, писать стихи или отвечать на вопросы.

29.11.2021    21584    user1015646    0       

Компания JetBrains представила легковесный редактор Fleet

Новость ИТ-новость Новости компаний

Разработчики нового продукта пообещали своим пользователям поддержку инструментов коллективной разработки, удаленный доступ к проектам, а также возможность трансформации редактора в полноценную IDE.

29.11.2021    18008    ЕленаЧерепнева    8       

Разработчики Astra Linux создали аналог Microsoft Active Directory

Новость Linux Безопасность Импортозамещение ИТ-новость Новости компаний

Группа компаний «Астра» представила службу ALD Pro, которая замещает в российской ОС Astra Linux решение Microsoft Active Directory. Поддержку этой функции от системы часто требуют госзаказчики.

29.11.2021    34690    VKuser24342747    1       

В офисах Google появились универсальные роботы

Новость Автоматизация ИТ-новость Новости компаний

Офисы Google в Маунтин Вью, штат Калифорния, теперь станут гораздо чище. К уборке привлекли универсальных роботов, разработанных X Company, которая, как и поисковый гигант, входит в состав холдинга Alphabet.

25.11.2021    16219    user1015646    2       

Google выпустил версию браузера Chrome 96

Новость Интернет ИТ-новость Новости компаний

Новая актуальная версия Google Chrome 96 получила расширение инструментов для веб-разработчиков и экспериментальные функции в мобильной версии.

23.11.2021    26011    VKuser24342747    1       

Visual Studio 2022 и .NET 6: что нового

Новость ИТ-новость Новости компаний Языки программирования

Microsoft выпустила свежий релиз одной из самых популярных сред разработки. Вместе с Visual Studio 2022 представили обновленную платформу .NET 6.

22.11.2021    30765    user1015646    0       

«Сбер» обучил нейросеть ruGPT-3 генерировать программный код

Новость Искусственный интеллект ИТ-новость Новости компаний

Новая функция самой большой генеративной AI-модели для русского языка получила название JARVIS. Сейчас сервис способен работать с языками программирования Java, Python и JavaScript.

18.11.2021    16294    VKuser24342747    2       

Microsoft выпустит платформу Defender for Business

Новость ИТ-новость Новости компаний

Microsoft Defender for Business станет частью комплексного решения Microsoft 365 Business Premium, которое объединяет Microsoft Teams и Office 365 с основными инструментами безопасности для малого и среднего бизнеса.

16.11.2021    11727    SKravchenko    0       

Что нового в SQL Server 2022

Новость СУБД MS SQL ИТ-новость Новости компаний

Microsoft на ежегодной конференции Microsoft Ignite анонсировала предварительную версию SQL Server 2022 – теперь СУБД включает интеграцию с базой Azure SQL, службой аналитики Azure Synapse Analytics и платформой управления данными Azure Purview.

11.11.2021    26698    SKravchenko    0       

Microsoft вернула функцию Hot Reload в .NET после жалоб Open Source-разработчиков

Новость ИТ-новость Новости компаний

В открытую кодовую базу платформы .NET будет возвращена функция Hot Reload. Инцидент с удалением вызвал негодование и сторонних разработчиков, и сотрудников Microsoft.

29.10.2021    13444    VKuser24342747    3       

В Google Play добавили новый раздел для разработчиков

Новость Android Google ИТ-новость Мобильные приложения Новости компаний

В мае Google объявил о новом требовании для Android-приложений, которые будут публиковаться в официальном магазине. Теперь для этого в Google Play Console появился соответствующий раздел Data safety (безопасность данных).

27.10.2021    22375    user1015646    1       

Microsoft начала тестировать запуск Android-приложений в Windows 11

Новость Windows Android ИТ-новость Мобильные приложения Новости компаний

Microsoft разрешила участникам предварительного тестирования Windows 11 устанавливать приложения для Android через Windows Store. Пока доступен только ограниченный набор программ.

26.10.2021    10800    VKuser24342747    0       

Microsoft представила веб-версию редактора кода VS Code

Новость ИТ-новость Новости компаний Облачные технологии

Microsoft выпустила браузерный вариант приложения VS Code, который позволяет писать код онлайн. Для работы программы не потребуется установка дополнительных расширений.

25.10.2021    64858    VKuser24342747    6       

«Ростелеком» запустит облако на процессорах «Эльбрус»

Новость Импортозамещение ИТ-новость Микроэлектроника Новости компаний Облачные технологии

«Ростелеком» создаст облачную платформу на «Эльбрусах» для государственных предприятий и бизнеса. Организации смогут получить частное облако, работающее на полностью российских технологиях.

25.10.2021    16504    VKuser24342747    1