Для большинства людей, решивших связать свою жизнь с программированием, встаёт вопрос: с чего начать программирование, ведь хотелось бы сразу, с первых шагов писать собственные программы. Тогда, с одной стороны, это будет наработкой практического опыта, а с другой – приобретением навыка решать прикладные задачи.
Компьютер - это такой же инструмент в программировании, как у плотника топор, а у художника – мольберт. Главное - развитие знаний и навыков, а творить вы сможете практически на любой машине. Это значит, что не существует большой разницы, с чего начать изучение программирования. Конечно, выбор языка для написания программ может сыграть решающую роль, когда молодой человек начнёт предлагать себя как перспективного специалиста. Но это будет немного позже.
Например, если рассмотреть web программирование (с чего начать - тоже вопрос), то здесь есть минимальный набор технологий для front- и back-end’а, без которых полноценная разработка веб-приложений невозможна на любом участке работы. А расширенный набор программ выходит за рамки инструментария начинающего программиста, и он не является тем, с чего начать программирование в принципе возможно.
Классики программирования рекомендуют закладывать основу в трёх направлениях:
- Сильно типизированного языка - как, например C/C++.
- Полностью ООП-ориентированного языка, каковым традиционно считается JAVA.
- Скриптового языка, где выбор может быть от классики вроде shell, sed, awk или Perl или что-то поновее. Если хочется тратить меньше сил и времени на изучение, то подойдет PHP.
Разумеется, что сегодня, когда новые технологии возникают почти каждый день, вряд ли кто-то будет следовать заветам бывалых о том, с чего начать программирование. Наверное, более востребованным ответом на этот вопрос будет: что надо сделать, чтобы начать программировать хоть на каком-нибудь языке. Но полученные рекомендации подойдут лишь для развития начальных навыков и не более того. В реальной жизни любой популярный язык программирования, точнее его изучение, можно сравнить с учебой, например, русского языка в средней школе. Аналогия неполная, но достаточно показательная, чтобы понять, о чём идёт речь. Начинать нужно с самого простого - изучения "алфавита" программирования, а дальше, с помощью постоянных упражнений и изучения новой информации постепенно продвигаться к вершине искусства написания замысловатых кодов.
Как бы там ни было, но потенциальный работодатель либо хорошо платит опытному программисту, либо почти не платит, но и не требует взамен особых навыков. Поэтому, возвращаясь к вопросу "с чего начать программирование", следует ответить примерно так: с накопления опыта. А это значит, что надо писать программки всегда и везде, подобно художнику, который хочет отточить своё мастерство, и рисует всё, что попадается ему на глаза. Практика приводит к совершенству, а уже за совершенство многие готовы платить хорошие деньги. Например, сейчас даже ранние эскизы именитых художников стоят кучу денег.
Последним пунктом, о котором здесь стоит упомянуть, является необходимость творить так, чтобы об этом впоследствии можно было рассказать или написать. Иными словами, речь идёт о создании портофолио программиста, где будет представлен исходный код - от самых первых творений до всех продвинутых достижений на этом поприще. При наличии такого подспорья разговоры с потенциальными работодателями будут короче, а надобность в резюме может и вовсе отпасть сама собой – просто начнут поступать предложения по работе.