Стоп говорю себе я, а не дурак ли я... =)

Redjik

Джедай-мастер
Проглядывая различные ветки, озадачился наконец вопросом.
Да и дата получилась подходящая. Нам 1 год! (проговаривается голосом диктора из зомбоящика)...

Нам как программисту исполнилось год...

Вот и подумал выложить итоги деятельности, возможно узнать направление развития...

А началось все со школы =) Уволился я с препода английского, от репетиторства уже тошнило, решил себя попробовать в ипостаси веб мастера-на-все-руки (идея была бредовая=)))

База, хоть и крохотная, но была, до этого делал небольшие программки на Делфи и Visual Basic ... было их штук 10 наверное - что-то типа - указываем на нотной сетке ноту - нам рисуют табулатуру и т.п.

Итак продолжаю, уволился я со школы, и тут под руку попался заказ... знаний пхп почти не было - взялся делать на Joomla... но ни знаний ни усидчивости не хватило сделать на ней, взялся за modx... и дело как то пошло...

Per asper ad astra ...

Итог.

CSS: субьективно - верстальщик из меня хреновый, да и не по душе мне это...
- валидная верстка
- висячая пунктуация
- резина
- тени и круглые края - только дивами с нарезаным bg;
- спрайтовые кнопки (если правильно назвал - имею ввиду, когда при hover меняется не файл с бг кнопки, а позиция показываемого файла)

PHP: самая любимая часть, душа лежит к нему =)

- ООП, причем не просто строчка ... а именно понимание сути начало доходить уже... по крайней мере когда читаю маны по фреймам - мне становится все понятно. Хорошо понимаю чужой код.
Последние фрилансерские проэкты делал уже брал готовые классы - обленился =)

-Синглтон - хотя применение пока нашел только для бд и для курла.

- MVC - с ним все еще тяжело... логику понимаю, но... по нему я еще задам н-ое количество "тупых" вопросов

- Оформление кода по правилам (турдно давалось=))

- Yii

- Active Record - пока не начал пользоваться не верил, что может быть что-то удобнее прямых запросов MySQL

Возможно что-то забыл, раньше писал процедурно, сейчас сам делаю классы - все работает - стало намного меньше говнокода.
Из последнего - смог понять принцип работы Битрикса за день... кончено не скажу, что я разобрал его по винтикам, но допилить корзину и настроить аякс получилось ... - хоть и через матюки =)

JS: начал нравиться только после "подсаживания" на ExtJS

- jQuery - хороший фрейм, но "отупляет" губит все ООП своими сокращениями... обьясню это далее. Знаю его хорошо - делал кучу всяких анимашек, галлерей, сендбоксов, аяксов.
- ExtJS - еще в процессе изучения, от него балдею =)
- ООП - благодаря ExtJS простмотрел кучу статей по ООП JS, иначе бы просто не смог понять... когда только начал изучать Ext, мне парень сказал, изучи JS, а не jQuery и тогда все пойдет ... так оно и оказалось...

В сумме изучая ООП php я лучше понимал ООП js - и наоборот...

Возможно я что-то забыл, но это более-менее общий итог, того, что я изучил/узнал за год в программировании...

Хороший это результат или не очень? жду ваш фитбэк, форумчане! =)

ЗЫ. может на вторую вышку пойти по этой специальности? или самоучкой - оно лучше?
 

Krishna

Продался Java
Как интересно препод по английскому спеллит feedback в фитбэк?

З.Ы. Вторую вышку по прикладная информатика и математика можно получить, в МАИ есть более-менее нормальная.

Считать, что освоил ООП тебе явно рано по вышенаписанному.
Почитай http://www.ozon.ru/context/detail/id/1308678/ и http://www.ozon.ru/context/detail/id/2457392/ , именно в таком порядке.
 

Redjik

Джедай-мастер
Как интересно препод по английскому спеллит feedback в фитбэк?

З.Ы. Вторую вышку по прикладная информатика и математика можно получить, в МАИ есть более-менее нормальная.

Считать, что освоил ООП тебе явно рано по вышенаписанному.
Почитай http://www.ozon.ru/context/detail/id/1308678/ и http://www.ozon.ru/context/detail/id/2457392/ , именно в таком порядке.
Вот так и спеллит - ну уровне подсознания произошло оглушение звука... поэтому так и написал...

Я и не говорю, что освоил ООП - нет такой гордой строчки. Осваиваю, да! =)
За ссылки спасибо, хотя по рефракторингу и по пэттернам что-то англоязычное сейчас штудирую.

ЗЫ. посмотрел, что за авторы - как раз Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес, только англ версия =)
 

Redjik

Джедай-мастер
Полностью согласен, полностью узнать - это обьять необьястное, всегда можно чему-то научиться, я пока-что научился понимать логику ООП

Кстати - возвращаясь к теме книжек - каждому программисту так же стоит Раскина почитать, про проектирование интерфейсов.
 

