Разработчик создал язык Ć для написания кода на С, 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 — высокоуровневый кросс-платформенный язык программирования с открытым исходным кодом, а также компилятор, с помощью которого можно создавать приложения и генерировать исходный код на разных языках программирования для разных платформ.
Оставьте свое сообщение

См. также

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

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

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

26.01.2022    6307    VKuser24342747    2       

CES 2021: главные анонсы первой технологической выставки года

Новость Инновации ИТ-новость Микроэлектроника

CES (Consumer Electronics Show) в Лас-Вегасе традиционно открывает год на мировом рынке технологий. Из-за ограничений, связанных с пандемией, выставку провели онлайн, но это не помешало производителям представить интересные новинки.

25.01.2021    26112    user1015646    2       

Взгляд в будущее больших технологий после 2020 года

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

2020 год стал проверкой для облачных технологий, потоковой передачи данных, искусственного интеллекта и других столпов цивилизации 21 века.

05.11.2020    42155    SKravchenko    0       

Программист из США попросил суд выдать ИИ патент на изобретение

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

Американский разработчик настаивает, что созданная им нейросеть стала автором двух изобретений. Патентное ведомство США отказалось признать ИИ владельцем интеллектуальных прав на устройства.

03.09.2020    16587    VKuser24342747    31       

Опубликованы первые результаты тестов спутникового интернета от Илона Маска

Новость Инновации Интернет ИТ-новость

Компания SpaceX Илона Маска запускает спутники на околоземную орбиту для создания провайдера Starlink. Успешные результаты бета-тестирования спутникового интернета сделают возможным широкополосный доступ к интернету в сельской местности.

21.08.2020    20148    SKravchenko    1       

Швейцарские ученые создали первый интуитивно понятный язык для квантовых компьютеров

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

Ученые из Высшей технической школы Цюриха (ETH Zurich) разработали язык программирования, который можно использовать для квантовых компьютеров так же легко, надежно и безошибочно, как классические. 

26.06.2020    13126    SKravchenko    0       

Nokia создала ПО для программирования интернете вещей на базе Tarantool

Новость СУБД Mail.Ru Инновации

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

02.12.2019    17931    user1015646    6       

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

Новость Инновации Цифровая экономика

Российские разработчики могут претендовать на получение грантов до миллиарда рублей. Субсидии будут выдаваться на конкурсной основе.

22.11.2019    17318    Bukaska    5       

Позолоти ручку: оплатить покупки в Amazon можно будет жестами 

Новость Инновации

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

09.09.2019    19632    VKuser24342747    0       

Заложено в генах: «Сбербанк» будет проводить ДНК-тесты

Новость Инновации

«Сбербанк» запустил медицинский проект SberHealth и активно ищет новых сотрудников для него. Подразделение займется ДНК-тестами, телемедициной и биохакингом. 

20.08.2019    20672    VKuser24342747    47       

Огонь, вода и «умные» трубы: российскую нейросеть научили чинить нефтепроводы

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

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

13.08.2019    16497    user1015646    5       

Японские инженеры создадут «нос» для смартфона с чувствительностью как у собаки

Новость Инновации

Компания Aroma Bit рассказала о планах выпустить сверхчувствительный датчик запахов. Разработчики сравнивают свое устройство по способности распознавать сигналы окружающей среды с носом собаки. 

02.08.2019    17870    VKuser24342747    8       

Звонок Шредингера: в России создан первый квантовый телефон

Новость Импортозамещение Инновации

Российские ученые продемонстрировали телефон с квантовым шифрованием стоимостью 30 млн рублей. Пользователи заметили, что похожее устройство можно найти на Amazon за 229 долларов.

31.05.2019    22013    VKuser24342747    36       

Россия откажется от развития больших данных и робототехники в рамках «Цифровой экономики»

Новость Инновации Цифровая экономика

Президиум наблюдательного совета автономной некоммерческой организации (АНО) «Цифровая экономика» сократит количество приоритетных проектов в сфере высоких технологий и искусственного интеллекта с девяти до шести.

31.05.2019    12773    user965726    22       

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

Новость Инновации Интернет

Компания Илона Маска SpaceX запустила проект Starlink, выведя на орбиту 60 спутников для глобального интернета. В будущем число спутников достигнет 12 тыс., чтобы обеспечить интернетом каждого жителя планеты.

29.05.2019    61168    user1015646    189       

До 2023 года России потребуется 300 тыс. ИТ-специалистов новых направлений

Новость Инновации Образование Цифровая экономика

Рабочие места для специалистов новых ИТ-направлений создадут в рамках Национальной технологической инициативы (НТИ). Вакансии готовятся открывать по направлениям: беспилотная авиация, беспилотный транспорт, умная энергетика.

24.05.2019    14174    user1015646    16       

Представлен первый в мире ноутбук с гибким экраном

Новость Гаджеты Инновации

Lenovo стала первой в мире компанией, разработавшей гибкий ноутбук. Он складывается, как книга, и у него нет традиционной физической клавиатуры.

15.05.2019    23971    user1015646    2       

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

Новость Развлечения, искусство, спорт Инновации Искусственный интеллект

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

26.03.2019    19640    VKuser24342747    8       

Ученые разработали детектор лжи для мессенджеров и социальных сетей

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

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

25.03.2019    19617    user971588    8       

Российские студенты поставят в США телеприставку с распознаванием лиц

Новость Инновации Стартапы Телекоммуникации

Резиденты томского бизнес-инкубатора «Дружба» создают ТВ-приставку с распознаванием лиц. Поставлять решение они планируют в США и на рынки других западных стран.

25.03.2019    15332    user1015646    6       

Mobile World Congress-2019: складные смартфоны, онлайн-хирургия и торжество 5G

Новость Гаджеты Инновации Наука

В Барселоне прошла крупнейшая в мире выставка мобильных технологий Mobile World Congress-2019 (MWC). Технологические гиганты и крупнейшие операторы обсудили перспективы развития отрасли и представили последние изобретения.

16.03.2019    18518    SKravchenko    1       

Microsoft создает облегченную операционную систему Lite OS

Новость Google Инновации

Компания Microsoft разрабатывает операционную систему, которая будет потреблять гораздо меньше ресурсов, чем Windows. Решение с рабочим названием Lite OS представят этой весной.

10.03.2019    24670    user1015646    5       

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

Новость Инновации

Microsoft на конференции MWC 2019 представила гарнитуру HoloLens 2, которая сочетает технологии виртуальной и дополненной реальности. Устройство рассчитано на корпоративных клиентов.

03.03.2019    16179    SKravchenko    2       

Отечественный робот научился стрелять, и его лишили иностранных деталей

Новость Импортозамещение Инновации Робототехника

Зарубежные компании отказались предоставлять оборудование и запчасти для российского НПО «Андроидная техника», которое занимается разработкой отечественного робота-спасателя «Федор».

01.03.2019    18183    VKuser24342747    31       

В России ЕГЭ переведут на блокчейн

Новость Блокчейн Инновации Наука Образование

Российские специалисты задействуют блокчейн-технологии для проведения ЕГЭ уже в 2019 году. Такими планами поделился глава Рособрнадзора Сергей Кравцов.

27.02.2019    23916    user1015646    47