Почему я плохой программист или уровни силы

24.08.2007

Меня на форуме у порталовцев попросили быть повежливее, проявлять некую “этику” и не называть все такими не хорошими словами. Мол все вокруг люди, а я так вот рублю с плеча и говорю, что “90% софта глючны”, а значит сомневаюсь в способностях программистов, этот софт писавших.

А ведь сомневаюсь. Тут дело не совсем в способностях. А в том, что программирование лично в моем понимании это достижение неких уровней. Причем эти уровни очень не очевидны.

И если в том же языке PHP меня на данный момент нельзя чем-либо удивить, я его уже весь поперек знаю. То только коснувшись такой технологии как Java я понял – это бездонная бочка, которую за всю жизнь не осилить, и именно поэтому есть такая дорогостоящая профессия – системный архитектор – человек который знает не столько сам кодинг, а технологии, которые можно применить в данной конкретной задаче, а уже реализуют их непосредственно программисты. Естественно для задачи “записной книжки” его не нанимают, а нужен он для серьезных и масшатбных задач корпоративных и распределенных приложений. Что бы просто нарисовать архитектуру и наиболее эффективные технологии ее решения. Это уже половина дела.

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

Обладая этим опытом он может указывать на ошибки и самое хорошее – видеть свои прошлые ошибки. Впрочем тут дело даже не в ошибках, а в этих самых уровнях силы. Сначала нужно что бы программа просто работала. Потом ее оценкой может служить красота интерфейса, потом красота кода, затем эффективность кода, ну и так далее.

И как я уже сказал – пока ты не осознал что это тебе очень нужно – ты не достиг этого уровня. Пока эти программисты, написавшие столько приложений и выложившие их в каталог не поняли, что дело не только в самом факте существования программмы и в том, что “она работает, что вам еще надо” – прорыва они не совершат. Они должны понять, что толку развивать программу нет, если она изначально спроектирована или написана коряво. Попользовались, выбросили и забыли.

Я лично считаю, что все перечисленные уровни я уже прошел, и сейчас когда вставет вопрос – а нужно ли оптимизировать или “так сойдет”, я выбираю первое, понимая что если я буду писать дурацкий код я сам себя не буду уважать. Как программист.

В уровни я бы еще добавил постулат “надо писать много комментариев” и “возможно после тебя эту программу будет кто-то доделывать”.

И дело тут вовсе не в профессиональной этике, мол покрывать и защищать своих. Просто со своего уровня я смотрю на это как на детский сад. А вот когда на меня смотрит крутой перец из фирмы Sun и хихикает я понимаю что я дурак и плохой программист. Все относительно. Человек не может быть крут во всем, просто он иногда крут в некоторых областях – и этим надо пользоваться!


Комментирование этой статьи закрыто

Комментарии [6]

  1. Авг 24, 11:37 , tёmster

    Спасибо, очень хорошая статья. Согласен с каждым словом поста, т.к. нашёл свои рассуждения, воплощённые в тексте.
    В дополнении к статье можно послушать стих Юрия Шевчука “Уровни”. “Уровни, уровни жизни, уровни быта – бесконечная многоэтажка вселенной….”. Вижу некую аналогию между постом и песней.
    А на счет форума: “не называть все такими не хорошими словами” – хочу сказать что критика очень хорошая вещь, она подстёгивает делать программный продукт (да что там говорить, любое дело) лучше и лучше, доводя его, если утрировать, до совершенства.

  2. Окт 25, 02:06 , ilyich

    ...милая моя – и ты – не натуральная блондинка, да и у меня из кожезаменитея ботинки… (@Тимур Шаов)

    ...горя в отсеке, борясь за жевучесть, спасая жизнь бойцу, я в последствии получил свой орден ,но не стал равным среди равных – седовласые старшие офицеры уважали меня за проявленные героизм и мужестов, а вот уважать за мастерсво судоводителя стали чуть позже, когда мои умения стали на их уровне, и даже в чем-то лучше их... Только тогда ко мне стали обращаться чичто по отчеству – на флоте – высший уровень авторитета… а они мне в отцы годились.

    Заяц, а каковы твои заслуги перед сообществом? не в кол-ве мамботов и модулей, а в коллективизме как таковом? Сравнивать надо равное и оценивать надо оцениваемое. А если все нарисовать – будет грязное пятно…
    Если претендуешь на высоты то и соответсвуй в суждениях своих им.
    а то сгудил все в кучу и получил 90 процентов. а там 3 процентов – альфы, 25 – беты, остальное релиз-кандидаты.
    Негоже быть категоричным в некатегорийных ситуациях.

  3. Окт 25, 02:26 , Dead Krolik

    Пятно и на самом деле получается. Я типа реалист. Столько кривущего софта перевидал.

    И с чего вы вспомнили коллективизм. Я уже много раз говорил что для меня Joomla. И это отнюдь не компоненты сторонние.

  4. Май 16, 04:38 , Caleb Sakujja

    >Я лично считаю, что все перечисленные уровни я уже прошел, и сейчас когда вставет вопрос – а нужно ли оптимизировать или “так сойдет”, я выбираю первое

    Хмм… несогласен.

    Первое правило оптимизации:
    Оптимизировать нужно там, где это действительно нужно!

    Код должен по крайней мере читаться без проблем не только тобой, но и другим программистом. А то можно так наоптимизировать что будешь смотреть потом и говорить сам себе: – “Нифигасе, я наоптимизировал тут, ничё ведь не понятно”. Тем более если разница в 2-3 такта.

    НО! Если разница например тактов в 10-16 то стоит сначала, для своего удобства оставить не оптимизированный вариант, а после релиза заменить его, ОСТАВИВ старый код в комментарии, в случаи своей забывчивости. На словах может быть немного не ясно вот пример:

    # вот тут уже оптимизированный вариант, который менее понятен для восприятия

    бла бла бла ^ не закомментирован (в работе)

    #здесь ваш неоптимизированный, удобночитаемый код

    #бла бла #бла бла бла #бла
    ^ закомментирован (для удобного восприятия)

  5. Май 16, 10:48 , Dead Krolik

    Эээ, бывает конечно, что я заопмтимизируюсь так, что на паре строк ничего не понятно. Но это редко. Обычно я рядом пишу, что все работает, но даже не пытайтесь это понять (ну типа обращение к безмолвному читателю).

    Но меру конечно же знать надо. Код конечно должен оставаться понятным, с этим я согласен.

  6. Июн 11, 07:38 , coba

    звучит как “моё кунг-фу лучше твоего”.
    хотя в целом согласен

Комментирование этой статьи закрыто

Кто я


Возраст: 23
Профессия: заяц


Категории


Полезные ссылки


Стишок

Зайчик-зайчик, скок-поскок!
Н-нна тебе дробину в бок!
Не с капустой же мы будем
Жрать на Новый год пирог...

eu-shestakov.livejournal.com