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

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

 

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

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

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

 

 

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

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

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

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

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

 

Кэмерон Эрл

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

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

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

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

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

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

 

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

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

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

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

 

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

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

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

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

Рубрики: 

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

Комментарии

Страницы

kuzmenoka пишет:

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

Проблема в том, что этого он (бухгалтер) не знает.

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

mental пишет:

Про язык для бухгалтера - SQL и Кобол задумывались именно в такой парадигме. Оба вышли не особо удачными. 

Они вполне удачные.

SQL - используется до сих пор.

Cobol - на нём до сих пор проги в Штатах крутятся. Да, их переводят на Java. Но их (на Cobol) было написано много, очень много - океаны...

Тут иное - эти языки, специально разработанные для бухгалтера, бухгалтерами не использовались вовсе. Да, парадокс. (С)

 

mike пишет:

гуру вы наш.

Не обзывайтесь. С SQL работаю постоянно. И много лет. С Коболом знаком только по статьям. И то, и другое требуют вмешательства квалифицированного программиста. 


Верно. Но их создали и продвигали как языки для ... конечного пользователя (бухгалтера, кладовщика, экономиста ...) .

В реальности вышло что вышло.

 

Страницы