LINUX.ORG.RU

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

 , , ,


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

>>> Источник

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

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

ОС можно сделать?

anonymous ()

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

Psych218 ★★★★★ ()

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

anonymous ()

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

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

zabbal ()

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

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

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

The Art of Positive Thinking.

anonymous ()

Похож на Julia. Только Julia уже пользуется успехом, а этот Simit - нет.

FilosofeM ()

Simit

IDE будет ТОРА?

anonymous ()

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

full_inu ()

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

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

mos ★★★★★ ()

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

anonymous ()

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

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

Stalin ★★★★★ ()

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

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

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

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

Esper ()

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

umren ★★★★★ ()

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

в цитатник

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

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

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

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

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

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

anonymous ()

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

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

зайдем с другой стороны, чем синтаксис паскаля не нравиться всем?)

Vimmer ()

Точки с запятой, точки, мать их, с запятой...

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

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

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

ну в го и свифт точек с запятой нет, как и отступов, шах и мат?

umren ★★★★★ ()

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

kto_tama ★★★★★ ()

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

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

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

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

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

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

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

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

с отступами по 4 злогребучих пробела

Ставлю табы — брат жив.

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

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

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

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

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

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

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

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

StReLoK ★☆ ()

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

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

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

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

В swift точки с запятыми никто не мешает ставить, если очень хочется.

mono ★★★★★ ()
Последнее исправление: mono (всего исправлений: 1)

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

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

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

intelfx ★★★★★ ()

открыл примеры:

var foo : int;
do
  x = 2 * x;
end while x < 100
поцкаль вылез из могилы и завыл на луну

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

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

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

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

QtCreator еще фанат пробелов. никакими настройками не перешибёшь. он видимо что-то знает

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

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

EXL ★★★★ ()

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

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