5 мифов Web программирования
В каждой области существуют свои мифы, каждая сфера деятельности овеяна некоторой тайной, в следствие которой появляются мифы. Я попытался описать 5 наиболее распространенных на мой взгляд мифов о Web программировании.
Миф №1. C++/Pascal рулят миром.
Многие думают что, только такие гиганты программирования как Страуструп могут создать идеальный язык. Нет, на самом деле действительно на C можно написать все, что только можно реализовать в виде логической цепочки действий, но(!): обращу ваше внимание на слово "написать". Т.е. написать то можно, но вот сколько это потребует усилий, какова будет цена выбора в пользу "идеального" языка. Возьмем, например PHP. Все знают (ну теперь точно все), что интерпретатор PHP написать на C. Что из этого следует? А то, что для того что бы писать скрипты для web на C так же легко и быстро, нужно будет написать аналог PHP. Все дело в задаче и "себестоимости" ее выполнения.
Миф №2. Web программист никогда не напишет "ничего серьезного".
Под "серьезным" обычно понимается масштабный проект, который отнимает кучу времени нервов, но приносит таки "достойное" вознаграждение. ОК, вот аналогия из жизни. Капуста на рынке стоит N, в магазине эта же капуста стоит 1,25N, в супермаркете premium класса эта же капуста стоит 5N, а на базаре на рублевке эта же капуста стоит 1000N. И что, кто тут рубит капусту (пишет что-то серьезное)? Так вот, имхо, вопрос не в том, как вырастить капусту (написать программу), а как ее продать, а это уже вопрос из области маркетинга и программирование (хоть на PHP, хоть на C/Pascal) тут вообще не причем.
Миф №3. Лучше начинать учиться со "сложных" языков.
Отчасти, да. Вот только, как всегда завеса тайны, внесла коррективы трактовку этой фразы. Действительно что бы понять суть азы программирования (типы данных, ссылки, основы ООП) лучше начинать изучать тот язык где эти самые азы реализованы лучше всего, но(!): Обычно фраза "Лучше начинать учиться со "сложных" языков" употребляется в том контексте, что допустим человек выучивший PHP не сможет перейти допустим на C. Повторюсь PHP написан на C и унаследовал очень много от прорадителя. Значит PHP похож на C, ровно столько же сколько C похож на PHP. Почему кто-то не сможет перейти от простого к сложному, а от сложного к простому этот же самый человек сможет. Т.е. не изучая PHP вы способны изучить C, а вот освоив PHP вы сразу же, по мановению волшебной палочки, теряете свойство "могу изучить C". Бред!
Миф №4. Пиши с нуля.
Этот миф часто возникает сам по себе в головах начинах кодеров. "Ах, сколько кода, как долго с ним разбираться": "лучше я напишу свой аналог, в котором будет присутствовать только "то, что мне нужно"". Почему это миф? Во-первых, если сложно понять, чужой код, то это еще не значит что он плохой. Во-вторых, составляем список "того что нужно", сравниваем с тем, что есть и забиваем на "пиши с нуля". Лучше писать надстройки для, например, управлениями обмена ссылками между 10 (100,1000 нужное подчеркнуть) форумов, модули ко всяким CMS наконец. Другое дело, если кодить что-то уникальное по своей природе, но в 99,99% случаях фраза "пиши с нуля" употребляется из-за нежелания разбираться в чужом коде и учиться в целом. Психологический вопрос, имхо. Конечно, можно кодить с нуля для "закрепления пройденного материала", но опять же это укладывается в те самые 0,001%.
Миф №5. Все уже написано.
Вот только не надо опускать руки! На самом деле написано настолько мало, что аж [censored]! Другое дело, если в процессе обучения (практики) кодинга, возникает ситуация когда не находится задачи к которой стоит "приложить руки". И вот тут в игру вступают "срули". У них все написано, все сделано, все места заняты: пора пойти и застрелится. Что тут можно сказать. Люди, это не программирование придумает задачи для жизни, а жизнь дает пишу (кусочек хлебушка и чашку и икорочкой) программисту. Не там ищите идеи. Действительно, накодить что-нить очень тяжело, а вот например накодить парсер, новостного сайта сложнее, еще сложнее усовершенствовать его и сделать настраиваемые уведомленения по e-mail, icq и sms. Еще сложнее написать систему отслеживания копий текста с сайта (мало ли кто-то "чисто случайно" забыл поставить ссылку на вас). Да много чего можно сделать.
Вместо заключения скажу, что многие мифы это на самом деле простая подмена понятий, или какие-то психологические барьеры. Никто не может решить за вас, что лучше, что правда, и что делать.
Оставить комментарий
Комментарии


