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

19.10.2021      44205

Разработчик из Польши Петр Фусик представил язык программирования Ć. Главная особенность технологии – возможность транслировать написанный код на С, С++, 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 565 21.10.21 12:03 Сейчас в теме
Есть еще Haxe — высокоуровневый кросс-платформенный язык программирования с открытым исходным кодом, а также компилятор, с помощью которого можно создавать приложения и генерировать исходный код на разных языках программирования для разных платформ.
Оставьте свое сообщение

См. также

GitHub открыл доступ всем разработчикам к ИИ-помощнику Copilot по подписке

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

Github Copilot стал общедоступным, но для его использования пользователю репозитория нужно приобрести подписку. Хотя некоторые разработчики могут пользоваться инструментом бесплатно.

24.06.2022    700    VKuser24342747    1       

Google назвала пять трендов машинного обучения в 2021 году

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

Google провела исследование, в котором озвучила ключевые направления развития индустрии машинного обучения (МО) в 2021 году. Компания ожидает в ближайшие годы научных прорывов в отрасли.

27.01.2022    21014    VKuser24342747    0       

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

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

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

27.01.2022    8119    user1015646    0       

Число патентов на нейросетевые технологии показало взрывной рост

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

Агрегатор патентных данных IFI Claims провел исследование рынка, что узнать: какие страны и компании наиболее активно регистрируют права на изобретения в области компьютерных систем, основанных на биологических моделях.

20.01.2022    5902    VKuser24342747    0       

Nvidia обновила программу для генерации пейзажей при помощи ИИ

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

Новая версия графического редактора Nvidia Canvas, создающего изображения по примитивному наброску, поддерживает высокое разрешение картинок и предлагает больше материалов.

19.01.2022    8688    VKuser24342747    0       

OpenAI обучила нейросеть редактировать изображение по текстовому описанию

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

OpenAI показала результат работы программы GLIDE, которая способна внести изменения в готовое изображение по описанию с сохранением стиля и экспозиции. Также нейросеть может создавать уникальные картинки.

29.12.2021    12301    VKuser24342747    0       

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

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

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

24.12.2021    14759    user1015646    0       

Яндекс научил «Балабобу» генерировать новогодние открытки

Новость Искусственный интеллект ИТ-новость Яндекс

Яндекс представил обновление для своего нейросетевого сервиса для создания текстов «Балабоба». Веб-приложение научилось генерировать именные поздравления с Новым годом и изображения к ним.

21.12.2021    17777    VKuser24342747    0       

Языковая модель DeepMind превосходит аналоги по качеству работы

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

ИИ-лаборатория DeepMind представила исследования возможностей больших языковых моделей. В компании пришли к выводу, что необходимо дальнейшее масштабирование таких систем.

17.12.2021    23252    VKuser24342747    0       

Лауреатов «Премии Рунета 2021» впервые определил искусственный интеллект

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

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

16.12.2021    31851    VKuser24342747    1       

МИД разработает систему на базе ИИ для анализа внешней политики

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

МИД России намерен в следующем году представить концептуальный проект системы на базе машинного обучения для анализа big data в отношении внешнеполитической деятельности.

16.12.2021    14112    VKuser24342747    0       

Российский ИИ проведет психоанализ по постам в социальных сетях

Новость Искусственный интеллект ИТ-новость Соцсети

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

10.12.2021    13055    user1015646    2       

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

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

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

29.11.2021    21679    user1015646    0       

Специальный алгоритм очистит данные переписи населения

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

В России завершился первый этап Всероссийской переписи населения. Росстат будет в автоматическом режиме очищать собранные данные от продублированных записей при помощи российской BI-системы.

26.11.2021    18777    VKuser24342747    0       

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

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

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

18.11.2021    16416    VKuser24342747    2       

«Сбер» представил нейросеть для генерации картинок по описанию

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

Сервис ruDALL-E способен генерировать изображения с нуля по текстовому описанию на русском языке. Авторы полагают, что модель будет полезна для создания рекламного, архитектурного и промышленного дизайна.

11.11.2021    16713    VKuser24342747    11       

Нейросеть GitHub Copilot стала доступна в Neovim и разработках JetBrains

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

Ассистент программиста GitHub Copilot, генерирующий код при помощи ИИ, включен в последние версии редактора кода Neovim, а также в IDE IntelliJ и PyCharm от компании JetBrains.

08.11.2021    16905    VKuser24342747    1       

Правительство совместно с ИТ-компаниями подготовили кодекс этики в сфере ИИ

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

Правительство, «Сбер», «Яндекс», VK и другие российские компании подготовили документ, который содержит рекомендации для бизнеса по морально-этическим вопросам использования ИИ.

03.11.2021    16571    VKuser24342747    8       

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

Новость Интернет Искусственный интеллект ИТ-новость Яндекс

«Яндекс» совместно с Microsoft создали протокол IndexNow, который позволяет сайтам оповещать поисковые системы об изменениях. Технология поддерживается только в Bing и в поиске «Яндекса».

26.10.2021    16294    VKuser24342747    0       

МГУ представил первый национальный стандарт для ИИ и больших данных

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

Национальный центр цифровой экономики МГУ подготовил к публичному обсуждению первую редакцию отечественного стандарта для работы с большими данными и нейросетями.

12.10.2021    12448    VKuser24342747    1       

OpenAI научила нейросеть кратко пересказывать содержимое книг

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

OpenAI представила инструмент, который генерирует краткое содержание книг при помощи машинного обучения. Нейросеть способна ужать произведение из тысяч слов до нескольких сотен.

30.09.2021    24491    VKuser24342747    2       

Оплата лицом заработает на всех станциях метро Москвы

Новость Искусственный интеллект ИТ-новость Цифровая экономика

В столичном метрополитене внедряют систему FacePay. С 15 октября оплатить проезд можно будет, не доставая смартфон, карту или жетоны из кармана.

14.09.2021    10404    user1015646    2       

Исследователи синтезировали выразительную устную речь

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

Синтетическое воспроизведение речи от голосовых помощников и автопереводчиков не передает эмоций и интонаций. Специалисты NVIDIA разработали систему искусственного интеллекта, которая решает эту проблему: ее речь сложно отличить от естественной.

10.09.2021    28967    user1015646    0       

В Google научились увеличивать изображения в 16 раз с восстановлением деталей

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

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

09.09.2021    12689    user1015646    3       

Петербургские ученые обучили нейросеть находить вредоносных ботов в соцсетях

Новость Безопасность Искусственный интеллект ИТ-новость Соцсети

Сотрудники Санкт-Петербургского федерального исследовательского центра Российской академии наук (СПб ФИЦ РАН) создали решение для поиска ботов, размещающих спам и дезинформацию на любом языке.

02.09.2021    11543    VKuser24342747    1