Почему я плохой программист или уровни силы
Меня на форуме у порталовцев попросили быть повежливее, проявлять некую “этику” и не называть все такими не хорошими словами. Мол все вокруг люди, а я так вот рублю с плеча и говорю, что “90% софта глючны”, а значит сомневаюсь в способностях программистов, этот софт писавших.
А ведь сомневаюсь. Тут дело не совсем в способностях. А в том, что программирование лично в моем понимании это достижение неких уровней. Причем эти уровни очень не очевидны.
И если в том же языке PHP меня на данный момент нельзя чем-либо удивить, я его уже весь поперек знаю. То только коснувшись такой технологии как Java я понял – это бездонная бочка, которую за всю жизнь не осилить, и именно поэтому есть такая дорогостоящая профессия – системный архитектор – человек который знает не столько сам кодинг, а технологии, которые можно применить в данной конкретной задаче, а уже реализуют их непосредственно программисты. Естественно для задачи “записной книжки” его не нанимают, а нужен он для серьезных и масшатбных задач корпоративных и распределенных приложений. Что бы просто нарисовать архитектуру и наиболее эффективные технологии ее решения. Это уже половина дела.
Пример с этим архитектором показателен в том плане, что школьнику, рисующему черепашку на вижуал бейсике эта архитектура вовсе не нужна. Научившись хорошо рисовать черепашек он может указывать младшеклассникам на то, что черепашки у них совершенно кривые и нифига они не умеют. Хотя сам конечно же так же в их возрасте рисовал. Но делает он это не по причине того, что опупеть как крут, а потому что достиг другого уровня, получил самое бесценное – опыт программирования черепашек, которым его младшие товарищи не располагают.
Обладая этим опытом он может указывать на ошибки и самое хорошее – видеть свои прошлые ошибки. Впрочем тут дело даже не в ошибках, а в этих самых уровнях силы. Сначала нужно что бы программа просто работала. Потом ее оценкой может служить красота интерфейса, потом красота кода, затем эффективность кода, ну и так далее.
И как я уже сказал – пока ты не осознал что это тебе очень нужно – ты не достиг этого уровня. Пока эти программисты, написавшие столько приложений и выложившие их в каталог не поняли, что дело не только в самом факте существования программмы и в том, что “она работает, что вам еще надо” – прорыва они не совершат. Они должны понять, что толку развивать программу нет, если она изначально спроектирована или написана коряво. Попользовались, выбросили и забыли.
Я лично считаю, что все перечисленные уровни я уже прошел, и сейчас когда вставет вопрос – а нужно ли оптимизировать или “так сойдет”, я выбираю первое, понимая что если я буду писать дурацкий код я сам себя не буду уважать. Как программист.
В уровни я бы еще добавил постулат “надо писать много комментариев” и “возможно после тебя эту программу будет кто-то доделывать”.
И дело тут вовсе не в профессиональной этике, мол покрывать и защищать своих. Просто со своего уровня я смотрю на это как на детский сад. А вот когда на меня смотрит крутой перец из фирмы Sun и хихикает я понимаю что я дурак и плохой программист. Все относительно. Человек не может быть крут во всем, просто он иногда крут в некоторых областях – и этим надо пользоваться!
Комментарии [6]
-
Спасибо, очень хорошая статья. Согласен с каждым словом поста, т.к. нашёл свои рассуждения, воплощённые в тексте.
В дополнении к статье можно послушать стих Юрия Шевчука “Уровни”. “Уровни, уровни жизни, уровни быта – бесконечная многоэтажка вселенной….”. Вижу некую аналогию между постом и песней.
А на счет форума: “не называть все такими не хорошими словами” – хочу сказать что критика очень хорошая вещь, она подстёгивает делать программный продукт (да что там говорить, любое дело) лучше и лучше, доводя его, если утрировать, до совершенства. Окт 24, 22:06 , ilyich
...милая моя – и ты – не натуральная блондинка, да и у меня из кожезаменитея ботинки… (@Тимур Шаов)
...горя в отсеке, борясь за жевучесть, спасая жизнь бойцу, я в последствии получил свой орден ,но не стал равным среди равных – седовласые старшие офицеры уважали меня за проявленные героизм и мужестов, а вот уважать за мастерсво судоводителя стали чуть позже, когда мои умения стали на их уровне, и даже в чем-то лучше их... Только тогда ко мне стали обращаться чичто по отчеству – на флоте – высший уровень авторитета… а они мне в отцы годились.
Заяц, а каковы твои заслуги перед сообществом? не в кол-ве мамботов и модулей, а в коллективизме как таковом? Сравнивать надо равное и оценивать надо оцениваемое. А если все нарисовать – будет грязное пятно…
Если претендуешь на высоты то и соответсвуй в суждениях своих им.
а то сгудил все в кучу и получил 90 процентов. а там 3 процентов – альфы, 25 – беты, остальное релиз-кандидаты.
Негоже быть категоричным в некатегорийных ситуациях.-
Пятно и на самом деле получается. Я типа реалист. Столько кривущего софта перевидал.
И с чего вы вспомнили коллективизм. Я уже много раз говорил что для меня Joomla. И это отнюдь не компоненты сторонние.
-
>Я лично считаю, что все перечисленные уровни я уже прошел, и сейчас когда вставет вопрос – а нужно ли оптимизировать или “так сойдет”, я выбираю первое
Хмм… несогласен.
Первое правило оптимизации:
Оптимизировать нужно там, где это действительно нужно!Код должен по крайней мере читаться без проблем не только тобой, но и другим программистом. А то можно так наоптимизировать что будешь смотреть потом и говорить сам себе: – “Нифигасе, я наоптимизировал тут, ничё ведь не понятно”. Тем более если разница в 2-3 такта.
НО! Если разница например тактов в 10-16 то стоит сначала, для своего удобства оставить не оптимизированный вариант, а после релиза заменить его, ОСТАВИВ старый код в комментарии, в случаи своей забывчивости. На словах может быть немного не ясно вот пример:
# вот тут уже оптимизированный вариант, который менее понятен для восприятия
бла бла бла ^ не закомментирован (в работе)#здесь ваш неоптимизированный, удобночитаемый код
#бла бла #бла бла бла #бла
^ закомментирован (для удобного восприятия) -
Эээ, бывает конечно, что я заопмтимизируюсь так, что на паре строк ничего не понятно. Но это редко. Обычно я рядом пишу, что все работает, но даже не пытайтесь это понять (ну типа обращение к безмолвному читателю).
Но меру конечно же знать надо. Код конечно должен оставаться понятным, с этим я согласен.
Июн 11, 03:38 , coba
звучит как “моё кунг-фу лучше твоего”.
хотя в целом согласен
2008-10-11 3:36 am , Оставьте свой отзыв