Выбор редакции

Обучение программированию с нуля – пошаговое руководство для начинающих. Десять шагов от чайника к программисту-профессионалу

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

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

Cодержание:

Шаг первый. Подготовка

Нередко начинающие программисты не могут достичь успеха по той простой причине, что изначально не смогли правильно расставить приоритеты. Они представляют данное ремесло как что-то романтическое, динамичное – прямо какой-то постоянный экшн. В фильмах этот процесс показывается совсем не таким, какой он есть на самом деле. Более того, там вообще не отображается само написание кодов, нам показывают только события, которые вращаются вокруг этого.

Яркий пример тому – фильм «Социальная сеть», в котором вообще не показывали, как главные герои занимаются кодами.

Рис. 1. Кадры из фильма «Социальная сеть» (2010)

Рис. 1. Кадры из фильма «Социальная сеть» (2010)

Также в фильмах показывают, что программистом может стать любой человек без знаний, опыта и даже без серого вещества в мозге. В данном случае можно вспомнить фильм «Кадры».

Рис. 2. Постер к фильму «Кадры» (2013)

Рис. 2. Постер к фильму «Кадры» (2013)

Так что если вы просто пропитались духом всевозможных кинолент и хотите самостоятельно начать «кодить», программирование – это явно не для вас.

Вот вам правда о рассматриваемом ремесле – программирование это:

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

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

Если вы все это осознаете и готовы окунуться в удивительный мир программирования, то приступайте к следующему шагу.

вернуться к меню ↑

Шаг второй. Выбор первого языка

Существует огромное количество языков программирования. По некоторым подсчетам их число уже достигло нескольких тысяч. Согласно рейтингу журнала IEEE Spectrum наиболее популярными на сегодняшний день являются такие языки, как C, Java и Python. Ниже представлена первая десятка данного рейтинга.

Рис. 3. Рейтинг языков по версии IEEE Spectrum

Рис. 3. Рейтинг языков по версии IEEE Spectrum

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

1Pascal.

2C++.

3PHP и все, что связано с веб-программированием, а также SQL (это система, предназначенная для работы с базами данных путем запросов).

Дальше уже можно изучать все, что угодно, в зависимости от направления деятельности. Если коротко, существуют следующие варианты:

  1. Веб (разработка сайтов, онлайн систем и все, что с этим связано) – html (хотя его нельзя назвать полноценным языком программирования), PHP, Perl, Python, Ruby, Java, Groovy, а также технология ASP.NET.
  2. Пользовательское ПО (всевозможные программы вроде справочников, браузеров, мессенджеров и тому подобное) – Delphi, C, C++, C#.
  3. Пользовательское ПО для мобильных устройств – Java, Objective-C.
  4. Машинные разработки (работы с микропроцессорами и другими устройствами, проектирование робототехники) – Assembler, модификации С.

Кто-то также может внести в этот список так называемое программирование 1С. Не верьте профанам и ничего не знающим людям! Это совсем не программирование. Когда вы познакомитесь с основами рассматриваемой работы, то поймете, почему так можно говорить.

Выбирайте то, что вам больше всего понравится.

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

Большинство специалистов также советуют начать свое обучение с Pascal. Такой вариант позволит Вам написать самые простые программки и иметь общее представление о рассматриваемом ремесле в целом. Можно сказать, что Паскаль – это некий мост. Человек, который просто хорошо знает математику, может перейти через него в мир программирования.

Внимание! В какую бы компанию вы не устроились после обучения, вас будут переучивать под себя. Поэтому вы должны просто понимать сам принцип написания программ. А для этого нет ничего лучше, чем Pascal.
вернуться к меню ↑

Шаг третий. Изучение компиляторов

Для справки: Компилятор – это техническое решение, предназначенное для перевода вводимых команд в машинные инструкции, грубо говоря, в нолики и единички, то есть в такую интерпретацию, на которой машина будет понимать, что ей делать. 

Собственно, все свои программы вы будете писать, и выполнять именно в компиляторах.

