Поздравляем! Вы освоили базовые концепции, составляющие основу любой программы на любом языке.
А что дальше?
Скорее всего, вы хотите как можно скорее начать делать сайты и приложения. Это идеальный путь, если у вас есть личный наставник и эксперт, который будет помогать и направлять.
К сожалению, далеко не у всех есть подобный человек.
Различные онлайн-курсы, направленные на быстрое изучение практических навыков, имеют большой минус: они учат механическим навыкам и высокоуровневым идеям, но не дают полного понимания происходящего. В итоге можно научиться делать конкретные сайты или приложения, но не научиться делать
любые сайты и приложения.
Предположим, мы хотим сделать одностраничный сайт на Node JS (серверный javascript). Вам нужно знать на базовом уровне:
- Объекты
- Прототипы
- Исключения
- tcp/ip, понятие порта
- Протокол http (коды, ошибки)
- Роутинг
- Request/Response
- Функции как объекты первого рода
- Пакетный менеджер, зависимости
- Шаблонизация
Ну, и само программирование, написание кода, проработка концепций. И множество ошибок и проблем.
Мы в Хекслете не стараемся как можно скорее сделать сайт, а стараемся дать чёткую, сильную основу для погружения в программирование. При этом проекты и разработка программ присутствуют в каждом курсе.
Например, в одном из следующих курсов мы построим библиотеку для работы с графическими фигурами, а потом свою файловую систему. А в конце концов мы придём к созданию полноценных сайтов и веб-приложений.
Весь изучаемый материал можно разделить на две категории:
- Язык
- Языковая платформа
Вот что
говорит об этом Джон Скит, №1 на stackoverflow, автор C# in Depth, одной из лучших книг по .NET, разработчик в Google и 14-кратный MVP:
Многие люди не знают, как это делать, или просто не запариваются — они предпочитают задавать вопросы. Еще многие прыгают с головой в языки и платформы до того, как будут действительно готовы. Лично я пытаюсь изучать вещи по одной, зато как следует, но есть куча людей, которые говорят: «Я совершенно новенький в программировании. Сейчас я пишу приложение под Android на Java, взаимодействующее с SQLite. И этот код не работает», — окей, а это проблема Java, проблема Android или проблема SQLite? Вряд ли все три сразу. Что вы сделали, чтобы понять, что является источником проблемы?
Поймите, я не докапываюсь, я пытаюсь научить людей помогать самим себе. Я твёрдо убежден, что понимание «как работает мой язык», отдельное от «как работает моя платформа» — это реальное преимущество в отношении того, как быстро вы сможете разобраться и начинать применять что-то при изучении нового.
Мы полностью поддерживаем Джона и строим своё обучение таким образом, что сначала изучаем язык, и только потом платформу. Да, этот путь не кажется таким же захватывающим, как сразу окунуться в боевой проект. Наш путь довольно долгий и местами тяжёлый, но если вы его пройдете, то будете значительно опережать многих других начинающих разработчиков.