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

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

 

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

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

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

 

 

 

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

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

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

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

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

 

Кэмерон Эрл

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

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

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

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

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

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

 

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

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

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

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

 

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

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

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

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

Рубрики: 

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

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

 

Комментарии

Страницы

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

Я не директор

Сорри, ошибся; это SlavaII директор. Тут много начальников: Вы, он, Савелий, Эдуард, Петро...  А я -- victus оrdinarius... sad

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

Я-то с какого начальник? wink 

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

Ну чего-то там проскакивало. Хотя, если дресс-код -- трусы, то, возможно, и не шеф.

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

> Ну чего-то там проскакивало.

Ну, у меня штатно нет подчиненных. Но сам я подчиняюсь только "профильному" замдира с правом апелляции big boss'у (не директору, а владельцу, директор у нас скорее "административная единица") или напрямую big boss'у. Ну, и могу ставить задачи бойцам по согласованию с их начальниками отделов/замдира. 

Типа "министр без портфеля". Уровень начальника отдела, приближенного к боссу, но без собственно отдела. При этом сидящего дома в трусах и пишущего код в свободное от отдыха время. ;)

mike пишет:

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

Вы виртуозно владеете гуглом. Но есть маленькая недоработочка, попробуйте вбить в него именно "автоматизировать", в качестве последнего штриха образования ... Кроме того, не напоминает ли ваш вариант "сделать быстрым", вместо "ускорить" или "сделать длинным" вместо "удлинить",  "сделать беременной" ...? Дело вкуса, конечно, но и только. Обидели девушку не за что.

 

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

Обидели девушку...

Если Вы такой уж скрупулёзный, то замечу, что следовало бы озаглавить: "Можно ли ПОЛНОСТЬЮ автоматизировать...", и всё.

Обидели девушку...

А пусть не переводит бесполезную болтовню. Один я, что ли, кол поставил. 

Отвечаю на топик-вопрос: не ранее, чем ИИ научится не только решать, но и ставить задачи.

Но кого интересует мнение каких-то там "тутэйшых", вот англо-саксы -- это да, это же истина в последней инстанции!

 

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

О, так и знал: счас девушки-спасительницы подтянутся и своей товарке "пять" поставят, а мне, само-собой, синус. :)

-1

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

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

Для бухгалтера уже уже всё полностью автоматизировано! Но это -- не программирование. Нового софта не создаётся.

mike пишет:

Обидели девушку...

Если Вы такой уж скрупулёзный, 

Не скрупулезный, а справедливый 

А пусть не переводит бесполезную болтовню. Один я, что ли, кол поставил. 

Я почти 20 лет в отрасли в качестве бизнес-аналитика (сложные АСУП), но пришел из совершенно чуждой, можно сказать, древней гуманитарной и довольно снобистской предметной области. Так вот, имея возможность сравнивать, скажу, что одной из грустных черт программсистов является именно неоправданный агрессивный снобизм (оправданным, в смысле объяснимым, я бы согласился считать снобизм в какой-то древней, обладающей своей общепризнанной школой и культурой, дисциплине, а что такое программирование в этом смысле? Это производственная отрасль в младенческом возрасте, ни цельной школы (философия, нравственность, этика, эстетика ...), ни культуры. Чем чваниться? Бабками, на волне технологической революции? Тинейджерской циничностью? Супер-прагматичностью, которая эквивалентна отсутствию воображения и обыкновенной жадности в окружающем мире? Вот-вот, о том и говорю ...

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

Отвечаю на топик-вопрос: не ранее, чем ИИ научится не только решать, но и ставить задачи.

Единственная, но довольно расхожая мысль в тему.

На самом деле, качество обсуждения полностью зависит от качества комментариев. А наивность старттопика может быть на пользу обсуждению, – наивные формулировки отличный способ и повод "невзначай" копнуть поглубже в суть. 

Страницы