В будущем программы будут создаваться из модулей, а задачи разработчиков могут свестись к поддержке систем автоматического создания кода, утверждает топ-менеджер Microsoft Норм Джуда. Тем временем система DeepCoder от Microsoft уже решает простые задачи с соревнований по программированию самостоятельно.
На сегодня большинство разработчиков пишут на C++, C#, Python или Java, но, по словам CTO Microsoft Services Норма Джуды, в ближайшие годы разработка сместится в сторону использования модульных систем, большинство которых будет сконцентрировано вокруг дата-центров.
Традиционные способы написания кода останутся важны, но их применение станет уделом отдельных специализаций.
«Я не знаю, какой язык станет ключевым для этого, но по-прежнему останутся люди, которые будут кодить движки или драйверы на C++ или C#. Но если говорить о бизнес-решениях, то их будут создавать с помощью моделей», — сказал Джуда на конференции Future Decoded в Мумбаи.
Неудивительно, что прогнозы одного из главных управленцев Microsoft находят отражение в реальных проектах, которые создаёт компания.
Так, издание NewScientist сообщило о системе DeepCoder, способной самостоятельно решать простые задачи с соревнований по программированию. DeepCoder — результат совместной работы Microsoft и Кембриджского университета, уже сейчас способный значительно упростить создание простых приложений людьми, незнакомыми с программированием.
Один из авторов системы Марк Брокшмидт утверждает, что использованный подход позволит «не программистам» описать идею программы и дождаться выполнения задания электронным разумом.
DeepCoder создаёт новые программы на основе строк из реально существующего рабочего кода. Преимущество искусственного интеллекта в этом случае заключается в том, что он может осуществлять намного более глубокий поиск нужных исходников, чем разработчик-человек. Кроме этого, проект применяет машинное обучение для сортировки найденных фрагментов исходя из их «полезности».
Использованные подходы позволяют DeepCoder работать намного быстрее предшественников, собирая нужный код за доли секунд. А из-за умения «запоминать», какой код работает лучше, с каждым выполненным заданием качество итоговых программ улучшается.
«Потенциал автоматизации, который предлагает технология, способен привести к грандиозному уменьшению усилий, которые требуются для создания кода», — отмечает Орландо Солар-Лезама из Массачусетского технологического института.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.