Хочу стать программистом, с чего начать?

4
1508

Здравствуйте, уважаемые читатели. Сегодня я дам советы по методике обучения программированию в домашних условиях. Я не буду рекламировать нечто подобное любительских видео-курсов всего за $19.99, а расскажу о том необходимом наборе знаний которыми должен обладать профессионал, посоветую полезную литературу. Статья будет полезна всем, кто действительно хочет стать программистом. Бытует заблуждение, что чтобы стать программистом достаточно изучить какой-нибудь язык программирования, но на самом деле это только начало. Я же сегодня расскажу о том, какие знания и в какой последовательности вам следует получать, чтобы стать профессиональным программистом.

Как бы банально не звучало, но начать следует с изучения основ языка программирования. Не следует изучать языки предназначенные для обучения такие как: Pascal, Basic. Выберите полноценный язык программирования который используют в своей деятельности профессионалы. Например, начните изучать C/C++, C#, Java или Python. Начать изучение языка вы можете по книгам и для каждого языка найдется парочка достойных, подробно и доступно написанных книг. Для Python я бы посоветовал книгу Марка Лутца «Изучаем Python», для Java Брюс Эккель «Философия Java», для C++ Брюс Эккель «Философия C++», для C# Эндрю Троелсен «Язык программирования C# 2010 и платформа .NET 4.0». Так же не забывайте о практике, выполняйте упражнения предлагаемые в книгах и пробуйте писать свои небольшие программы. На этом этапе вы овладеваете главным инструментом программиста и уже можете создавать нечто свое, нечто уникальное, но чтобы вы могли создать современный, востребованный и качественный продукт вам придется расширять и углублять свои знания.

История развития алгоритмов

Любой начинающий специалист, желающий стать программистом, должен знать историю развития и становления своей отрасли хотя бы для того0 чтобы не повторять «чужие» ошибки. История для программиста — алгоритмы. Вы должны ближе познакомится алгоритмизацией и историей развития алгоритмов. Тут можно посоветовать такие книги как Дональд Кнут «Искусство программирования» и Томас Кормен, Чарльз Лейзесторн, Рональд Ривест, Клиффорд Штайн «Алгоритмы. Построение и анализ». Следует предостеречь, что тут вам может понадобиться познания в области математического анализа и не помешает вооружиться хорошим справочником по этой дисциплине.

Операционные системы и программирование

Вы должны быть хорошо знакомы с операционными системами под которые планируете разрабатывать программы. Вы должны знать как устроены эти системы, знать как минимум по одному языку командой оболочки для вашей системы, иметь базовые навыки системного администрирования. Для Windows могу посоветовать Уильям Станек «Windows 7 для продвинутых», Linux — Маттиас Далхаймер, Мэтт Уэлш «Запускаем Linux», FreeBSD — Майкл Лукас «FreeBSD. Подробное руководство». Если вы собираетесь разрабатывать ПО для смартфонов или планшетов, тогда не стоит забывать об операционных системах для мобильных устройств.

Программирование баз данных

Чем бы вы не занимались и какого бы рода ПО не разрабатывали готов поспорить, что вам придется столкнуться с базами данных. Без опыта работы хоть с какой-то СУБД вы не сможете стать программистом даже в отдаленном понимании смысла этого слова. В любом проекте где имеется база данных, она становится главным объектом для внимания программистов. Очень важно не только уметь грамотно проектировать структуру БД, но и уметь организовать взаимодействие программы с оной наиболее оптимальным способом. Могу посоветовать несколько книг: Томас Коннолли, Каролин Бегг «Базы данных. Проектирование, реализация и сопровождение. Теория и практика.», К. Дж. Дейт «SQL и реляционная теория», Стефан Фаро «Рефакторинг SQL-приложений», Кэвин Кляйн, Дэниэл Кляйн, Брэнд Хант «SQL справочник».

Рефакторинг кода

хочу стать программистом

Объектно-ориентированное программирование и проектирование, рефакторинг кода. Очень важно научиться писать код так чтобы он был понятен другим программистам, он был универсальным и его можно было использовать повторно, именно в этом нам поможет объектно-ориентированное программирование. Обязательно стоит прочесть такие труды как: Эрих Гамма и др. «Приемы объектно-ориентированного проектирования», Мартин Фаулер «Шаблоны корпоративных приложений». Это книги ставшие классикой и шаблоны приводимые в них надо знать наизусть. Так же вам может потребоваться изучить какие-то специфические шаблоны связанные с той область в которой вы планируете работать. Рефакторинг — улучшение и повышение качества уже существующего кода, и вам очень важно овладеть этим умением. В этом вам помогут следующие книги: Мартин Фаулер «Рефакторинг существующего кода», Роберт Мартин «Чистый код. Создание, анализ и рефакторинг».


resume professor

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


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

Я перечислил основные темы которыми необходимо овладеть чтобы успешно разрабатывать современные и качественные программы, но время не стоит на месте, а IT-отрасль развивается стремительно. Надо постоянно осваивать новые технологии, чтобы оставаться востребованным специалистом ну и конечно же не забывать о практике! Если вы всерьез решили стать программистом, тогда вас наверняка заинтересует моя следующая статья о языке программирования Visual C#.

4 КОММЕНТАРИИ

  1. Да, чтобы стать хорошим программистом надо прочитать не одну книгу. Давно ищу хорошие книги по сопутствующим программированию предметам. Надеюсь перечисленные книги будут полезны, благо что основы программирования на с++ во мне заложены. Думаю, что мат. анализ не все , с чем придется познакомиться дополнительно. Нужна теория чисел и фундаментальная алгебра. Также уверенное знание английского языка на уровне понимания технической документации.

  2. Не думал, что в интернете можно найти реально толковый и грамотный материал про азы, начало программирования.Приятно видеть, что в качестве нужного учебного материала представлены книги, а не различные бестолковые видео.Также я не удивлен и мне приятно видеть слова автора о языках программирования, которые следовало бы изучать. Сам в своё время занимался азами программирования и не понимал,зачем мне изучать тот же Basic, который почти не используется и изучается отнюдь не без проблем.

  3. Чтобы стать программистом, всего, что перечислено в статье, вполне достаточно, но чтобы стать настоящим профессионалом и гуру нужно выбрать один язык программирования и доводить владение им до совершенства. К сожалению, современное университетское образование не дает полноценных знаний даже одного языка программирования. Все зависит только от желания студента.

  4. В целом замечательная и очень содержательная статья, видно, что автор постарался. Правда очень много книг, сложно выбрать с чего начать. Однако никакие видеоуроки не заменят хорошей книги, так как её всегда можно использовать как справочник, да и она даёт возможность всё хорошенько обдумать, а не нестись бешенным галопом, слепо повторяя действия "видеоинструктора"… Также хотелось бы отметить, что автор статьи не забыл про алгоритмы, которые формируют необходимое логическое мышление. Могу только добавить, что помимо книг есть программы, где алгоритмы можно попробовать "в живую" и увидеть как это работает.
    Я сам только начинаю изучать программирования, начал с С++. Желаю успехов всем начинающим и помните: ничего никогда просто так не даётся. Не отчаивайтесь, если что-то не получается, не забрасывайте изучение.

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь