Ваша корзина пуста
Сумма: 0 руб.

Делаете первые шаги в программировании?

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

 

Итак, после появления навязчивого желания хотя бы немного освоить новое направление, каждый задает логичный вопрос — «С чего же мне начать»? Ответов может быть множество — к услугам новичков скринкасты, книги, курсы, онлайн-обучение, форумы и прочее, и прочее. Учи-не хочу. И так как никакой общепринятой системы самообучения программированию не существует, можно смотреть и читать все без разбору, дни напролет. При желании, в чтении можно захлебнуться, однако для уверенного продвижения по лестнице знаний необходимо четко и эффективно расходовать свое время и силы, и, если не знать с чего начать и куда двигаться — вы попросту забредете в дремучий лес, по которому можно блуждать неделями, пока, наконец, вы не выйдете на верную тропинку. Если выйдете вообще — велик шанс, что вам попросту все это дело быстро надоест.

 устал.jpg

Большинство новичков идут именно по такому пути — смотрят обучающие ролики, покупают недешевую литературу. Читают ее и забрасывают, потому что все-равно не хватает знаний и подготовки, несмотря на то, что все материалы были предназначены для «новичков».

 

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

 

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

 

Это как если вы пришли работать, скажем, крановщиком, вас в первый же день посадили в башню, и похлопали по плечу со словами «Ну, удачи!». А как же техника безопасности и базовое объяснение что делать, а чего делать не нужно? Как мне пользоваться инструментами? Что вообще у меня за инструменты в наличии? Что я должен знать перед тем как приступить к работе?

 

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

 

Итак, что же следует знать, перед тем как увлечься программированием?

 

1. Терминал

 

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

 

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

 

Скринкаст-самоучитель научит использовать в своих интересах это страшное приложение, к которому вы никогда не прикасаетесь

 

2. Регулярные выражения

 

Представьте себе, что вы решили выучить иностранный язык не вникая в его азбуку, алфавит или иероглифику. Конечно, это возможно. Но насколько это усложнит процесс и путь к пониманию сути вещей? Решение сомнительное, правда? Так вот, регулярные выражения (они же регексы, с ударением на первый слог) — это, в какой-то степени вспомогательная азбука любого программиста, или, выражаясь языком викисловаря — «формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов».

 

Выглядеть регекс может, например, так:

 

((?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,15})

 

Задача регулярных выражений — помочь программисту с поиском чего-либо.

 

Если вы в своей программе захотите найти все слова, частью которых является слово car (car, carrot, cartoon), ваш регекс будет выглядеть так:

 

/car/

 

Если же интересует только слово car, я напишу:

 

/\bcar\b/

 

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

 

«Ну поиск, кому оно надо? Я же буду учиться программировать, а не искать слова!» — наверняка подумаете вы. Но поверьте, они вам необходимы. Многие книги и скринкасты используют регексы в примерах, вообще не объясняя, что происходит — авторы думают, что вы уже владеете этими азами и особенно не акцентируют внимание на разжевывании написанного.

 

Самоучитель поможет разобраться с регулярными выражениями (англ.)

 

3. Софт для разработки

 

Главное правило — вы должны по-максимуму знать и владеть своими инструментами. Пока вы буква за буквой пишете простую функцию, ваш враг, используя весь потенциал своего редактора, напишет несколько.

 

Для веб-разработки существует огромное количество программ, от простых текстовых редакторов до сложных облачных решений. Мы не будем сравнивать эти редакторы между собой, вам придется сделать это самостоятельно — ведь вам с этим редактором жить, работать и смотреть на него и в горе, и в радости. Чаще всего выбор останавливают на редакторе Sublime Text 2. Это сложный редактор с молниеносной скоростью, с невероятно динамичным сообществом плагинов, с простой настройкой (и еще множеством преимуществ). Помимо прочего необходимо отметить, что он условно-бесплатный и по нему существует множество отличной документации. Возможно совсем скоро, познав все хитрости Sublime и научившись подключать к нему плагины, подобная строка будет для вас обычным делом:

 

div>(header>ul>li*2>a)+footer>p (используется плагин Emmet)

 

Самообучение

 

Готовим Sublime для front-end

Sublime Text 2: Первые шаги

 

4. Система контроля версий

 

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

 

Помимо содержания собственных репозиториев, GitHub, во-первых, поможет вам осознать себя частью огромного сообщества разработчиков (это действительно важно, особенно на ранних стадиях обучения). Кроме того, вы сможете взглянуть на чужой исходный код и научитесь правильно его скачивать и «форкать» (копировать). В дальнейшем GitHub частенько будет всплывать в различных онлайн-курсах и скринкастах, и, конечно же, их авторы будут уверены в том, что вы знаете, как Гитхабом пользоваться. Поэтому если у вас найдется немного времени — попробуйте Git.

 

Самообучение

 

Основы Git

Try Git

 

5. История

 

Этот пункт, вспомогательный, но если вы читает про какого-то программиста, которым восхищаетесь - продолжайте чтение. Программирование имеет богатую и интересную истории. Занимаясь чем-либо, всегда полезно знать, откуда у этого чего-либо растут ноги. Кроме того, без знания истории предмета невозможно полностью понять его суть, и, следовательно, достичь предельных успехов в его освоении. Поэтому если по прошествии некоторого времени такие имена, как Линус Торвальдс или же Грейс Хоппер не будут для вас пустым звуком — вы на правильном пути!

 

Тот, кто не изучает историю, повторяет ее ошибки.

 

Итог

 

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

 

Вы будете знать на деле как решать самые необычные кейсы, где искать ответы и вообще, как пользоваться тем или иным языком ООП.

 

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

 

Самое сложное для вас сейчас – определиться с желаемым направлением специализации. Если есть сомнения – наши менеджеры всегда помогут определиться и подберут курс обучения.

 

