5 сентября
2008
written by voff

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

История большого обмана.

Откуда же пошел этот миф, что программирование удел высокоинтеллектуальных головастиков, которые любые жизненные вопросы решают методом вычисления корней дифференциального уравнения? Дело в том, что программирование – наука молодая, зародилась она в начале 70-тых, где то в недрах Массачусетского Технологического Института (самый ботанический американский институту), и в то время, действительно была уделом головастых (по-американски «Гиков»). Да и доступ к компьютерам получали самые умные и хорошие студенты,. Компьютерами в то время называли огромные(величиной с мою комнату) машины, которые дико грелись, имели кучу тумблеров, и всякие лампочки, то есть не монитора, не клавы, про мышки я молчу вообще… Весь этот маразм происходил примерно следующим образом: Программист пишет на бумажки (выбивает на перфокарте) свою программу, шестнадцатеричными кодами, идет в компьютерную лабораторию, отстаивает очередь к компьютеру, отдает свою бумажку инженеру, тот вводит данные, и если в программе ошибка, программист идет ее исправлять, если ошибки нет, то он довольно лыбится, видя что нужные лампочки, на панели компьютера горят как надо! Бред? Бред! Сейчас то все изменилось, а стереотип остался!

Почему нам так сложно становиться программистами.

На моей памяти, многие из моих знакомых решали стать программистами. Стали, в итоге, единицы! Почему же все так сложно? Приведу вам пример. Один мой однокурсник (поясню, что я учился не на компьютерной специальности, я инженер электронщик) решил изучить программирование. Назовем его Вася. Так вот, Вася этот, парень не из глупых, с головой, в которой есть мозги, имел все шансы пополнить нашу программистскую братию. Пошел он в магазин, и купил здоровенный справочник по . Через пару месяцев (Вася прилежный ученик), он знал наизусть большинство операторов, и даже их синтаксис, но вот применять он их неумел, поник головой наш Вася, после пары неудачных попыток написать простенький скрипт, и еще через месяц забыл вызубренные операторы. В чем суть? Суть в том, что:
В программировании, главное не знать много операторов, а уметь составлять алгоритм программы, надо знать как программа будет работать, что, и как она должна делать, а перенести это все на конкретный язык программирования – это уже дело техники!
А мы с вами не такие прилежные как Вася, и потому, просто отрыв очередной справочник по , увидев все эти непонятные буквы, которые перерастают в непонятные слова, непонятно на каком языке, вперемешку с непонятными символами и цифрами, захлопываем книгу, крестимся трижды, и идем играть в новый need for speed!

Почему так получается?

Стойкое отвращение к программированию нам внушают еще в школе, и далее укрепляют его в институте. Помните школьный бэйсик? Помните, как злая информатичка заставляла вас учить все эти line, circle, когда в вас вбивали непонятные операторы, и заставляли рисовать елочки на экране, даже не объясняя зачем это надо, даже не пытаясь заинтересовать вас чем то более интересным! И уж точно помните курс информатики в институте! Не знаю как у вас, а у нас старый, ничего непонимающий преподаватель, который кстати был пришельцем с другой планеты (это все знали) брал книжку, и выписывал синтаксис паскалевых операторов, а на зачете мы должны были помнить все это наизусть! Как щас помню:
«Болиев, вот ты программист, программы пишешь, сайты, а вот вместо bOOlean написал bOlean! А в тридцатой строке забыл точку с запятой поставить, вот и получил свою тройку, а если бы был внимательнее…» Ну и как объяснить такому человеку, что как пишется boolean, я всегда могу посмотреть в справочнике, а логика программы составлена верно! И все, кто хотел четверку по информатике, сидели ночь перед зачетом и учили операторы! Можно их теперь заинтересовать программированием? Да они его ненавидят!!!

Что такое программирование на самом деле.

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

Какие качества присущи программистам.

Ясен пень, что должны быть мозги, хоть немного, как у меня… Человек без мозгов программистом быть не может… Собсно он не может быть никем…
Нужна усидчивость, ибо за компом придется проводить немало времени. Хотя если честно, то время, в процессе программирования летит довольно быстро, вечером сел за комп, а когда встал покурить – уже рассвет…
Нужно, как говориться, быть в теме. Программирование такая вешь, которая постоянно развивается, делал себе человек сайты, делал, обычные приятные сайты, а тут пришла эра web 2.0, и если человек не разобрался вовремя с ajax’ом, заказы у него пропадут, а вот если он один из первых начал применять эту технологию…

Какие качества не присущи программистам.

Разобью еще парочку мифов…
Программисты не пьют пиво литрами! Собсно в процессе работы, программисты вообще не пьют, голова должна варить четко, должна присутствовать концентрация на программе, на коде, а алкоголь, само собой, этому не способствует.
Программисты не общаются в стиле «Превед креведко» или «Убейся ап стену бландинко», это удел сис. админов, программисты говорят нормальным русским языком.
Программисты общаются только друг с другом, и очень неохотно с «простыми смертными» - ложь, ложь, и еще раз ложь!
Опытные программисты не помогают начинающим – отчасти правда, это объясняется тем, что когда человек находит решение самостоятельно, он его запоминает, многие программисты злоупотребляют этим, и отвечают на все вопросы гуглом. Такие не все, лично я всегда готов помочь начинающим собратьям!

Как мне стать программистом?

