Как я люблю программировать

На работе основное время я трачу на программирование. Программирую я с 16-ти лет и программирование стало неотъемлемой частью моей жизни. Все по-разному программируют и относятся к работе. Здесь я хочу описать, как это делаю я и получить отзывы о том, как это делаете вы и как относитесь к своей работе.

Я люблю разные языки. Я люблю VB.NET и C#, поскольку они позволяют создавать сложные вещи за более короткий период времени. Я люблю Java, потому что он бесплатный. На нем программировать сложнее, чем на .Net, но вы сможете сэкономить на серверах. Я люблю нестрого типизированные языки типа PHP и Python, поскольку код на них выглядит проще, у них быстрый старт и скрипт проще поправить, чем громоздкие компиляции на .Net и Java. Также я не брезгую C++, который тоже занял свою нишу, где требуется компактный быстро работающий код.


Еще я люблю, когда проект успешен. Я люблю делать только то, что делает проект успешным. Не так важно, какой язык программирования вы используете. Главное - это успешность проекта. В успешности проекта важную роль играют деньги. Поэтому я готов отказаться от навороченной системы отслеживания версий Team Foundation Server, потому что при дальнейшем росте придется за нее платить, а деньги это не малые. На .Net работать приятно, но подсчитайте, сколько вы заплатите за операционную систему и SQL-сервер? Возможно, при масштабировании проекта, вы больше проиграете, чем выиграете.

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

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

Еще я люблю простоту. В принципах, упомянутых выше есть принцип KISS (Keep It Simple Stupid). Об этом правиле всегда нужно помнить и делать код проще. Сложность всегда вас догонит. Мир так сложен, а мы программируем именно для окружающего мира, что сложность присутствует всегда. Когда что-то напишешь, подумай, а можно ли это сделать проще.

Комментарии