about me

На мой взгляд, хорошая программа — это прежде всего программа, которой пользуются длительное время. Факт длительного использования программы принципиально важен. Ведь никто же не будет пользоваться программой длительное время, считая ее плохой. Плохим программам всегда хочется найти замену. Плохими программами почти никто не пользуется долго. И обычно, довольно быстро замена находится. А на хорошие программы есть спрос. И при этом совершенно не важно, с использованием какой технологии и какого языка программирования создана программа. У хорошей программы, могут быть и недостатки, и недостатки могут быть существенными. Но, если программой пользуются, то в следующих версиях программы существенных недостатков, как правило, становится меньше. В этом смысле замечательный пример хорошей программы ОС Windows. Если провести аналогии, быть может и не совсем уместные, но хороший программист — это тот, чьими услугами пользуются длительное время. При этом его владение теми или иными технологиями всегда уйдет на второй план, по сравнению c такими особенностями хорошего программиста как:

  • Четкое выполнение всех требований указанных спецификациях на разработку;
  • Способность критически оценить полученное задание на непротиворечивость;
  • Минимальный процент не выполненных требований;
  • Передача задач на тестирование с минимальным количеством багов;
  • Высокоскоростное кодирование;
  • Ну, и наконец, хороший программист должен любить делать свою работу;

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

  • Программирование сегодня — это гонка разработчиков программ, стремящихся писать программы больше и с лучшей идиотоустойчивостью, и вселенной, которая пытается создавать больших и лучших идиотов. Пока вселенная побеждает;
  • Я всегда мечтал о том, чтобы моим компьютером можно было пользоваться так же легко, как телефоном. Моя мечта сбылась: я уже не могу разобраться, как пользоваться моим телефоном;
  • Обучение программированию не может научить быть экспертом, также как и изучение кистей и красок не может превратить кого-либо в художника;
  • Не волнуйтесь, если что-то не работает. Если бы всё работало, вас бы уволили;
  • Учитывая текущее плачевное состояние наших программ, можно сказать, что программирование определенно все ещё черная магия и, пока, мы не можем называть его технической дисциплиной;
  • Болтовня ничего не стоит. Покажите мне код;
  • Программирование на С похоже на быстрые танцы на только что отполированном полу людей с острыми бритвами в руках; PHP — это маленькое зло, созданное некомпетентными новичками, в то время как Perl — это большое и коварное зло, созданное умелыми, но извращёнными профессионалами;
  • Лучшие программисты не чуть-чуть лучше хороших. Они на порядок лучше по любым меркам: концептуальное мышление, скорость, изобретательность и способность находить решения;
  • Опасайтесь багов в приведенном выше коде. Я только доказал корректность, но не запускал его;
  • Иногда лучше остаться спать дома в понедельник, чем провести всю неделю отлаживая написанный в понедельник код;
  • Люди считают, что программирование — это наука избранных, но в реальности все наоборот — просто много людей создают программы, которые используют чужие программы, как-будто строя стену из маленьких кирпичиков;
  • Сначала учите науку программирования и всю теорию. Далее выработаете свой программистский стиль. Затем забудьте все и просто программируйте;
  • Многие из вас знакомы с достоинствами программиста. Их всего три, и разумеется это: лень, нетерпеливость и гордыня. Большинство программ на сегодняшний день подобны египетским пирамидам из миллиона кирпичиков друг на друге и без конструктивной целостности — они просто построены грубой силой и тысячами рабов;
  • Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.

Мои другие проекты: