Нов език поддържа ниско и високо ниво на програмиране

Simit превъзхожда десетки и стотици пъти други езици за научно програмиране по скорост на писане на код

Simit превъзхожда десетки и стотици пъти други езици за научно програмиране по скорост на писане на код

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

Simit се базира на обратим автоматичен превод на описания на алоритми на ниско ниво в описания на високо ниво, или от графики в матрици, с помощта на числените методи на линейната алгебра. В резултат на това, моделирането на изисква от програмистите допълнително превключване и предполага традиционно писане на код само на езика на линейната алгебра.

Програмите, написани на Simit, могат да работят на обикновени изчислителни процесори (CPU) и графични процесори (GPU), без адаптиране на кода, уверяват разработчиците от MIT.

Освен това новият език се отличава с висока скорост за изпълнение на алгоритмите. Тестовете показват, че кодът на Simit работи от 4 до 20 пъти по-бързо на GPU, отколкото на CPU. По скорост на писане на кода, Simit превъзхожда десетки и стотици пъти показателите на други езици за научно програмиране. По думите на разработчиците, за изпълнение на един и същи алгоритъм, Sumit използва една десета част от стандартния обем код.

Учените се надяват новият език за програмиране да намери приложение в машинното обучение, робототехниката, анализа на данни и в много други направления на науката. В разработката на Simit участват още учени от Калифорнийския университет в Бъркли, университета в Торонто, Тексаския университет A&M, изследователи от Adobe и др.

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

Коментари по темата: „Нов език поддържа ниско и високо ниво на програмиране”

добавете коментар...

  1. Ганьо2

    zte, ритърн нема ли :)))

  2. zte

    func add(a : float, b : float) -> (c : float)
    c = a + b;
    end

  3. e90ld8

    за подробности “http://simit-lang.org”

Коментар