Пара мыслейЯ часто слышу, что программирование это так увлекательно, это интересно, это творчество. И у меня есть несколько соображений на эту тему:
читать дальше
1. С недавних пор, я недолюбливаю слово "творчество" - часто люди прикрываются им, говоря о своих попытках занять свободное время. Они забывают, что для творчества - требуется создавать что-то новое. Если вы сперли идею или просто нарисовали что-то, то это не творчество. Это просто рисунок. По тому, кстати, картины "пишут". Когда "пишут" - это творчество. Нельзя говорить что "я написал картину" если в ней нет чего-то нового или это просто для учебы или еще чего такого. В общем использование этого слова не по назначению, опошлило его.
2. Программирование, это на 99% скука. Адская скука. На остальной 1% это интересные идеи, которым ни когда не суждено быть оцененными (но идеи - это не творчество). Именно этот 1% и дает силы на остальные 99%. Помните, как когда-то давно, когда вы решали сложный пример и получали удовольствие? от изящности решения, он сложности задачи? нет? тогда вам ни когда не стать программистом. А если да, то вы понимаете о чем я.
Большую часть времени я занимаюсь такой ужасной рутиной, что самому тошно. Устаешь от этого безумно. Она требует полной сосредоточенности и внимания. Ты должен оценить много факторов, примерить на пользователя, предугадать действия и желания пользователя и в итоге написать это, так как задумал или лучше.
Любой проект обычно развивается так:
1. Проектирование - период дебатов и споров. Нужно доскональна все продумать. Выбрать самые удачные реализации и методы;
2. Написание каркаса - самая занимательная часть. Именно в этой части и кроется тот волшебный 1%;
3. Реализация проекта - много рутины, но все еще интересно, может встретится что-то новое, что-то сложно, что требует красивого и интересного решения (которое не оценит ни кто, кроме товарищей по цеху);
4. "Добивание" - самая ужасная часть проекта. Когда по факту все работает, но нужно "допилить". Период, когда появляются "костыли" и "велосипеды". Тут надо закрывать и ошибки проектирования (а переписывать все уже поздно) и искать невменяемые ошибки. На этом этапе сдуваются все. Он опустошает и в итоге, вместо радости от завершения проекта - остается только желание побыстрее отделаться от него.
И да, очень редко бывают моменты когда ты придумываешь что-то новое. Компиляция (в смысле соединение различного)- это не творчество, а обычно работа программиста это именно компиляция. И уж тем более этого ни кто ни когда не оценит (и даже коллеги по цеху, вероятно скажут что это лажа или пожмут плечами).
Если вы хороший программист - вы знаете, что это труд. Требуется терпение, смирение с не проходящим ощущением своей глупости и неполноценности и обязательно желание это устранить. Как только вы решите, что знаете много - посмотрите немного в сторону.
Я не жалуюсь, меня такое положение дел как раз устраивает. Просто развеиваю стереотипы.Считайте, что программа, это такая сложная задачка по математики. Нужно подобрать формулы, проверить решение на различных данных. В итоге от вас требуется написать как решать задачу в общем виде - т.е. все расчеты, принципы, все формулы вывести (ну есть какой-то базис, да и все формулы уже давно выведены, просто перепишите это сюда).
Вы же не будете считать решение задачки творчеством? За математику даже нобеля не дают. Предполагаю, что причина именно в этом.