Если вы решили последовать нашему совету и начать с Паскаля, то вам следует скачать Free Pascal. Этот компилятор абсолютно бесплатный и распространяется на официальном сайте.

Рис. 4. Free Pascal

Рис. 4. Free Pascal

Как видим, выглядит он достаточно «старомодно», но программирование начинается именно с этого. Кстати, компилятор C++ выглядит практически так же. Называется он Turbo C++ (скачать его можно здесь).

Рис. 5. Turbo C++

Рис. 5. Turbo C++

Что касается Паскаля, то существует также GNU Pascal, Turbo/Borland Pascal, TMT Pascal и Virtual Pascal. А для С++ можно использовать Borland C++, Visual C++, Dev C++, GCC и Eclipse.

Но это, как мы говорили выше, только начало. Останавливаться на этом нельзя. Когда вы сделали выбор относительно своего направления, можно переходить к более сложным компиляторам. Вот список наиболее популярных на сегодняшний день компиляторов в зависимости от направлений деятельности:

  • Для html можно использовать обычный блокнот. Для PHP phpDesigner, NetBeans IDE PHP и Expert Editor. Если вы выбрали Perl, выбирайте между vimи komodo edit. На Python можно писать в PyCharm или Wing (на Linux – Geany).
  • Что касается Delphi, то компилятор там так и называется. Существует также Embarcadero Delphi и некоторые другие модификации. Делфи 7 можно скачать на многих сайтах, к примеру, здесь. Если вы выбрали C, C++ или C#, то вам нужна Microsoft Visual Studio. Загрузить ее можно прямо на официальном сайте производителя.
  • Для Java существует Javac и GNU Compiler for Java. Что касается Objective-C, то здесь практикуется работа на Xcode, который можно на сайте apple.com. Если вы решили заниматься разработкой мобильных приложений, обязательно прочитайте нашу статью о работе над программой на iOS. Она как раз предназначена для новичков.
  • Если говорить об Assembler и других языках, которые практикуются в робототехнике, то здесь сразу необходимо скачать MASM, если вы работаете на Windows. А вообще, в зависимости от выбранной вами сферы деятельности и компании, на которую вы устроитесь работать, компиляторы могут быть самыми разными. Некоторые фирмы пишут собственные решения для обработки кода. Поэтому, если вы выбрали робототехнику, лучше изучить соответствующие книги и делать все, как там говорится. Об этом мы еще поговорим.

Также существует множество онлайн компиляторов. Они полезны тем, что обслуживают множество языков программирования и не требуют установки – очень удобно! Вот наиболее популярные из них:

  • IdeOne. Отличный онлайн компилятор, который работает в любом браузере и компилирует коды на 60 языках программирования.
  • CodePad. Это уже более ограниченный сервис, который работает лишь с несколькими языками и не имеет подсветки синтаксиса. Зато все инструкции выполняются быстро и исправно. CodePad будет функционировать даже с очень медленным интернетом. Интересно, что этот сайт работает даже на мобильных устройствах, причем не хуже, чем на ПК.

Рис. 6. CodePad на планшете

Рис. 6. CodePad на планшете

  • SandBox. Здесь поддерживается только работа с веб-языками, а конкретно PHP и немного html. Очень быстро можно получить результат компиляции и отладки. По такому же принципу работает PHPFiddle.

Также внимание стоит обратить на Koding.Com. Это уникальный сервис, который позволяет создать несколько виртуальных компьютеров и делать на них все, что угодно, в том числе и компилировать шифры. Виртуальные машины будут работать под управлением ОС Ubuntu. На них вы можете хоть удалить системную папку, установить абсолютно любую программу и так далее.

Рис. 7. Koding.Com

Рис. 7. Koding.Com

А теперь приступим к написанию вашего первого шифра (кода). Сделать это можно даже без книг и длинных инструкций.

вернуться к меню ↑

Шаг четвертый. Первый код

Для первого кода мы будем использовать первый язык и первый компилятор, который мы советовали выбирать выше. Это Паскаль и Free Pascal. Одна из самых простых программ пишется следующим образом:

1Скачайте Free Pascal по ссылке выше и запустите его на своем компьютере.

2Введите следующее: «program [название];». То есть если вы хотите, чтобы программа называлась «hello», необходимо ввести «program hello;».

3Введите инструкцию «begin». Это означает, что код, который в дальнейшем нужно будет выполнить, начался.

4Используем одну из самых распространенных в Паскале конструкций «writeln(‘[какой-то текст]’);». Она просто выводит на экран текст. Который содержится в скобках и кавычках. Мы введем сочетание «Hello, world!». Обычно свой путь в большой мир разработок ПО начинают именно с этого. Таким образом, следующая строчка будет выглядеть как «writeln(‘Hello, world!’);».

5Чтобы закончить исполняемый шифр, введите «end.» (обязательно с точкой в конце).

6Теперь нажмите кнопку «F9», чтобы запустить то, что написали. Вы увидите, как на экране появились слова «Hello, world!». Это и требовалось!

Рис. 8. Самый простой код на языке Паскаль

Рис. 8. Самый простой код на языке Паскаль

Чтобы начать свое знакомство с другими языками, в книгах обычно также приводятся инструкции по написанию «Hello, world!», то есть инструкции, которая просто выводит такой простой текст на экран. Дальше уже идет что-то более сложное.

Итак, вы осилили свой первый шифр! Начало положено. Теперь переходите к интенсивному обучению.

вернуться к меню ↑

Шаг пятый. Пройдите онлайн тренинг

Преимущество онлайн уроков в том, что вы все видите наглядно, причем от начала до конца. Если читать книгу, то можно упустить многие моменты, которые авторы считают очевидными и не требующими объяснения. Поэтому новичкам лучше все-таки начинать свой путь именно с онлайн тренингов. Вот лучшие курсы на русском языке:

  • Курс «Основы программирования» от Образовательного IT-портала GeekBrains. Здесь все рассказывается с самого начала, с самых азов. Вы сможете изучить историю, развитие данной отрасли, а затем постепенно стать ее частью. Тот же цикл тренингов можно скачать с торрента (вот ссылка).
  • Уроки от Школы программистов. Этот курс подойдет тем, кто ничего не смыслит даже в математике, не знает природу чисел, как представляется информация в компьютере и другие подобные моменты. То есть если вы считаете себя полным профаном, смотрите эти видеоуроки.
  • «Фундамент программирования» от EG Lab. Здесь расскажут о данном ремесле в целом, о разработке сложных задач и типах данных (всего три урока). Просмотр данных уроков будет отличным подспорьем, чтобы начать изучать какой-то конкретный язык в дальнейшем.

Рис. 9. Тренинг «Фундамент программирования» от EG Lab на YouTube

Рис. 9. Тренинг «Фундамент программирования» от EG Lab на YouTube

После просмотра этих курсов, необходимо переходить на уроки, посвященные какому-то конкретному языку или отрасли, выбранной вами.

Если вы знаете английский, это огромное преимущество, но только в том случае, если вы уже что-то знаете. Курсов для тех, кто абсолютный ноль в данном вопросе, там почему-то не предоставляют (или их невозможно найти). Зато есть курсы для конкретных языков. К примеру, есть Learn Java Simply, C++ Programming Tutorial for Beginners, How to program in C# — BASICS и многое другое. Выбирайте тренинг в зависимости от направления своей деятельности.

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

вернуться к меню ↑

Шаг шестой. Изучите книги

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

Если вам позволяют финансы, постарайтесь также приобрести книги, которые касаются непосредственно конкретных языков. К примеру, будущим веб-разработчикам будет полезно прочесть книгу Янка «PHP и MySQL. От новичка к профессионалу». Если вы выбрали Python, ознакомьтесь с трудом МакГрата «Программирование на Python для начинающих». А если ваш выбор – С, то оцените книгу Перри и Миллера «Программирование на С для начинающих».

вернуться к меню ↑