Наконец добрались! Как же люди становятся программистами? Я всегда говорю, в любом деле главное понять основы! Поняв основы программирования, дальше будет гораздо легче! Надо просто понять что есть программирование! В магазинах наряду с толстыми справочниками продаются не очень толстые книжки из серии «Для чайников» купите! Не смотрите на обьем, ибо это основы, не стесняйтесь признать себя чайником, ибо это так и есть! Хотя, толстый справочник возьмите тоже, он понадобиться, когда вы выучите основы. Именно так, в идеале, две книги, основы и справочник. Главное – не бросать на пол пути! Сначала будет скучно и неинтересно, будет непонятно, читайте дальше, не в коем случае не бросайте!!! И еще вот что скажу: много раз слышал «Да нах эти книги, есть же инет, в нем куча сайтов про программирование, и куча программистов». Так вот, инет – это справочник, а учиться нужно по книжке!

Что почитать?

Тут привожу только те книги, которые есть у меня, которые я читал, и которые счел достойными. Книги, которые помогают мне в моей программистской жизни, лежат отдельно от остальных… избранные…
Все книги относятся к области web-программирования.

Самоучитель PHP 5
PHP 5 в подлиннике
Профессиональное PHP программирование
PHP глазами хакера

html

250 советов HTML и WEB-дизайна
HTML и CSS. Самоучитель

javascript

JavaScript. Подробное руководство
JavaScript. Освой на примерах

CSS

CSS. Каскадные таблицы стилей. Подробное руководство

Ajax

Изучаем Ajax

Mysql

MySQL. Базовый курс

Заключение

В общем вот. Все что хотел сказать – сказал. Если есть какие то дополнения, критика, или просто желание высказаться – прошу в комменты!
С надеждой на увеличение количества программеров,
ваш Voff.

Что еще в сети?

Моя статья о том, как правильно писать заказные (рекламные) посты

Google Chrome – новый браузер - Трезвое мнение на новый браузер от Google
Интересная статья Южного Постового о заказной рекламе
И в тему: Ошибки начинающих PHP-разработчиков

Добавить в закладки:

IT

