Новая технология Microsoft может оставить программистов без работы
Microsoft совместно с Кембриджским Университетом разрабатывает программное обеспечение под названием DeepCoder. Встроенный искусственный интеллект умеет работать с описанием разрабатываемого ПО и искать подходящий код среди массивных баз данных с уже известными работающими строками кода. DeepCoder словно сошёл со страниц научно-популярной фантастики минувших лет – имея всего лишь ряд требований, DeepCoder составляет собственный рабочий алгоритм всего за несколько секунд, буквально выдёргивая куски подходящего рабочего кода из имеющихся в открытом доступе баз данных.
“Потенциал для автоматизации написания программного кода просто невероятен. Это означает сокращение огромного количества усилий, которые требуются для разработки кода, – говорит Армандо Солар-Лезама из Массачусетского Технологического Института, который не принимал участия в работе. – Такая система будет гораздо продуктивнее любого человека. Кроме того, можно будет создавать системы, которые раньше было невозможно построить”.
DeepCoder распознаёт, какие комбинации исходного кода работают, а какие нет, причём качество подбора частей кода улучшается с каждым разом. DeepCoder создаёт рабочие программы за доли секунды, в то время как более старые системы тратят по несколько минут, перебирая и пробуя разные комбинации строчек кода до тех пор, пока одна из них не сработает. Таким образом, разработка Microsoft представляет собой более “умную” и продвинутую платформу.
Впрочем, программистам и разработчикам пока не стоит волноваться. О полной автоматизации процесса написания рабочих программ речи не идёт. В последних тестовых проверках DeepCoder успешно справлялся с составлением кода из пяти строк. Тем не менее развитие AI и нейронных сетей осуществляется такими темпами, что всего через несколько лет мы можем получить первые реально действующие наработки в этой области. Не исключено, что когда-нибудь пользователь сможет описать необходимую ему программу, а компьютер моментально выдаст рабочее приложение с готовым интерфейсом.