Курсы программирования

Код

Курсы обучения

Академ. часы

Цена

50564

Введение в HTML5

16

от 16 000 руб.

10266

Программирование на С# с использованием Microsoft Visual Studio 2010

40

от 30 000 руб.

20482

Углубленный курс по разработке приложений для Windows Store на HTML5 и JavaScript

40

от 28 500 руб.

20481

Основы разработки приложений для Windows Store на HTML5 и JavaScript

40

от 28 500 руб.

20480

Программирование на HTML5 с использованием JavaScript и CSS3

40

от 29 000 руб.

10265

Разработка решений на базе технологий доступа к данным в Microsoft Visual Studio 2010

40

от 30 000 руб.

10264

Разработка web - приложений в Microsoft Visual Studio 2010

40

от 22 100 руб.

10262

Разработка Windows приложений в Microsoft Visual Studio 2010

40

от 22 950 руб.

10263

Разработка решений на базе Windows Communication Foundation (WCF) в Microsoft Visual Studio 2010

24

от 15 000 руб.

Platform

Создание бизнес-приложений с помощью Platform

24

от 25 000 руб.

20487

Разработка сервисов Windows Azure и вебсервисов

40

от 30 000 руб.

20486

Разработка веб-приложений ASP.NET MVC 5

40

от 32 000 руб.

20485

Углубленный курс по разработке приложений для Windows Store на C#

40

от 28 500 руб.

20484

Основы разработки приложений Windows Store на C#

40

от 29 500 руб.

20483

Программирование на C#

40

от 32 000 руб.

10958

Основы программирования web-приложений

40

от 29 000 руб.

10550

Программирование на Visual Basic в Microsoft Visual Studio 2010

40

от 25 000 руб.

10267

Основы разработки web - приложений в Microsoft Visual Studio 2010

40

от 22 100 руб.

 

 

Курсы для веб-разработчиков

 

HTML

Код

Курсы обучения

Академ. часы

Цена

50564

Введение в HTML5

16

от 16 000 руб.

20482

Углубленный курс по разработке приложений для Windows Store на HTML5 и JavaScript

40

от 28 500 руб.

20481

Основы разработки приложений для Windows Store на HTML5 и JavaScript

40

от 28 500 руб.

20480

Программирование на HTML5 с использованием JavaScript и CSS3

40

от 29 000 руб.

 

JavaScript

Код

Курсы обучения

Академ. часы

Цена

JS_Base

JavaScript начальный уровень. Основы

24

от 18 000 руб.

JS_1

Разработка на JavaScript

40

от 20 000 руб.

 

PHP

Код

Курсы обучения

Академ. часы

Цена

PHP1

Основы PHP и создания сайтов

40

от 19 000 руб.

PHP5

Профессиональное программирование на PHP 5

40

от 27 000 руб.

 

Java

Код

Курсы обучения

Академ. часы

Цена

JSE8J

Java SE8 for junior Developers

40

от 20 000 руб.

JSE8NF

Java SE 8: Новые возможности

16

от 16 000 руб.

JSE8F

Java SE 8: Основы

40

от 15 000 руб.

JSE8P

Java SE 8: Программирование

40

от 20 000 руб.

JSE7F

Java SE 7 Основы

40

от 15 000 руб.

JSE7P

Java SE 7: Программирование

40

от 15 000 руб.

JSE7_adv

Разработка на платформе Java SE 7. Расширенные темы

40

от 25 000 руб.

JSE7_base

Разработка на платформе Java SE 7. Базовые темы

40

от 25 000 руб.

JaT2

Программирование на Java для тестировщиков. Уровень 2

20

от 25 000 руб.

SpD

Spring Data

16

от 30 000 руб.

SpFr

Разработка приложений с использованием SPRING и MVC/REST

16

от 30 000 руб.

JVA-Spr

Владение каркасом разработки Spring Framework

24

от 25 000 руб.

 

Python

Код

Курсы обучения

Академ. часы

Цена

Py_1

Программирование на языке Python. Уровень 1. Базовый курс

40

от 30 000 руб.

Py_2

Программирование на языке Python. Уровень 2. Продвинутый уровень

50

от

Py_3

Программирование на языке Python. Уровень 3. Разработка веб-приложений в Django

40

от

Py_4

Анализ данных с использованием Python

40

от 35 000 руб.

 

Разработка web-приложений

Код

Курсы обучения

Академ. часы

Цена

front-end

Курс веб-разработки

50

от 22 000 руб.

GOF

Шаблоны проектирования GOF

24

от

USINT

Пользовательский интерфейс и представление информации

16

от 20 000 руб.

Git

Распределенная система управления версиями GIT

16

от 15 000 руб.

ARC-001

Основные практики архитектора ПО

24

от

HTSS

Верстка сайтов (HTML и CSS)

65

от 18 000 руб.

app-001

Основы Swift

26

от 12 000 руб.

Mir_Adf

Разработка Web приложений с мощным пользовательским интерфейсом в технологиях Oracle ADF-JSF, AJAX для Oracle Weblogic сервера

40

от 25 000 руб.

10958

Основы программирования web-приложений

40

от 29 000 руб.

 

Профессия Тестировщик ПО

Код

Курсы обучения

Академ. часы

Цена

Testing

Организация и внедрение автоматизированного тестирования

24

от 20 000 руб.

Jira

Управление распределёнными командами с использованием Atlassian Jira и Confluence

16

от

JaT1

Программирование на Java для тестировщиков. Уровень 1

40

от 25 000 руб.

TestQA

QA START - Тестировщик ПО

60

от 20 000 руб.

 


Возврат к списку

СИБИНФОЦЕНТР

 С нами становятся профессионалами

 

Отзывы