avatar

Sketch – язык программирования, способный "дописывать" программы самостоятельно
Опубликовано в Проекты и концепты



Армандо Солар-Лесама, адъюнкт-профессор Отдела искусственного интеллекта и электротехники MIT, еще будучи студентом, начал работать над языком программирования Sketch, дающим возможность при написании программы пропускать часть участков кода и восполняющим пропущенные промежутки самостоятельно, оптимизируя конструкции.
Основной целью Sketch является облегчение жизни программистов. Однако, у профессора есть и более глобальная задача – создание инструментов, выполняющих автоматический синтез программ, что позволит компьютерам самим писать код без участия человека.
С помощью компилятора языка Sketch специалисты Лаборатории искусственного интеллекта и информатики уже реализовали несколько проектов. Среди них — система для учебных классов по информатике, которая может преобразовывать произвольные блок-схемы и диаграммы алгоритмов в рабочий код. Также в числе проектов — технология, способная составлять запросы к базе данных SQL на Java.
Исследования, проведенные в MIT, показывают, что наиболее высока эффективность применения Sketch в сложных проектах. Кроме того, компилятор Sketch может использоваться как корректировщик кода: в последней версии компилятор самостоятельно устранял ошибки в коде программ студентов.
Основная идея языка Sketch – метод отыскания оптимального решения задачи. Любую математическую или логическую задачу можно решить несколькими путями, число которых иногда может быть бесконечным. И если программа сложна, то число ее решений крайне велико, а поиск оптимального займет огромное время. Создатели Sketch нашли способ ускорить поиск решений, благодаря чему на это затрачивается несколько миллисекунд.
Дальнейшим направлением развития разработчики называют предоставление программисту возможности выбрать некоторые критерии, по которым должны быть написаны участки кода, функции и программа. После этого Sketch сможет написать участки кода и функции, соответствующие заданным критериям. Может получиться так, что программистам станет даже сложнее работать, так как иногда придется задавать множество разноплановых критериев. Однако, подобный подход поможет решать задачи в разы быстрее, чем в традиционном программировании.
Разработчики Sketch говорят, что нужно проделать еще много работы, прежде чем можно будет практически использовать возможности Sketch. Часть тестов показывает, что иногда компилятору требуется много времени, чтобы синтезировать машинный код. Это связано с недостаточной точностью постановки задачи. «Пока что программисту нужно глобальное понимания всей большой задачи и умение пользоваться тонкостями автоматического программного синтеза. Однако, по мере развития наш компилятор и язык станут интеллектуальнее, что позволит быстро и безболезненно перейти на него с других языков программирования», — отмечают в компании.
2

Читайте также


Loading...

2 комментария

avatar
Программа, которая пишет программы…
avatar
Метапрограммирование:)

Оставить комментарий