Машина вместо человека: можно ли автоматизировать программирование?

Автоматизация постепенно проникает во все сферы нашей жизни. Не избежало такой участи и программирование. Сможет ли робот или ИИ заменить человека в этом деле? Посетители сайта Quora поделились своим мнением по этому неоднозначному поводу. 

 

Эрик Пепке, гик

Уже несколько десятилетий программистов пугают подобными страшилками, но, как видите, до сих пор этого не произошло. Я не думаю, что это произойдет в ближайшем будущем, потому что, по сути, сейчас этим и так занимаются компиляторы. С развитием и улучшением компиляторов языки программирования медленно, но стремятся к более высокому уровню абстракции. Подобный процесс пока невозможен без участия человека. 

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

 

 

Гарри Тэйлор, занимается программированием еще с момента существования 8-битных компьютеров

Нет, это принципиально невозможно.

Как вы сможете без языка программирования объяснить автоматизированной системе, что именно вы бы хотели создать? Как донести, где вы хотите расположить кнопки, как они должны выглядеть и исходя из каких действий они будут появляться и исчезать? За что будет отвечать каждая кнопка? Будет ли нажатие на одну кнопку каким-то образом влиять на то, что произойдет с остальными кнопками? Что будет происходить, если после нажатия на кнопку пользователь решит отменить последнее действие?

И это всего несколько вопросов, которые касаются кнопок одного окна.

У компьютера нет CMYK-системы (цветовая модель «голубой-пурпурный-желтый»), нет концепции комбинированных цветов, он не знает, что такое комплект шрифтов и что собой представляют картинки. Компьютер вообще ничего не понимает. Все, на что способен компьютер, это следовать полученным инструкциям. На данный момент наилучшим способом донести наши инструкции до системы является использование языка программирования.

 

Кэмерон Эрл

Да. В конечном итоге любой сможет «программировать» — на естественном и привычном нам языке сообщать компьютеру, что именно мы хотим.

Программирование — это процесс коммуникации с компьютерами. Сначала мы говорили на естественном для компьютера языке — бинарном. Чтобы иметь возможность общаться с компьютером, нам необходимо было выучить его язык. И с тех самых пор умные люди непрерывно упрощают данный процесс коммуникации. Сначала единицы и нули были трансформированы в короткие команды (как команды для собак, «сидеть» или «голос»). Потом данные команды постепенно переросли и развились в некое подобие человеческого языка. Те общепринятые вещи, которые раньше требовали достаточно времени и уточнения многих деталей, сейчас могут быть донесены при помощи всего нескольких слов.

И подобный процесс будет развиваться: программирование будет все дальше уходить от простого изучения языка и донесения последовательных инструкций. Вместо создания стандартного и предсказуемого кода для каждой вашей команды компьютер сам будет определять, какое именно решение из множества существующих стратегий наилучшим образом подходит для поставленной задачи.

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

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

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

 

Филипп Лхост, увлекается языками программирования

Будет ли процесс полностью автоматизирован? Я думаю, что вряд ли. Или точно не в ближайшем будущем. Вполне возможно, что многие типовые задачи будут автоматизированы. Плюс дальнейшее развитие и внедрение искусственного интеллекта также значительно изменит существующий порядок дел.

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

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

 

Ричард Кеннет Энг, использует Fortran, Tandem TAL, C/C++, C#, Obj-C, Java, Smalltalk, Python, Go

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

Автоматизация программного обеспечения — непростая задача. За все годы существования в данной сфере произошло множество изменений и открытий. И в сфере разработки программного обеспечения будут и дальше проводиться исследования, как и во многих других технических областях: термоядерный синтез, гиперзвуковые пассажирские перевозки, электромобили, искусственный интеллект. Все эти проблемы не являются неразрешимыми, и в конце концов выход будет найден.

Версия для печатиВерсия для печати

Рубрики: 

  • 1
  • 2
  • 3
  • 4
  • 5
Всего голосов: 5
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Комментарии

Страницы

Аватар пользователя mike

...Можно ли автоматизировать программирование?

Автору перевода следовало бы различать понятия "автоматизированное" и "автоматическое". За что и кол.

Программирование уже давно автоматизировано. Распинаться не буду -- знающий да поймёт. :) А вот "автоматическое", т.е. без человека, даже не на подходе.

Аватар пользователя mike

Кроха-внук спросил меня: "А когда компы восстанут?" -- "Когда осознАют, что существуют, а люди их бессовестно эксплуатируют!" -- "А КАК ОНИ УЗНАЮТ, ОТКУДА БЕРУТ ЭНЕРГИЮ?" Дед в ступоре.

Аватар пользователя mike

Девушки минусы ставят? Ожидаемо!laugh

mike пишет:

...Можно ли автоматизировать программирование?

Автору перевода следовало бы различать понятия "автоматизированное" и "автоматическое". За что и кол.

Несправедливая придирка. В русском языке для обозначения одним словом действий "сделать автоматизированный" и "сделать автоматический" существует, увы, только один глагол – "автоматизировать" (подошло бы "автоматировать", но нет такого слова...). Догадаться можно по контексту, что вы с успехом и продемонстрировали.
... Хотя да, и мне, бывало, неудобства доставляло ...

Аватар пользователя mike

 Несправедливая придирка. В русском языке для обозначения одним словом ...

1. Вбиваем в Гугл "автоматизированное и автоматическое" без кавычек и смотрим различия.  Уместен вопрос: "Можно ли сделать программирование полностью автоматическим?" Русский язык достаточно богат. Не надо придумывать "автоматировать" и т.д.

2. Читаем заголовок:

"...Можно ли автоматизировать программирование?"

Ответ: давно автоматизировано. 

-1
Аватар пользователя mental

Русский язык бедный по сравнению с английским, просто видимо уровня последнего не хватает, чтобы понять это.

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

-1
Аватар пользователя mike

Был бы рад, если бы код писали ... менеджеры...

Вы же директор; поручите -- напишут! laugh

+1
Аватар пользователя mike

По сравнению с английским...

Английский -- очень богатый язык. Но, чтобы это понимать, нужно, как минимум, читать художественную, а не техническую литературу. То же относится и к русскому. :)

+1
Аватар пользователя mental

Я не директор, с чего вы взяли? Да, у меня есть место в иерархии компании, очень большой компании, но от меня до CEO ещё один уровень менеджеров. А по поводу "как скажу": нужен результат, а не попытка. Поэтому пока приходится мириться с существованием программистов. 

-1
Аватар пользователя savely

> Был бы рад, если бы код писали ... менеджеры...

Тогда они стали бы разработчиками. И код все равно бы писали разработчики. Логично? ;) 

+1

Страницы