Шаг седьмой. Будьте в курсе

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

  • изучайте самые популярные направления разработок;
  • обращайте внимание на те направления, которые уже устаревают;
  • будьте в курсе последних новостей о разработках.

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

Важно! Изучайте как общемировые тенденции, так и ситуацию в своем городе, где вы собираетесь работать. Если хотите быть фрилансером, изучайте заказы на различных биржах и на форумах.

Все это позволит вам развиваться и работать в правильном направлении, не упуская драгоценное время. Это очень важно в наше время, так как тенденции программирования меняются не то, что за несколько месяцев, за несколько дней! Если вы изучали те или иные методы написания программ два или три года назад, сейчас все это уже точно неактуально.

вернуться к меню ↑

Шаг восьмой. Найдите учителя

Лучше всего найти персонального наставника, который будет подсказывать вам, что и как лучше сделать в том или ином случае. Такой вариант имеет множество положительных сторон, главная из которых заключается в наличии персонального подхода к вам лично. Кроме того, если будут возникать проблемы, учитель поможет вам их решить. А найти наставника можно следующими способами:

1Поступите в ВУЗ. Да, программы обучения в постсоветских странах могут быть достаточно устаревшими, но основы, тот самый принцип программирования, некую основу всего постигнуть вы точно сможете

Рис. 10. Прмиерно так выглядит обучение в ВУЗе

Рис. 10. Прмиерно так выглядит обучение в ВУЗе

2Различные курсы. Существует огромное количество курсов, где люди собираются в каком-то офисе и преподаватель, точно так же как в ВУЗе, объясняет то или иное понятие. Обычно такие курсы проходят очень интенсивно, и ученики быстро осваивают нужную информацию.

3Форумы и социальные сети. Вы можете прямо разместить объявление о том, что ищете персонального преподавателя. Наверняка, кто-то найдется.

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

вернуться к меню ↑

Шаг девятый. Анализируйте чужую работу

Это очень интересный метод, который позволяет вам очень быстро развиваться. Дело в том, что разобраться в чужом коде очень непросто, на это способны единицы даже профессиональных программеров. Если вы займетесь этим в самом начале своей деятельности, наверняка, в будущем сможете пожать отличные плоды. Более того, это позволит вам в будущем становится руководителем проектов, так как у вас будут способности корректировать работу других людей.

Если конкретнее, вам нужно делать следующее:

  • думайте, как можно было бы оптимизировать шифр, то есть уменьшить листинг;
  • ищите ошибки и недоработки без компилятора и с ним;
  • думайте, какие другие подходы можно было бы использовать для выполнения поставленной задачи.

вернуться к меню ↑

Шаг десятый. Зарабатывайте!

Поначалу программирование будет для вас чем-то вроде хобби. Но так не должно быть всегда. Постепенно вам необходимо начать зарабатывать на этом. Конечно, с начальными знаниями в компанию не возьмут. Но вы можете практиковаться, будучи фрилансером. Задания вы можете находить на форумах (к примеру, cyberforum.ru), а также биржах фриланса (24freelance.net, kwork.ru, fl.ru и другие).

После того, как у вас будет хоть немного опыта, попробуйте подать резюме в одну из компаний. Вам дадут тестовое задание. Если вам по силам его выполнить, сделайте это. Работа и, соответственно, заработок у вас в кармане! А если это не так, тренируйтесь дальше. Вы хотя бы узнали, какие задания нужно выполнять для приема на работу.

Рис. 11. Программисты в офисе

Рис. 11. Программисты в офисе

В любом случае, уделяйте этому достаточно времени и тогда у вас все получится!

Выбор редакции

Дмитрий Самолюк

«Только инновация отличает лидера от догоняющего»

Добавить комментарий

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.

1 комментарий

сначала новые
по рейтингу сначала новые по хронологии
1
Алина Никитина

очень интересный и полезный сайт для начинающих программистов

GEEK-NOSE.COM
Узнай первым о новых гиковских записях и фишках!
ПОДПИСАТЬСЯ
Закрыть
Geek-Nose
Register New Account
Пароль