Что изучать?
11 июня 2010
Несколько раз за последний месяц меня спросили «что перспективней изучать» в вариациях .net vs Java, django vs Yii и так далее. Спорить про плюсы той или иной платформы можно долго и разработчики это успешно делают, устраивая бесконечные холивары. А ведь на самом-то деле изучать надо в первую очередь совершенно другие вещи. Те, что применимы ко всем платформам.
Английский
Без него разработчику очень туго т.к. на нём написана большая часть документации… да и кода. И если основную документацию и туториалы ещё можно найти на русском, то API практически никогда не переводят. Знание английского даёт и дополнительные бонусы в виде устройства на работу в зарубежные компании и возможности работы с зарубежными заказчиками.
HTTP
Программировать под веб хотя бы раз не изучив спецификации HTTP — работать вслепую. Очень многие вещи из тех, на которых намертво ступорятся новички, с лёгкостью решаются тем, кто знаком с HTTP.
Принципы безопасности в веб
Основные техники и нападения и защиты в веб стандартны для всех языков и платформ. Соответственно и принципы разработки безопасных приложений сходны. Принципов этих совсем не много, а их знание поможет не делать глупых ошибок с серьёзными последствиями.
Шаблоны проектирования
Шаблоны проектирования не устаревают и их принципы сходны для всех языков. Их использование позволяет не делать своих велосипедов с ошибками, которые уже учли лучшие программистские умы.
Регулярные выражения
Если регулярные выражения кажутся вам набором бессмысленных символов, определённо стоит их изучить. Регулярки позволяют с лёгкостью выполнять довольно нетривиальную работу, связанную с обработкой текста. Принципы их работы сходны для всех платформ (хоть и различают несколько диалектов). Лучшим материалом по теме является книга Фридла «Регулярные выражения». Ну и сразу совет: не применяйте регулярки там, где легко можно обойтись без них.
HTML и CSS
Даже если вы не собираетесь верстать, знать HTML и CSS (пусть и не досконально) для нормальной комфортной разработки необходимо.
JavaScript
Хорошо иметь хотя бы общее представление для того, чтобы без проблем использовать тот же jQuery и не думать, что AJAX — это что-то магически крутое.
Скорее всего я забыл ещё какие-то полезные вещи, но идея, думаю, ясна — в первую очередь стоит обратить внимание на общие для всех платформ технологии, а потом уже выбирать платформу.
Комментарии RSS по email OK
Напишите иначе: разговорный английский, технический английский, классика (5-10 языков различной идеологии). Путём таким придёт умение думать и быть может слушать не чужие вредные советы.
Вот как-раз с «классики» начинать по-моему не стоит. Можно ограничится 1—2 языками (компилируемым и интерпретируемым).
Спасибо. Было бы неплохо если бы еще и источники посоветовали. Я могу посоветовать:
Шаблоны проектирования: книга "PHP: объекты, шаблоны и методики программирования" и " Приемы объектно-ориентированного проектирования. Паттерны проектирования". Но первая мне больше понравилась. Написана лучше.
Регулярные выражения: книга "Регулярные выражения 3-е издание" Фридл Дж. Очень хорошая книга.
HTML и CSS: http://www.htmlbook.ru
JavaScript: книга "Javascript. Подробное руководство" 2009 год.
Про регулярные выражения и Фридла я уже рассказал.
По HTTP и безопасности могу порекомендовать:
HTTP Developer's Handbook, Chris Shiflett
Essential PHP Security, Chris Shiflett
Шаблоны проектирования отлично описаны на SourceMaking.
Для понимания HTML достаточно htmlbook.ru, а вот по CSS я бы всё-таки посоветовал Мейера.
По JavaScript однозначно что-то посоветовать не могу.
для js(не новичков) советую почитать джона рейсига ejohn.com и его книгу, есть на русском.
Это конечно не для новичков, но все равно интересно мнение специалистов. Стоит ли изучать такие фреймворки как qooxdoo и ExtJS для разработок админок к обычным сайтам?
Я бы добавил еще архитектуру БД и SQL.
Совершенно согласен, совпадает с моим видением хорошего веб-разработчика.
Я как с бэкграундом c/с++, посоветовал бы Thinking in C++ :) там во второй части про фабрики, шаблоны как раз все основное и есть.
Я считаю, что web-разработчику не мешает познакомиться с linux.
Со всем списком согласен, прям я почти так же думал. Только вот где изучить английский на должном уровне???
Дмитрий
До среднего могут научить школы английского и практически все репетиторы. Выше среднего уже не очень просто — тут нужно много практики. Хорошо помогает чтение и переводы на русский.