На счет Страуструпа, то если хотите создать оптимальный код, делайте все наоборот его рекомендациям. У него есть хорошие моменты, но по сути он аксиоматичный язык превратил в нечто многословное и оторванное от компа. Например, зачем слово class, когда есть struct, от этого будет удобнее писать? Только путаница появится.
"Лучше начинать учиться со "сложных" языков"
Надо начинать с ассемблера. Иначе ничего непонятно будет. Я начинал с асма PDP-11, потом перешел на ПС, т.к. все компы такими стали. На Си пришлось переходить для писания фильтров под Директшоу, т.к. там базовые классы на Си.
"Пиши с нуля.
Этот миф часто возникает сам по себе в головах начинах кодеров"
В подавляющем большинстве случаев, быстрее написать самому, чем ковыряться в чужом. Это, конечно, зависит от сложности задачи. Например, вывести звук на динамики под Виндой, проще изучив самый низкоуровневый АПИ, а не юзая тонны ненужного кода, с которым еще надо разобраться. Ну и извиняюсь, распечатать число, нафига нужно линковать несколько десятков Кб для этого (crt), когда задача решается в несколько строчек.
"Миф №5. Все уже написано"
У кого такие идеи возникают, не смогут найти задачи, которую надо писать. По этому, миф верный, с поправкой на "уникальное по своей природе, но в 99,99%" часть человечества




Так как при переходе с PHP на C++, программер будет часто.
Нет, очень часто, вводить сам себя в заблуждения.
И пречом очень глубокие...




"PHP похож на C, ровно столько же сколько C похож на PHP"
в этом я соглашусь, хоть я С и не заню, но всеже...
У человека в подсознании заложено что от сложного к лехкому просто, а наоборот нет. И по сему как бы они похожи не были переходить от PHP к С сложнее чем наоборот.
Этот вопрос дал мне тему для размышлений: я недавно начал изучать PHP и со следующего года, в уневере, начнут читать С. Интересно, каково будет совмещать изучение одно с другим.


Вы на дату посмотрите, 2 января. У автора после встречи нового года лучше ну никак не получилось бы ;)


"Название" мифов очень слабо пересекается с содержанием их "развеивания"
1.С/С++ действительно рулят миром, и пытаться с этим спорить бесполезно. Системные приложения, лежащие в основе _всего_, так или иначе написаны на сях (за очень редким исключением). PHP, pascal, я бы еще добавил еще Java(кстати странно что про нее нет ни слова...) - языки для прикладных задач
2.К сожалению не видел действительно "серьезных" проектов на PHP в исходниках, но как можно писать что-то серьезное на языках без контроля и без нормальных средств отладки я не представляю (при этом я не утверждаю что это невозможно - просто для меня это непредставимо...). Да и развенчана только часть про достойное вознаграждение. По масштабности ,имхо, web-приложения на языках типа php "настольные" приложения врядли догонят
3."Значит PHP похож на C, ровно столько же сколько C похож на PHP."
Зочёд однозначно. Я хотя бы могу надеятся, что под С по ходу статьи подразумевается С++ ? :). Миф используется в том контексте, что грамотному С++ программисту переход на php дастся ГОРАЗДО легче чем грамотному php-програмисту переход на С++, а это все же тяжело оспорить...
4 относится не к Web-программированию, а к программированию вообще. Миф возник не на пустом месте, а на основании того, что в подавляющем большинстве случаев взятый чужой код тебе не подходит по разным причинам, и ты, потеряв тучу времени на его раскопки в жестком цейтноте пишешь таки свой код, повторяющий во многом функционально чей-то модуль...
Из чего возник 5 миф я понять не могу. Вообще слабо представляю аргументацию в его пользу :))
ЗЫ. Ну и отдельный спасиб за орфаграфийу. Может быть стоило иногда ходить в школу, ну или хотя бы спелчекером прогнать? :)


На самом деле, после продолжительной работы на php, мой мозг отказался мыслить указателями. Пришлось потратить какое-то время на реабилитацию, чтобы вспомнить, что в си строки по == сравнивать некорректно.
...
"Мало общего с жизнью." С заголовком тоже есть расхождение ;)


Сложнее перейти с php на C++ а не наоборот потому, что во время подготовки специалиста складываются определенные стереотипы о программировании в целом и человеку после php объяснить что указатель на int и массив из int компилятор понимает одинаково будет крайне сложно. И это далеко не бред. Как продать программный продукт скорее относится не к мифам, а к реальности и то в микроэкономике.
ИМХО мифы 1, 4 и 5 не имеют к теме вообще никакого отношения. А в целом соглашусь с foxweb статья отношения к реальности имеет мало.






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


\"Миф №4. Пиши с нуля\" - вы говорите, что необходимо разбираться в чужом коде, а теперь говорите что нужно писать самим - \"Миф №5. Все уже написано\"
Объясняю вам как обстоит дело - чужие разработки используються в виде dll библиотек, модулей, функций. Для того чтобы передать параметры, получить результат. Если что-то не написано, или вы не знаете о том что это написано, то коды делаются с нуля. А для создания крупных проектов иногда достаточно использовать старые наработки.
Вывод - вам . @Лучше начинать учиться со \"сложных\" языков\" хотя я не понимаю, что вы под этим подразумеваете :)))


ИМХО статья имеет довольно мало общего с жизнью.