akd

dive now, work later
Команда форума
это сильно напоминает яйца и курицу. :)
 

Krishna

Продался Java

AmdY

Пью пиво
Команда форума
сорри пруфа нет, так как не знаю где первоисточник
Я уже писал, что программирование – это игра, как и любая игра, она состоит из стадий или уровней. Что бы стать настоящим профессионалом, важно уметь проходить эти стадии. Порой это трудно, порой даже очень трудно, но согласитесь, от этого только интересней!
Сейчас я постараюсь выделить основные стадии и опасности, подстерегающие программиста на этом сложном, долгом и очень захватывающем пути. Попробую рассказать, как именно эти стадии проходить, что нужно делать, что бы не свернуть, и не оказаться одним из тех, кого я называю «НЕДОпрограммистами».

Стадия номер раз: Блин, чо за нах!?

Одна из двух самых опасных стадий! Стадия — убийца программистов! Это самая первая стадия, когда «простой смертный» счастливый, или недовольный жизнью человек, наслушавшись таких как я, прочитав статьи таких как я, увидев как, такие как я живут, поняв что это классно, решает стать программистом. И вот он идет в магазин, закупается неверными книжками, ибо никто из более опытных ничего не подсказал, и начинает их читать. Хуже того, пробует применять на практике! Далее обычно следующая картина: «Мля, мля, мля, мля, примеры из книжки не работают, этот оператор нигде не описан, из десяти строк первого листинга, я понял только две, и не факт что правильно! Какие мануалы!? Что такое мануалы!? Зачем их курить!? Что это!? Седой волос!? Откуда у меня седой волос!?» Ну а дальше, хорошая, или не очень книжка, отправляется в туалет, и служит вместо туалетной бумаги, в целях экономии…
Проблема в том, что на этой стадии, многие начинают зубрить тот или иной язык, когда на самом деле нужно разбираться в основах программирования, учиться составлять алгоритмы, и запастись терпением. Именно поэтому для начала, выбирают языки попроще, типа QBasik, или Pascal, но надо помнить, что привыкать к этим языкам не стоит, и написать на них бесплатную альтернативу photoshop’у не получиться. Для начала пойдут простые, совершенно бесполезные, программы, просто для того, что бы понять, что такое переменная, что такое массивы, циклы, условные операторы, как и где они применяются. Проще говоря, нужно научиться мыслить как программист, и тогда эта стадия будет пройдена.

Стадия номер два: Ааа, вот оно что…

И если первая стадия пройдена, то скорее всего «простой смертный» встал на путь истинный… Самое трудное позади, и можно начинать писать несложные, но полезные программы, на которые через 2-3 года без смеха смотреть будет сложно… Это стадия разочарований, стадия поиска стиля, и обретения мастерства. Стадия, когда вы показываете свой код знакомым программерам, а они над вами смеются, вместо того, что бы указать на ошибки, когда комп вешается каждые пол часа от бесконечных циклов, а вы не можете понять в чем проблема, когда программа вроде работает, но как-то не так, когда вы смотрите чужие листинги, и не понимаете ровным счетом ничего! На этой стадии, кроме продумывания алгоритма программы, встает так же вопрос его реализации, и уже не на qbasik’е или паскале, а на чем-то вроде delphi, c++ или php(perl, python). К черту языки 80-тых годов, на этой стадии пишутся полезные программы, которые работают не в черном ДОСовском окошке, но вы то не знали, что это будет на порядок сложнее… Если раньше вы говорили культурно, то теперь начинаете материться, ибо с этим компилятором по другому нельзя! Какая ошибка? Какой тип данных? Что ему не нравится? Зачем он меня мучает? Что плохого я сделал в жизни? Если попаду в ад, что угодно, любые муки, только не программировать на visual studio (Само собой только пример… надеюсь майкрософт меня не читает…)
Часто бывает такое, что наслушавшись про только что вышедшую, мега крутую игру, вы покупаете ее, проходите первый уровень, а во втором, при первом серьезном испытании, которое, в общем-то, проходимо, но требует времени, сил и сноровки, вы бросаете игру? Думаю что часто! Так же и с программированием. Тут все зависит от желания. Зачем вы начали программировать, и насколько вы хотите стать программистом. Что бы пройти этот этап, нужны не столько мозги (хотя куда ж без них) сколько усидчивость, и изучение нюансов языка программирования. Вот тут то и придется курить мануалы, сканить инет на предмет похожих ошибок и методов их решения, более внимательно изучать книжки, а в минуты отчаяния — молиться! Но как я уже сказал, этап проходим, все, что для этого надо – это запастись терпением и, не в коем случае, не зацикливаться на мысли: «Это невозможно!», т.к. ЭТО ВОЗМОЖНО! И вы знаете что это возможно!

Стадия номер три: Кажется я программист!

