Какие задачи никогда не смогут выполнить инструменты автоматизации программирования? - PullRequest
2 голосов
/ 18 декабря 2010

Я только что закончил урок по InfoPath, где учитель мрачно смотрел в будущее программистов.Мне всегда было трудно поверить, что кто-то напишет инструмент, который позволит нетехническому человеку выполнять работу программиста, но, похоже, есть некоторый прогресс в этом направлении с такими вещами, как SharePoint, InfoPath и DotNetNuke.

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

Ответы [ 7 ]

2 голосов
/ 18 декабря 2010

Эти инструменты работают, позволяя вам программировать на «более высоком уровне», чтобы все было легко понять. Это почти всегда означает, что в то же время это ограничивает вас. Всегда будут вещи, для которых эти инструменты не годятся - вы бы использовали такой инструмент для создания SQL Server? Не думай так.

2 голосов
/ 18 декабря 2010

Инструмент никогда не сможет быть не инструментом.

1 голос
/ 18 декабря 2010

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

  • анализ
  • дизайн
  • политика
  • Документация

и так далее.

И программы глубоко увлечены этим. Итак, ваша работа, вероятно, в безопасности.

1 голос
/ 18 декабря 2010

Написание инструмента автоматизации программ. Или любая нетривиальная алгоритмическая разработка. Или компилятор, или новый язык программирования

Есть все виды шаблонов, которые можно заменить, но все, что не является эталоном, действительно не может быть. Может быть, программа придумала алгоритм Дейкстры или heapsort?

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

0 голосов
/ 18 декабря 2010

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

Определенные типы программирования могут устареть. Роль программиста меняется со временем:

  • Машинное программирование становится все менее распространенным, так как языки более высокого уровня занимают
  • Программы, которые знают, как переписать свой собственный набор команд в памяти, теперь менее актуальны, когда в компьютере достаточно памяти
  • Фреймворки, библиотеки и инструменты, такие как Sharepoint, выполняют некоторую "тяжелую работу" программирования и позволяют программисту тратить больше времени на бизнес-логику и функции, которые повышают ценность для пользователя

Люди, которые сегодня используют эти языки высокого уровня, ПК с большим объемом памяти, фреймворки и библиотеки, все еще являются программистами. Эти виды достижений понижают планку входа в область программирования. Программисты придерживаются уникально точного, буквально мыслящего мышления, которое позволяет им переводить «мягкие» требования в «жесткую» машинную логику. Обычные пользователи могут использовать программирование; но им часто не хватает этого мышления, и программное обеспечение, которое они создают, страдает от этого.

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

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

0 голосов
/ 18 декабря 2010

Полностью согласен с Ziplin.

Это то же самое, что iPhone OS или новый Android App Builder. Они создают песочницу, в которой вы можете делать основные вещи проще. Но все вещи, которые заставляют его работать гладко, сделаны настоящими программистами. Проверка ошибок, низкоуровневое программирование строительных блоков ...

Суть в том, что кто-то умный должен сделать продукт таким, чтобы интерфейс был интуитивно понятным и чтобы вы не могли совершать ошибок. А этот «кто-то умный» - программист.

0 голосов
/ 18 декабря 2010

Написание инструмента в первую очередь? Или ОС для запуска? Или прошивка в биосе, или много других устройств? Есть много областей, где программисты будут необходимы. Я не верю, что компьютер сможет интерпретировать требования с точностью; это требует сознательного разума. Также сознательный интеллект не сможет писать требования с достаточной точностью, если вы не называете этих «интерпретаторов требований» программистами.

Короче говоря, ваш учитель не очень умен.

...