Брайан Керниган недавно дал интервью в серии “A-Z of programming languages”. Позволю себе перевести несколько цитат оттуда.
Типичный программист сегодня тратит много времени просто пытаясь выяснить, какие методы следует вызвать из некоторого огромного пакета и, вероятно, нуждается в какой-то IDE вроде Eclipse или XCode, чтобы справиться с этим. Сейчас используется больше языков и программы зачатую содержат комбинации из нескольких языков. Все это усложняет жизнь, но несмотря это сейчас возможно быстро создать весьма впечатляющие системы, если все идет нормально.
Вот это -- “если все идет нормально” мне очень понравилось. Очень точно подмечено. Сейчас столько симпатичных и привлекательных готовых компонентов. Кажется, что просто возьмешь, поставишь к себе и все заработает. И ведь работает! До тех пор, пока не натыкаешься на какую-нибудь нештатную ситуацию или на тебя не падает какое-то неожиданное требование. Тут-то случается приплыздец. Хорошо, если сторонний компонент с исходниками и лицензия позволяет его модифицировать…
В ответе на вопрос, что он может посоветовать начинающим программистам, Керниган сказал:
…способ научиться программировать – это написать код, переписать его, посмотреть, используется ли он, и переписать опять. Чтение чужого кода так же бесценно. Конечно, это подразумевает, что код хорош; я не вижу много пользы от чтения больших объемов плохого кода, разве что научиться не писать так. И никто, разумеется, не должен писать плохой код сам. Это легче сказать, чем сделать, вот почему я так подчеркиваю переписывание кода.
Здорово. Чем-то напоминает “совершенство – это не когда нечего добавить, а когда нечего отнять”.
Спасибо ув.тов.googledictionary за найденую в первом варианте перевода ошибку.