Обычно, эта стадия начинается следующим образом: «А не написать ли мне…» Выбирается довольно сложная и большая программа, дни сменяют ночи, время летит, девушка вас бросает, все деньги уходят на новые книги, в асе появляется новая группа «Программисты», в закладках браузера в основном программистские форумы – вы пишите большую, сложную программу. Возникают новые трудности: вы знакомитесь с базами данных, с инсталляторами, с ООП, и знакомство это не всегда проходит гладко. Однако у вас есть два помощника, которые всегда рядом с программистом на этой стадии: опыт предыдущей стадии, и вдохновение! А вдохновение — штука мощная… На этой стадии вам интересно писать! Вы довольно далеко зашли, и едва ли все бросите. Однако… Многие сходят именно тут, это в основном связанно с полным разочарованием в программировании. Как интересно было писать мини программки на первых двух стадиях, да, были сложности, но с высоты третьего уровня, они не кажуться такими уж непреодолимыми. А вот тут все скучнее! ООП? Зачем он? Все твердят про это ООП, я и без него обходился! А еще эти БД, целые книги выпускают только по проектированию базы данных! Отношения, связи, ключи… Чот мне разонравилось программирование!!!
Тут главное не падать духом! Не так уж все и сложно! Да, важно правильно спроектировать базу данных, но это ведь ваша первая серьезная программа! Да, ООП это вещь, и дальше без нее никак, но если вы пока не понимаете что за там классы, методы, зачем нужно наследование и т.д. оставьте это, пишите так, как вам нравиться, вы пока не профессионал, и получайте удовольствие от программирования. Полюбите программирование! Настанет день, и вы поймете все нюансы ООП, и сможете на ходу составлять sql запросы, не заглядывая в справочник, но пока, пишите как хотите, влюбитесь в программирование.

Стадия номер четыре: Мания величия.

Самая ужасная, самая опасная и самая долгая стадия! Многие программисты остаются в этой стадии годами, и не факт что пройдут вообще! Это когда «Я крутой программер, я написал уже несколько больших программ, я знаю все о программировании!!! » В этой стадии развитие программиста останавливается. Он забивает на новые технологии, он считает себя лучшим, он считает лучшими свои методы, он смотрит на других с ехидной улыбкой. Других программистов он не любит. Всегда пытается доказать другим что лучший именно он! Часто критикует общих знакомых программистов. Он много пишет, ибо надо доказывать себе, что ты лучший. Пишет много, но не развивается, ибо считает что методы, которыми он пользуется – лучшие! Зачем что-то менять, я пишу программы, некоторыми даже пользуются люди. Меня взяли на работу. Я профи и со мной никто не сравниться!
Стадия очень сложная, сложная тем, что вы не поймете что все еще на ней! Вы думаете что уже в конце игры, вы думайте что познали все секреты профессии, что дальше развиваться просто некуда. Вы думаете что вы один из лучших, а может и лучший, и не знаете, что это только начало вашего развития и что надо двигаться далее. Как пройти стадию, если даже не знаешь что находишься на ней!? Очень просто! Надо общаться с другими программистами, и смотреть на них не как на соперника, а как на источник опыта. Надо посещать программерские форумы, сайты, надо узнавать что то новое, и пытаться это использовать! Надо понять, что программирование – это такая вещь, постичь которую полностью – невозможно!

Стадия номер пять: Не так уж я и крут…

Не все программисты доходят до этой стадии… На этой стадии программист переосмысляет само понятия «программирование». Он начинает прислушиваться к другим программистам, обращать внимание на готовые решения, не изобретая велосипед по-новой, на первый план выходят скорость и качества реализации проекта, просматривая чужие листинги, он ищет не ошибки, а интересные идеи. Его разум открывается для нового, он не критикует, а наставляет. Когда критикуют его, он не доказывает свою правоту, а прислушивается, и если критика конструктивна и справедлива – исправляет свои ошибки. В асе появляется новая вкладка «Начинающие программисты», и если кому то из них нужна его помощь – он помогает, ибо как сказал один мудрый, но давно умерший человек: «Уча других, мы учимся сами».

В заключении.

Дальше писать не могу, я как раз нахожусь на пятой стадии, и даже не представляю что там дальше. Тем и хороша эта игра «Программирование», что мы не знаем какая стадия будет дальше, и какие трудности нас ждут за очередным поворотом. Мы даже не знаем в какой части пути мы находимся, начало это, или середина? Все что мы знаем — это то, что дальше будет интересней, и этот факт, заставляет нас днями и ночами играть в эту потрясающую игру!
Наслаждайтесь программированием.
 

Redjik

Джедай-мастер
Я подобное переживал, когда осваивал гитару. Было много гонора, когда думаешь, ну теперь я переиграл половину металики - теперь я крут - а остальные говно...
А потом понимаешь, что расти и развиваться можно до бесконечности... Чем кстати меня и привлекает программирование =)
 
Сверху