66 комментариев

  1. dmodeus
    05/09/2008

    Начинающего еще пугает наличие огромного количества языков программирования и технологий. Понятно, что имея опыт программирования на определенном языке, легко перейти на другой (кроме случаев, когда один язык императивный, а другой функциональный или наоборот), но вот с какого языка начать свой профессиональный путь. Почему вы решили изучать именно PHP? Как сделать выбор новичку? Имхо, вот эти вопросы, неплохо было бы осветить еще.

  2. 05/09/2008

    С набором книжек не согласен. Практически все - справочники, особенно Димы Котерова. С таким же успехом лучше читать форумы в Интернете.
    На мой взгляд, в этот список нужно добавить такие книги как “Совершенный код” Маконелла, “Структуры данных и алгоритмы” Хопкрофта, “Рефакторинг с использованием шаблонов” Кириевски… И много много других, которые на самом деле не имеют отношения к LAMP и тому подобным технологиям.
    Так что быть программистом, если вдуматься, не так уж и просто. А главное знание языка - необходимое, но не достаточное требование.

  3. 05/09/2008

    Выбор Php ужасно субъективен.Могу порекомендовать либо Perl,либо Python (школьно-универские C++\Pascal низкоуровневы,с них трудно начинать).
    CSS-HTML-AJAX вообще из другой серии,не знаю,зачем вы их припахали:это вёрстка,не более,они лишь оформляют текст.
    Javascript - это перебор,он несамостоятелен: для него нужно знание HTML.
    Учебник по MySQL - это уже офигенный перебор: он нужен только тем,кто уже знает какой-нибудь язык программирования и ясно знает,чего хочет.
    Насчёт самой статьи: быть в теме не всегда важно.Да,конечно,я сам не выучил вовремя CSS,потому что не думал,что он будет популярен,потом пришлось навёрстывать.Но это - частный случай.Если вы хорошо программируете на C++ или Паскале,ну и зачем вам учить что-нибудь ещё?Если вы делаете красивейшие Flash сайты,вы не будете смотреть на появление AJAX.Технологии 10-летней,а то и 20-летней давности сейчас в ходу и в почёте.Важно не средство,а мозги.

  4. ig
    05/09/2008

    этот текст писал не программист, скорее web-дизайнер, но не программист.

  5. 05/09/2008

    Хочу сказать, что я web-программист, и упор в статье действительно делался именно на web-программирование.

    dmodeus, сам я начинал с делфи, но думаю советовать кому то какой язык вибирать - дело неблагодарное, сейчас пишу в основном я php.

    Evgeny Sergeev, насчет набора книг, написал выше, что выкладываю те книги, которые есть у меня, в которых уверен, это действительно в основном справоччники, для основ я выделил серию “Для чайника”.
    A.Y. Во первых - Php сейчас наиболее распространенный язык для web-программирования, во вторых - автор ненавидит perl, ибо он с ним работал, и perl его не радовал. В третьих - C++\Pascal - не низкоуровневые языки. Далее ваш комент вообще бред…

    ig, Этот текст писал я, тоесть web-программист

  6. 05/09/2008

    Тогда Вам тоже рекомендую прочитать перечисленные мной книги.

  7. 05/09/2008

    Думаю так и сделаю…

  8. HiT
    05/09/2008

    спасибо! мне в жизни пригодится!

  9. Zer0Byte
    05/09/2008

    “Какие качества не присущи программистам”
    с этим согласен полностью !
    вообще очень многие неверно объединяют понятия “админ” и “программист”

  10. 05/09/2008

    Почему же бред,просто вы начинаете от учебников по php и переходите к MySQL,которое само бред.Я порядка не понял немного.

  11. 05/09/2008

    A.Y. поясню:
    >>Выбор Php ужасно субъективен.Могу

    порекомендовать либо Perl,либо Python
    Дело каждого, я пишу на php, и упор делаю на этот язык

    >>школьно-универские C++\Pascal низкоуровневы,с них трудно начинать

    Это невкоем случае не низкоуровневые языки, а начинают часто именно с паскаля, потому что язык несложный, и на нем проще понять основы программирования

    >>CSS-HTML-AJAX вообще из другой серии,не знаю,зачем вы их припахали:это вёрстка,не более,они лишь оформляют текст.

    Незная эти технологии, писать web-приложения невозможно

    >>Javascript - это перебор,он несамостоятелен: для него нужно знание HTML.

    Как и для самого php, сайты без использования JS сайтам назвать сложно(кроме нескольких исключений, типа баша)

    >>Учебник по MySQL - это уже офигенный перебор: он нужен только тем,кто уже знает какой-нибудь язык программирования и ясно знает,чего хочет.

    Mysql нужен в любом маломальски серьезном web-приложении, т.к. являеться самой распространенной бд в сети

    >>Если вы хорошо программируете на C++ или Паскале,ну и зачем вам учить что-нибудь ещё?

    Само собой, если речь идет о программирвании под wibdows, то css ненужен, но речь идет о программировании под web

    >>Если вы делаете красивейшие Flash сайты,вы не будете смотреть на появление AJAX

    Flash и ajax - это совершенно разные вещи! Не путайте их!

    >>Технологии 10-летней,а то и 20-летней давности сейчас в ходу и в почёте.

    Просто незнаю что ответить на это… Вы не правы…

    >>Важно не средство,а мозги

    Важно и то и другое

  12. Razorblade Kiss
    06/09/2008

    Да…попахивет маразмом..Статью надо переименовать на “Люди забивайте на простое программирование ,и становитесь верстальшиками!
    voff не забывай что програмисты придумали все!А веб-прогерр енто человек который не может и не хочет выучить настояший Язык. Скрипты что JS что ПХП и даже аякс енто всеволиш средства расширяюшие возможности ХТМЛ а он всеволиш язык разметки….

  13. 06/09/2008

    Большего идиотизма в жизни не слышал… php - это расширение для html… ндя…

  14. 06/09/2008

    Все ништяк!
    слишком много книг а так нормально. Не обращай внимания на ети нападки …
    Почитал комментарии некоторые из критикующих не догоняют что говорят
    и ето не от большого ума
    Я тоже с этого начинал Свою лень непрофессионализм геймерство прятал под
    гордостью маской ][@keR@
    Лучше чем спорить займись чем нибудь,
    — Спор это заведомо проигрыш –

  15. 06/09/2008

    В программировании практика и этим все сказано

  16. Razorblade Kiss
    06/09/2008

    php енто во-первых скрипт! А скирпты енто расширение функциональности которое требует по сути всеволиш сервер вместо машины с JS . А твои ответы только подтвердают что веб-программеры енто особый вид компьютерной культуры как и про-юзеры незнают толком ничего а говорят об ентом много.

  17. 06/09/2008

    1. php - это не скрипт, ты наверное имеешь ввиду, что php - интерперетируемый язык, а не компилируемый.
    Насчет web-программеров. Раньшие я писал под винду, потом под линукс, сейчас под web, так что знаю о чем говорю, писать под вэб, не проще чем под вин, в какой то мере даже сложнее. Прежде чем что либо говорить, попробуй сам…

  18. ig
    06/09/2008

    подправте название статьи на “Почему ты не web-программист…”, а то люди путаются

  19. Razorblade Kiss
    06/09/2008

    вот хоть один человек умный!

  20. Kisenzi9
    06/09/2008

    не ругайтесь, мне очень нравиться писать что нибудь простенькое( я только начинаю, и ничего сложногопока не получается пока что) посоветуйте хороший самоучитель по паскалю plrase

  21. Gris
    06/09/2008

    >> … сайты без использования JS сайтам назвать сложно(кроме нескольких исключений, типа баша)

    Любой уважающий себя сайт должен более менее сносно функционировать при отключеном JS. И если какой-нибудь любительско-развлекательной поделке упор на JS еще можно простить, то для серьезного сайта это непрастительно.

  22. 07/09/2008

    C++\Pascal низкоуровневы по сравнению с Php\Perl\Python,потому что надо больше следить за типами данных.
    C++\HTML\AJAX не совсем обязательны,можно тем же модулем CGI строить их конструкции и не знать,зачем и как.Ну разве что HTML пригодится.
    Не гоните ерунду,сайт без PHP\JS можно прекрасно сделать.Отсутствие JS вообще не влияет,я например люблю сайты без вычурностей.А комментарий Gris’а верен на 100%,если сайт не функционирует нормально при отключенных CSS и JS,грош ему цена.
    Средство не влияет,мы можем и пальцем гвоздь забить.Знаю,что самоироничен
    C++ и Паскаль - это как раз не вчера придумано.А стандарту C++ как раз 10 лет.

  23. Alwssshka
    07/09/2008

    А как насчет Delpfi

  24. 07/09/2008

    Быают низкоуровневые языки, бываю языки высого уровня, “посравнению с…” небывает!
    Сайт юез хтмл… это странно)))
    Присутствие на сайте js конечно необязательно, можно и без него, но js нужен что бы сделать сайт удобнее для пользователя, а Gris, имел в виду, что сайт должен корректно работать в браузерах с отключенным js, тоесть функционал должен сохраняться, пропадут удобства, но сайт будет работать.
    Вы можете забит пальцем гвоздь? Чтож, продолжайте делать сайты без html без js без css, никто вам не запрещает…
    С++ и Паскаль придуманны не вчера, но на паскале многого не напишешь, как и на c++, именно поэтому используются среда разработки, например delphi и MS visual studio. В делфи, кстати используеться не тот паскаль, про который вы говорите, там object pascal.
    Но а вообще, это не относиться к теме поста. Если вы хотите мне доказать что css, javascript, html - это совершенно не нужные технологии, у вас не получиться, какие бы доводы не приводили, и я надо сказать устал доказывать вам обратное…

  25. Диана
    07/09/2008

    Про школьный/универский паскаль промолчу…

    Начала я с РНР+JS, писала движки сайтов и т.п. Поняла суть программирования и ООП именно на их примере.

    Теперь я пишу на Java и C# (Mono). И немного на Perl… Не важно с какого языка начинать. Хотя, считаю интерпретируемые языки хорошим стартом.

    Считаю, что программирование (с ООП, особенно) - это как игра в LEGO, только у вас есть ещё станок по выпиливанию новых деталек… они не такие красивые и серийные, как дацкие… но вполне работают. А это самое главное!

    А Х0/\иV@RiTь о языках - удел ][@keR’ов ;)

  26. 08/09/2008

    Про лего классно сказано! Согласен)

  27. kostyl
    08/09/2008

    Я рекомендую начать с PHP, потому что если вы не сможете понять как работает PHP, веренее если вы поймете как работает PHP, то вы поймете как работает и все остальное в этом мире. PHP очень подходит как язык для миграции на другие, потому что его операторы очень схожи с С- подобными языками - а они сейчас уж очень распространены. Вот c DELPHI потруднее будет в этом смысле, зато легче учить попервах. Но все же для новичков рекоменд - PHP.

  28. psina
    08/09/2008

    Я согласен с A.Y. и Razorblade Kiss, я начал с бейсика и до сих пор люблю прогать, не смотря на свой институт и, тем более, школу. И позволь спросить, на чем написаны оболочки для delphi и MS visual studio? На таких же языках программирования, как С и pascal. А книги из серии “Для чайников” - вообще маразм, я недавно видел книгу по С++ из этой серии, там из 600 страниц книги массивы в первый раз вводятся на 400-й странице, в главе с названием “Еще 10 секретов языка С++”. Это не идеотизм?

  29. Kraft
    09/09/2008

    Совершенно согласен. С++\Pascal не низкоуровневы - даже называются ЯВУ (Язык Высокого Уровня). Сам начинал с Pascal, т.к. информатики в школе не было а в колледже it начали изучение именно с паскаля. Сейчас C# [VS2008PRO]

  30. Maniac
    09/09/2008

    Ну я поддержу ту часть людей, что за разграничивание программистов и веб-программистов.

    Говорите под web сложнее? чем десктопное приложение-да. чем драйвер уровня ядра ? - нет.
    Вообще говоря интерпретируемые СКРИПТЫ (именно так) могут когда-то стать сложнее, чем, скажем, toolchain C++IDE -> compiler -> linker -> cpu, но пока что этого не случилось.. и нынешние WEB-дизайнеры, что после изучения html и последующего подъема скриптовых технологий стали называться программистами вышли из рисовальщиков и кликеров в ворде.
    ИМХО(это знач я щас буду перегибать))) даже программирование на .NET и т.п. нельзя назвать тем программингом что мне по душе. Что это за подход такой: “мне надо вывести картинку - ищу нужный метод в хелпе или спрашиваю в нете”.. возникает ностальгия по временам xor eax,eax …хочешь вывести картинку - будь добр - знай почему у тебя отдельно взятый пиксель зеленый, а не ,скажем, коричневый.
    из нас делают баранов, кликеров! Оно может и правильно с одной стороны - скорость разработки, ориентация на предметную область разработки…
    Но как часты стали случаи вроде “мы на .NET пишем мессанджер и когда у юзера запущена заставка мы не знаем как вывести сообщение на экран , а ведь требуется гарантированное уведомление.” И знаете что??? мой совет записать напрямую в видеопамять или как минимум вывести сервис на ring ниже:) и нарисовать окно сообшения поверх заставки или вообще ее стопонуть поверг всю группу, работающую над серьезным и хорошо оплачиваемым проектом - поверг в безмолвный шок.
    Так что давайте проведем четкую грань и ответим на вопрос :
    “Почему ты не программист” или “почему ты не веб программист” или “почему ты все еще не кликер? забудь паскаль к черту”

    ЗЫ:
    (я глубоко уважаю и почитаю девушек, особенно в нашей среде..Так что пусть это прозвучит как комплимент”

    “Начала я с РНР+JS, писала движки сайтов и т.п. Поняла суть программирования и ООП именно на их примере”
    КАКОЕ ООП НА Этом… боюсь даже набрать на клаве а то сдохнет … )))
    истинное ООП-только ANSI C++
    все остальное - is fake, во всем остальном лобзики для выпиливания кусочков пазла либо тупые, либо изогнутые, либо вообще сломаны

  31. 09/09/2008

    Вообще, статья хорошая. Я, честно говоря, тоже считаю, что лучше бы в наших школах и вузах вместо интегралов (они нужны будут радве что тем, кто будет заниматься оптимизацией 3D-графики, да и то в сугубо прикладном варианте - но это редко кому объясняют) давали парадигмы и ФИЛОСОФИЮ программирования. То же ООП, ставшее мировым стандартом кодинга, для 90% отучившихся в вузе (!!!) - тёмный лес! Ну не стыдоба ли?

    А вот книжки ИМХО - довольно чайниковские как раз. Лучше уж Кнута и Кормена тогда советовать :)

  32. 09/09/2008

    за JS глаз на жопу натяну - сначала, молчел, гляньте на вот это, вникните в объектную модель - а потом уже говорите, что это-де “не язык”. Извините, если грубо - просто надоело уже подобное несерьёзное отношение. Вот уж и вправду говорят, что JS is the most misunderstood programming language…

  33. 09/09/2008

    P.S. (что-то коммент непонятно куда запостился) Это кто там считает, что JS типа не “язык”? Если вы дальше мелких финтифлюшек на нём не писали, то сочувствую. Посмотрите на фреймворк ExtJS, вникните в объектную модель (а она там, надо заметить, достаточно нетривиальна) - и не гоните :) Вот уж воистину, Javascript is the most misunderstood programming language…

  34. psina
    09/09/2008

    Не, пожалуй философию программирования в школе рановато, а то точно к программированию у детей начнется отвращение :), а интегральчики, все же нужны всем технарям, к коим относятся и программисты.

  35. radiant
    09/09/2008

    Уважаемый Maniac, вот только не надо все в одну кучу сбрасывать ASM и .NET и PHP и Java и JS. Современные проекты не есть банальный вывод картинки на экран, задачи сейчас ставятся несколько другие. Но вот Ваш пример о мессенджере меня чессн говоря поверг в ужас. Не может быть такого!!!! ИМХО такого “профессионализма” а оплачиваемых проетах быть не должно. Так что не надо утрировать. С++ это замечательно, но как говорилось на каком то ресурсе, это зачастую хождение по граблям и зацикливаться на С++ в современном мире не есть гуд. Насчет разграничения сфер деятельности с Вами полностью согласен.

  36. blabla
    09/09/2008

    имхо порядок изучения должен быть такой (в случае выбора веб-программирования на php) - php для server-side, html+css+js для client-side, mysql для БД, технологию ajax для основных приемов более интерактивного интерфейса + ботать один из фреймворков на эту тему. В результате - счастье и Мир во всем Мире!

  37. blabla
    09/09/2008

    для лучшего понимания темы, один личный вопрос - сколько Вам лет?

  38. 09/09/2008

    23, а что, мой возраст вызывает сомнения?

  39. psina
    09/09/2008

    некоторые, я думал, меньше

  40. Alexandr
    10/09/2008

    Да! Всё енто хорошо, только программисту-тире-хакеру не очень хочется отдавать свои кровные деньжата на покупку приведенной выше литературы. Дело не в жлобстве (пардон), а скорее в своеобразном “спортивном” интересе. На других сайтах можно достать альтернативные источники обучения (будь то книги, статьи в эл.виде и пр.) или даже вышепрвиденные учебники “на шару” :) - разве не приятно? А здесь - ссылка на магазин (скорее всего - спонсор). Прошу автора исправить данную погрешность - выставить оцифрованные книги для скачивания с этого прекрасного сайта (только не надо ссылаться на всяческие там “авторские права” и т. д. - грубо говоря, никого это особо не волнует и мало кто соблюдает). И уверяю - интерес к Вашему сайту заметно возрастет и его будут больше посещать.
    А насчет таких фраз типа “программирование - это легко и просто” (заранее извиняюсь, если тут именно так не говорилось, но велось примерно к этому, - я просто несколько перефразировал) - прокомментирую так: на начальном этапе для создания чего-то примитивного и простейшего все сказанное выше имеет силу. Но как только дело доходит до чего-то более конструктивного - то тут новоявленный “программист” попадает в отчаяние - море информации поглощает его.
    “Не нужно быть математиком” - опять же, на начальном этапе. Для создания хороших программ им как раз быть нужно!

  41. deklin
    10/09/2008

    “истинное ООП-только ANSI C++”
    ой ли? ООП - прежде всего парадигма программирования. а не язык. да, некоторые языки приспособлены для ООП лучше, но это не значит, что на том же асме нельзя написать ООП код (С). и, если уж завели речь об ООП языках, то С++ тут далеко не на первом месте, он такой - мультипарадигменный, тут тебе и функциональное и ООП. Objective-C не в пример лучше подходит для ООП, по-моему. Или моя любимая Java. Или, как мне тут подсказывают, Smalltalk.

    “КАКОЕ ООП НА Этом…”
    Это что - снобизм? Я сам не терплю “какбы-кодеров”, которые изучив синтаксис и поюзав пару фреймворков считают себя гуру программирования. Но, по-моему, язык тут далеко не главное. Как писал сам автор топика - освойте сначала принципы, а синтаксис и в справочнике посмотреть можно. А между тем, в php5 вполне себе стройное ООП появилось, и его с успехом применяют, причем не “как бы кодеры”, а люди, которые не одну собаку съели на программировании. Про объектную модель в JS уже до меня говорили.

    Насчет icq-месаенджера - это как раз случай “какбы-кодеров”. Дотнет и подобные ему вещи обманчиво просты для новичков и создают иллюзию глубокого понимания всего и вся. И, как вы правильно написали, это действительно позволяет в большинстве случаев ускорить и удешевить разработку. Я надеюсь, Вы простите мне, если я ошибусь, но я выскажу одно предположение. Вы начинали свою карьеру программиста еще в 80-х-начале 90-х? Это если принять во внимание Ваши восторженные отзывы о С++ и волности, вроде зашвыривания простого icq-клиента на более низкое кольцо защиты. Тогда да - в этот период программисты действительно считали своим долгом иметь полный контроль над системой. Но времена меняются, и, по-моему, автор хотел сказать именно это, а не развязывать очередной холивар на тему “php рулед”. Информатика (или, как нынче модно IT) развивается очень стремительно, множатся слои абстракций. Кому-то надо знать все - чтобы чувствовать себя комфортно, кому-то - достаточно своей области. Главное, чтобы работа приносила удовольствие и пользу :)

  42. 10/09/2008

    Слава Вам Учитель!

  43. Anarki
    16/09/2008

    Не могу понять и объяснить - что именно, но что-то ты делаешь неправильно. Хотя.. возможно я ошибаюсь.

  44. Help! У автора афтограф можно взять?

  45. 20/09/2008

    dhxrohjt…

    dhxrohjt…

  46. isBlack
    25/09/2008

    О чем вы говорите!!!Устроили балаган.Ведь из за чего?
    Из за того что человек по сути изложил свое мнение.
    По сути он все по полочка разложил, дал рекомендации и даже более…Ссылки на литературу.
    Вы же спорите.Накидываетесь как собаки.
    Те кто согласен с тем что веб программист недопрограммист можете спокойно утопиться.Мир без вас будет лучше.
    Для программиста выбор языка вторично.На первом месте это АЛГОРИТМ!И на чем его выражать выберайте сами на основе личного предпочтения(или требования начальства).
    Для начинающих php достойное начало.
    Не стоит начинать с С++ или С#.Этим вы сдвинете соотношение ПРИЯТНО-ЛЕГКО в НЕПРИЯТНО-ТЯЖЕЛО.
    ООП тоже не все понимают(говорят обратное,знают даже терминологию, даже могут написать простой класс Polygon и конcтруктор копирования).А на чеи то по сложнее для них наступает ад.
    php идеален для начинаний.
    Респект автору.

  47. isBlack
    26/09/2008

    На счеи Кнута…
    Что же вы советуете.Любезный вы удостоились хоть открыть эту книжку?Сомнительно.Может вы гуру(гик)?Еще более сомнительно.
    У начинающих с первых страниц охота быть программистом отпадет навсегда.Может вы подумали что считаю эту книгу плохой?
    Что вы…Это шедевр в мире компьютерной литературы!
    Но…Как и все шедевры она не для всех.Я лично осилил 30 страниц.
    Почему?Я мог бы пролистать всю книгу и сказать что прочитал.Сказать что я гуру(гик).Но это бы было в корне не верно.
    Этот шедевр требует вдумчивого и углубленного чтения.Но что бы все это осознать нужен огромный багаж за плечами.
    Так что советовать ее новичка абсурд!

  48. 07/10/2008

    Развели то..
    Про Кнута - с нуля, или человеку с небольшим опытом и знаниями эту книгу сразу осилить невозможно!А так ли важно с какого языка начинать?
    Если хватит сил на асму, почему бы и нет?…не хватит, попробовать что попроще..
    Тут, на мой взгляд, все придет само собой, если у человека есть желание и терпение, он рано или поздно сделает выбор и займет свою нишу. А тем, кому не надо…это не надо), пусть ищут себя в другом….

  49. isBlack
    09/10/2008

    Мил человек!
    Причем тут Кнут и Аsm?
    Вы что не внимательно читаете?
    О Asm говорите словно это сложный язык!Он простой как три копейки.
    Выражать мысли на нем лучше всего так как каждая инструкция в основном представляет одно действие, а не комплекс действий как допустим в С printf().
    Но начинать обучение с него…
    Не все гении технари.Не все могут начать с того с чего начал 10-хакер(старый смысл этого слова).
    Что бы программировать на Asmе необходимо знать архитектуру ПК.
    Для начинающих весь этот мусор мещает сосредоточиться на рещении поставленой задачи.Им бы о алгоритме думать,а не бороться с мащиной.
    А в будущем когда заматереют можно и(в нужно ли в наше современное время?Разве что ядро ОС написать.И то только часть) Asm попробывать.

  50. 09/10/2008

    Мне тоже статья понравилась. Все очень хорошо написано. Только вот не соглашусь что программистом стать может каждый. Из своего опыта, кроме умения думать, самое важное для программиста - усидчивость и умение концентрироваться. Знаю многих людей, которые умеют думать, отучились и получили корочку программиста. Да вот беда, если нужно посидеть поработать 3 и более часов подряд - они сдаются. Просто не могут, физически или психологически - не знаю. Но после первых двух часов все умения уходят в неизвестном направлении, а оставшиеся ресурсы направляются на придумывание отмазок чтобы отказаться от дальнейшей работы. Такие вот дела, совсем не легко оказывается :)
    Кстати, те кто думают что PHP, JS и другие подобные языки - не языке, а программисты - недо программисты - вы ошибаетесь :) Сам прошел asm (для нескольких архитектур), basic, c/c++, pascal, java, c#, perl, php, js - это лишь инструменты. Какие-то нравятся мне больше, какие-то меньше. Но в целом, по своему опыту за последние 9 лет, программировать под web сложнее. Тому есть причины - логика программы разорвана между разными потоками исполнения (а зачастую и разными языками), для создания программы вам недостаточно знать один язык и его библиотеки-инструменты (нужно знать несколько языков - серверная часть + клиентская часть, хорошо понимать работу некоторых протоколов), web-приложение практически невозможно отлаживать с тем же удобством как это делается в обычных программах (тут нужна связка инструментов и умение ими пользоватся, анализировать информацию), необходимо обязательно знать SQL и хотябы одну СУБД и наконец web-приложение требует очень большой аккуратности, т.к. оно исполняется в различных условиях (разные веб-сервера и операционные системы, разные браузеры и настройки политики безопасности, разная ширина канала). То что я перечислил - это лишь вершина тех знаний которыми должен обладать хороший web-программист. Хотя для простых задач (сайты-визитки) - веб программирование действительно не такое сложное.
    Maniac, работа программиста заключается не в получении удовольствия от процесса :) а в решении поставленной задачи. Если задачу проще, быстрее и дешевле решить уже имеющимися технологиями, пусть то c# или php - нужно так и решать. А если какие-то части задачи требуют сложных ресурсоемких вычислений - их всегда можно переписать на c/c++. И еще, настоящий дизай мышкой не накликаешь, прийдется долго и серьезно возиться с HTML+CSS и графическим редактором, потому что в каждом браузере оно должно выглядеть одинаково, а это не так просто. Так что поменьше высокомерия ;)
    P.S. Ужасный CAPTCHA - даже человеку тяжело понять что там написано :)

  51. vasyaga
    10/10/2008

    Написанно всё верно,самое главное,как пишет автор-это не бросить на пол пути.
    Хотя хочу заметить,уж очень скучное начинать всё с ноля.
    Я вот уже изучаю самостоятельно месяца 3 php,а мне кажется,что я топчусь всё на одном месте и не чего не понятно-(((

  52. CrimBoost
    18/10/2008

    Во многом прав автор темы,начинать надо с легкого.В свое время сам решил научиться программировать,взял за основу продукты Borland,но споткнулся в середине и с тех пор вопше потерял интерес к языкам.

  53. iZEN
    19/10/2008

    Книжки:

    1. Монахов В. «Язык программирования Java и среда NetBeans», ISBN 978-5-9775-0216-0
    Может служить небольшим учебником по языку Java и обучает работе в среде NetBeans.

    2. Гери Д., Хорстманн К. «JavaServer Faces», ISBN 978-5-8459-1396-8
    В принципе подойдёт в качестве быстрого старта в деле программирования динамичных Web-страниц. Но не скажу, что она для тех, кто не знает ЯП Java. Рассматриваются технологии Apache. Примеры не привязаны к конкретной среде программирования — нужен только Ant для сборки.

    3. Дей Нейси, Мандел Лоренс, Райман Артур «Eclipse. Платформа Web-инструментов. Разработка Web-приложений на языке Java», ISBN 978-5-91136-051-1
    Учит вести Web-проекты на примерах.

    ASP и PHP ненужно.

  54. 20/10/2008

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

  55. 21/10/2008

    Да, я ужасный человек, гребу миллионы с продажи книг.
    Читай тут http://boliev.com/archives/68

  56. 12/12/2008

    Автору хочу посоветовать не языки программирования в массы продвигать, а лучше “самоучитель” по русскому языку приобрести и проштудировать хорошенько: сплошные “невкоем случае”, “обьем”, “как говориться”. И, пожалуйста, восклицательных знаков поменьше, поменьше.

    В целом по статье: ИМХО, соотношение бред/не совсем = 50/50. Читая те книги, которые предлагаете Вы, программистом еще долго не станешь. И появится очередное быдло-чудо, которое делает сайты на коленке за полтора часа с использованием индийского framework, гы-гы :) За $150, ладно $100.

    Изучать _программирование_ надо по языку Ассемблера или Си. А лучше вместе, вооружившись справочником как минимум по 8086, а лучше сразу 80386 процессору. А учиться веб-разработке можно и на курсах за 4 круб “Стань веб-мастером за 7 дней”. По крайней мере люди, проектирующие, разрабатывающие и поддерживающие _программы_, а не сайты, читать “PHP глазами ][аkep’а” или рекомендовать в качестве самоучителя по программированию (!!) “Самоучитель HTML и CSS” не будут!

    Фи, да и только, короче говоря!

  57. 12/12/2008

    2 Олег: да вы, батенька, прямо-таки олдфаг :) У всего есть своя ниша, и если те же сайты пишутся на удобных фреймворках, быстро и недорого - значит, такова их ДЕЙСТВИТЕЛЬНАЯ цена (ну не требовать же с заказчика вдвое больше только потому, что “ну я же это с нуля на голом Си писал”, платят не за труды, а за результат). Да, разумеется, надо знать и то, как все эти дела устроены на низком уровне - но ВМЕСТЕ с современными средствами, а не вместо них :)

  58. 14/12/2008

    Ad Astra, огромное удовольствие, честно говоря, общаться с адекватным и образованным человеком *пальцы вверх* :)

    Согласен, путать экономику производства (разработки программного продукта) и, собственно говоря, технологии, используемые во время оной - не кошерно, да и не нужно в любом случае. Глупо ломить 3 рыночных цены за заново изобретенный велосипед, ага.

    Но статья от этого лучше не становится, как и стиль изложения, и примеры вместе с рекомендациями. Любая моя писулька (коих у меня немного) перед тем, как быть показаной даже близким друзьям (!!!) раз 5 перепроверяется, потом отдается на стилистическую коррекцию подружкам с филфака и бабушке-филологу и только тогда - ага! - я даю ее почитать.

    Выкладывать же настолько сырой, непродуманный, да еще и местами вредно-глуповатый материал - это, батенька (voff), моветон и неуважение к своим читателям!

  59. 15/12/2008

    Олег, вот чего реально не понимаю: тебе не нравиться мой стиль изложения, ты не согласен с моими точками зрения,и считаешь что я тебя не уважаю, ага. Так обьясни мне, ага, зачем ты зашел на мой блог, ага, прочел все мои статьи, ага, и еще и негативно каждую откомментировал, ага! Если мне не нравится чья то статья, я ее не читаю, и уж точно не читаю все остальные статьи автора. Что это? Дефицит внимания?
    Олег, я пишу для людей, которым нравиться меня читать, никого насильно на блог не заманиваю, и если тебе не нравиться как я пишу, читай другие блоги. Если есть критика, критикуй обоснованно, все что я от тебя слышал - это “Чьято то там статья лучше твоей, но ты ее украл и сделал хуже”, или “Заведи подружек на филфаке, достань где нить бабушку филолога, и запаривай их со своими статьями.” Олег, мне это не интересно.

  60. 15/12/2008

    Я никого своими статьями не парю ;) Дело в том, что выкладывая свое творчество в инет, вы наверное могли предвидеть подобное развитие событий - появление такого вот “хренового критика с бабушками-филологами” и все такое прочее…

    Зачем зашел? Да абсолютно случайно! Нельзя? Хорошо, поспешу откланяться.
    Насильно мил не будешь, это относится так же ко мне, как и к вам. Да и не заставишь никого насильно ни свой культурный уровень поднять (хотя бы грамотность), ни писать о том, что интересно мне.

    Впрочем, в любом случае - удачи вам! И еще: настройте пожалуйста отсылку оповещений о комментах на e-mail. Мне вот про ваш коммент, на который я отвечаю, 4 абсолютно одинаковых оповещения свалилось…

  61. Kirik
    18/12/2008

    Хорошая статья! Почему ее небыло, когда я начинал прогать..?! =)
    Спасибо!

  62. Николаев
    02/01/2009

    Автору спасибо. Впринципе все эти технологии (css, js, php, mysql) - зачем и как они нужны я знаю. Благодарю именно за то, что статья придала уверенности и стремление идти до конца.
    Дело в том что я изучал php, но бросил, потом решил что буду версткой заниматься - изучил css, захотел javascript но не пошло как то дальше и опять бросил. Прошло некоторое время, мне сейчас 21 и я решил уже точно изучить php/mysql.
    Купил книгу Котерова, профессиональное программирование PHP и MySQL 5 Симдянова. Читаю сейчас именно MySQL, потому что когда в PHP пойдут функции для работы с БД без знания SQL будет тяжело. Моё имхо.
    Сейчас работаю контентером, думаю бросить универ. А то отвлекает от изучения действительно нужного мне материала.
    Спасибо автор.

  63. 02/01/2009

    Знаешь, не советовал бы я тебе бросать универ. Сам побывал в твоей шкуре, учился в универе, но не на программиста. Тяжело это, когда ты точно знаешь чем будешь заниматься, но при этом тебя каждый день запаривают туфтой, которая тебе не интересна и не нужна. Однако я с горем пополам универ закончил, и не жалею, ибо в России, не важно какое именно у тебя образование, экономист ты, электронщик или программист, главное что бы твое образование было высшим.

  64. 22/02/2009

    Отличная статья! Очень понравилось. Пишите ещё :)
    (правда есть ошибки с “не” в словах, ну это мелочи)

  65. Сергей
    02/03/2009

    Статья неплохая. Но, на мой взгляд, есть некое упрощенчиство. Как нас учли в своё время, программисты бывают разные. Есть прикладники, а есть системщики. Есть web-конструкторы, а есть разработчики “настольных” приложений. Есть ещеё много чего… Но всех программистов объединяет одно - хорошее знание предметной области. Тех, кто не разбирается в предметной области, но при этом лабает код, можно назвать … ну кодировщиком, оператором (чуть не написал машинного доения) ввода исходных текстов … Очень модно, в среде недоленнах выпускников нынешних ВУЗОв, “интуитивное” программирование. В наше время это называли шарлатанством, ну в лучшем случае работой “на коленке”. Настоящий программист, это прежде всего хороший режиссер и сценарист, а уже потом оператор.

  66. Сергей
    02/03/2009

    За опечатки приношу извинения …
    Трудно одной рукой “топтать клаву”, а другой кушать(ответ родился во время обеда).

Оставить коммент

ролрл