LINUX.ORG.RU

В MIT разработали новый язык программирования

 , simit, ,


3

7

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

Язык программирования Simit основан на обратимом автоматическом переводе низкоуровневого описания алгоритмов в высокоуровневое, или графиков в матрицы, с помощью численных методов линейной алгебры. Дальнейшее моделирование не требует от программиста дополнительного переключения и предполагает традиционное написание кода только на языке линейной алгебры. Программы, написанные на Simit, могут работать на обычных (CPU) и графических (GPU) микропроцессорах без адаптации кода.

Вместе с тем новый язык отличается высокой скоростью выполнения алгоритмов. Тесты показали, что на GPU код Simit работает в 4–20 раз быстрее, чем на CPU. Скорость написания кода на Simit в десятки и сотни раз превзошла показатель других языков научного программирования. По словам исследователей, такого результата удалось достичь за счет повышения производительности языка: для выполнения одного и того же алгоритма ему потребовалось 0,1 от стандартного объема кода.

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

Участие в разработке Simit принимали ученые из MIT, Калифорнийского университета в Беркли, Торонтского университета, Техасского университета A&M, Техасского университета в Остине, а также исследователи из компании Adobe Systems Inc.

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

GitHub

Источник

Примеры кода и описание языка

>>> Подробности

☆☆

Проверено: Falcon-peregrinus ()
Последнее исправление: unfo (всего исправлений: 2)

Непонятно, чем язык лучше julia или nim и как он позволяет писать быстрее/меньше кода по сравнению с ними или в python (понятно, что в python производительность будет ниже, речь о другом). Посмотрел примеры, вообще никаких киллерфич не увидел. julia и nim и то интереснее кажутся. Хотя если там легко и непринуждённо можно выполняться на GPU, это, конечно, плюс. Но не плюс языка, а плюс реализации компилятора.

Psych218 ★★★★★
()

Используется LLVM backend.

anonymous
()

Simit опубликован под лицензией MIT
а также исследователи из компании Adobe Systems Inc

Ещё и голимая императивщина - можно сразу закапывать.

zabbal ★★★★★
()
Ответ на: комментарий от tailgunner

По крайней мере он статически типизированный.

The Art of Positive Thinking.

anonymous
()

Предлагаю переименовать сборщик мусора в сборщик податей.

full_inu
()

как в проектах с открытым исходным кодом, так и в коммерческих проектах

ортогональные вещи

mos ★★☆☆☆
()

кошерный язык, годный :)

anonymous
()

Даже не знаю, как реагировать. С одной стороны, слишком громкая пиар-компания. А с другой, уважаемые мной сайты не побрезговали поместить новость на первые места с оптимистическими комментариями. И МИТ - это всё-таки не коммерческие Гугл или Самсунг.

Надо ждать юзеров, уже попробовавших в реальных проектах этот язык.

Stalin ★★★★★
()
Ответ на: комментарий от Vimmer

По синтаксису напоминает паскаль

В каком месте? ИМО, там от Поцкаля только указание типов после названия переменной, а это уже мейнстрим по нынешним временам.

Esper
()

Не написан сам на себе?

umren ★★★★★
()

новый язык отличается высокой скоростью выполнения алгоритмов

в цитатник

trupanka
()
Ответ на: комментарий от Psych218

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

Если ты занимаешься чем-то совсем другим, то профита, от этого, разумеется, может не быть совсем никакого. Короче, это нишевая тема, но всем, кто занимается чем-то, что можно свести к симуляциям на графах, может быть очень интересно.

Жаль что этого не было в новости...

anonymous
()
Ответ на: комментарий от FilosofeM

У Джулии богомерзкое индексирование с единички, чем они, к тому же, гордятся, несмотря на глупые аргументы.

anonymous
()

Вау, новый язык программирования!
Да еще и с высокой скоростью выполнения алгоритмов, ну ничего себе!

thesis ★★★★★
()
Ответ на: комментарий от anonymous

А чем тебе ; не угодили? Или хочешь как в пистоне - без всего, зато с отступами по 4 злогребучих пробела?

StReLoK ☆☆
() автор топика

есть два интересных момента
во первых, простота имплементации математических алгоритмов
во-вторых, оно сразу работает и на gpu, и на cpu - не надо огород городить в виде cuda

kto_tama ★★★★★
()

Императивненько, однако.

asaw ★★★★★
()
Ответ на: комментарий от StReLoK

Т.е. были бы там дурацкие точки с запятой после каждого выражения, то были бы идеальными? Зачем они тебе?

А что касается пробелов, я всё больше склоняюсь к мнению, читая мегабайты нашего внутреннего говнокода, что лучше форматирование закрепить в грамматике, как в go, и неправильно отформатированная программа будет просто не компилироваться.

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

anonymous
()
Ответ на: комментарий от anonymous

Неа, все равно не были бы. Потому что идеала просто не бывает. Но тот же Go был бы определённо лучше, если бы имел ;. А по поводу нормального форматирования - да, тут согласен, бить по рукам за пробелы нужно. Хотя прибивать костылями к грамматике не стоит.

StReLoK ☆☆
() автор топика
Ответ на: комментарий от utf8nowhere

Надеюсь, что мне никогда не придется работать с твоим кодом.

anonymous
()
Ответ на: комментарий от StReLoK

Хотя прибивать костылями к грамматике не стоит.

А зачем прибивать костылями? Надо прибивать гвоздями. Как только что-то не прибито, шаловливые ручки сразу берутся за своё: вон в треде уже один табофил отписался, а есть такие, которые 2 пробела ставят вместо 4-х, потому, что так компактней... и начинается.

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

anonymous
()
Ответ на: комментарий от anonymous

Ну я тоже табофил. Его ведь для этого и придумали. А за наркоманские пробелы в коде надо заставлять форматировать .doc в некроофисе с помощью пробелов.

StReLoK ☆☆
() автор топика

Все молодные, амбициозные и перспективные программисты давно знают, что программировать надо только на JavaScript! У него очень хорошая скорость выполнение алгоритмов! Остальное фигня.

Alve ★★★★★
()
Ответ на: комментарий от StReLoK

Пробел хорош тем, что ты уверен в его размере. Таб плавает от настроек.
Пацаны меняют Таб на пробелы и пользуются табом.

kedr
()

Ой, новый стильный модно-молодежный язычок! Надо скорее осваивать, а то не буду в тренде!

Sociopsih ★☆
()
Ответ на: комментарий от kedr

Мозг хорош тем, что при его правильном применении от смены размера таба форматирование не плывёт. Indent with tabs, align with spaces.

intelfx ★★★★★
()
Ответ на: комментарий от Vimmer

чем синтаксис паскаля не нравиться всем?

Без понятия. Поделись, если в курсе.

Esper
()
Ответ на: комментарий от i36_zubov

Не неси ерунды, всё там настраивается отлично. Qt Creator даже сам может определять что ставить: пробелы или табы по строкам кода выше.

EXL ★★★★★
()

Компьютер - это такая штука, которая позволяет наступать на грабли несколько тысяч раз в секунду. А интернет позволяет наступить на любые грабли в мире.

kirill_rrr ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.