Некоторые люди считают, что программирование - это просто повторяющаяся печать на клавиатуре. Все это не правда. Прежде всего, вам нужно сделать гораздо больше, чем просто ввести код, такой как архитектура проектирования и так далее. Во-вторых, это может быть сильно меняющаяся, неповторяющаяся задача, с новыми проблемами, возникающими постоянно.
Как вы должны объяснить, что программирование не является повторяющейся задачей для непрограммистов ?
Ответы:
Приведите им примеры, к которым они могут относиться.
Теннис повторяется. Вы просто продолжаете бить мяч все время по другую сторону сетки.
Футбол повторяется. Вы просто продолжаете пинать мяч каждый раз, пока не найдете цель ворот.
Игра на пианино повторяется. Вы продолжаете двигать пальцами по доске.
Блин, все так скучно !!!
источник
Вы всегда можете сказать, что программирование - это повторяющаяся типизация в той же степени, что и в написании прозы - это повторяющаяся типизация. Будет ли кто-нибудь написать великий (или даже посредственный) роман, сидя и тщательно составляя письма?
источник
Ну, это в некотором роде. Вы снова и снова печатаете одни и те же буквы (AZ, az, 0-9). Просто в разных комбинациях.
Я обычно стараюсь избегать таких дискуссий с такими людьми.
источник
Программирование во многом похоже на музыкальную композицию . Что далеко не повторяющийся процесс.
Иногда вы не знаете, чего хотите, и играете вокруг. Наверное, лучший способ получить самые интересные композиции ...
источник
Я обычно объясняю, что программирование - это творческое решение проблем. У вас есть проблема - вам нужна функция в продукте (а я обычно выбираю известный продукт, Amazon.com, MS Word и т. Д.), А ее там нет. Это никогда не было сделано раньше, и вы первый, так что это как любой художественный проект - у вас есть видение, но вам нужно найти путь.
Я также акцентирую внимание на том факте, что существует несколько способов решения проблемы, множество действительно плохих способов и, возможно, более одного хорошего способа. В долгосрочной перспективе может быть лучший способ, но этот лучший способ не будет очевидным в течение длительного времени (расширяемость, возможность повторного использования и т. Д.), Поэтому во время разработки существует множество важных оценочных решений.
Наконец, конечный продукт может быть любимым или ненавидимым получателем. Точно так же, как некоторые люди любят Пикассо, а некоторые не могут создавать головы или хвосты современного искусства - некоторые люди могут любить функцию, а некоторые могут ненавидеть ее. Вы делаете лучшее, что можете для большинства людей, и понимаете, что не можете угодить всем.
Сфокусироваться на:
Показывает, что эта работа больше похожа на искусство, и намного меньше похожа на скучную скучную работу.
Я часто обсуждаю это с художниками (и у них, похоже, есть инстинктивное убеждение, что компьютерная работа не является творческой. Обычно мне также удается связать ее с любимым видом искусства художника. На каком-то уровне большинство художников также являются техниками - живопись танцы, создание музыки и, возможно, любое другое искусство - все это включает в себя серию повторяющихся действий, которые приводят вас к исполнению чего-то нового, другого и творческого. Таким образом, у художников обычно возникают проблемы, отрицающие, что, казалось бы, повторяющиеся действия могут привести к к произведениям вдохновения и красоты.
В этот момент они обычно готовы признать, что только потому, что мое «искусство» включает в себя набор причудливых синтаксических операторов и невнятных UML-диаграмм, это не означает, что они не креативны в этих строках кода и Модели системы в конечном итоге делают нечто совершенно иное, чем сумма ее частей.
источник
Программирование - это абстракции. Чем больше вы пишете, тем больше сходства вы видите. Но тогда пришло время абстрагироваться. Рефакторинг структуры развивается, что устраняет дублирование. Это уменьшает сложность в коде проблемной области.
Возможно повторное программирование. Но это неэффективно.
источник
Если бы это было на самом деле, мы бы просто использовали копирование и вставку: D
Одной из ключевых задач в программировании является создание качественных строительных блоков, чтобы вы
По своей природе этот вызов требует от вас не повторяться .
Как следствие: если вы повторяете себя как программист, вы тратите время на создание программного обеспечения, которое не является ни стабильным, ни гибким.
источник
Помимо других ответов, которые указывают на то, что повторяемость или ввод / нажатие являются поверхностными, вы могли бы также указать, что программирование обычно гораздо больше связано с решением проблем, чем с набором текста (и я думаю, что Джикстра сказал, что информатика много о компьютерах, поскольку астрономия о телескопах - или что-то подобное ).
Набор текста - это только один из способов реализации решения (и в настоящее время самый популярный), хотя есть и другие способы, такие как:
источник
Большая часть акта программирования печатает. Живопись включает в себя поглаживание кистью, но повторение довольно поверхностно.
Будут ли они применять эту логику к: - Продавцы много разговаривают по телефону. - Менеджеры ходят на множество встреч. - Певцы просто поют. - Актеры повторяют сценарии.
Если так, то вот почему они не программисты.
источник
Если вы хотите хорошо программировать, это повторяется, но то же самое можно сказать и о чем угодно. Повторение лежит в основе овладения любым навыком.
источник
Ну, программирование действительно может быть довольно повторяющейся задачей. Особенно, когда инфраструктура построена, снова и снова начинается скучный процесс создания одного и того же диалогового / делового программного обеспечения (только немного отличающегося). Вам повезло, если вам не нужно участвовать, чтобы уложиться в сроки или если у вас достаточно юниоров, чтобы выполнять такую работу.
источник