Скачать 

Как научиться программировать на языке C++ с нуля до гуру [Михаил Русаков]

Цена: 195 РУБ
Организатор: ОНО
Список участников складчины:
  • 1. ник скрыт
ОНО
ОНО
Организатор
  • #1

Как научиться программировать на языке C++ с нуля до гуру [Михаил Русаков]

Ссылка на картинку
Что такое C++ и для чего нужен этот язык?
C++ — это один из самых живучих языков программирования. Из всех более-менее известных (и при этом используемых) языков он наиболее старый. И это кажется весьма удивительным, ведь считается, что в мире программирования всё меняется очень быстро, и то, что было актуальным ещё вчера, сегодня признаётся устаревшим (на самом деле, вообще не так, но это совсем другая история). Так в чём же феномен C++? Почему уже есть такие замечательные языки как Java, C#, Python и многие другие, а C++ не просто живее всех живых, но ещё и пользуется огромным спросом на рынке труда?

А всё дело в его неоспоримых преимуществах:
  • Огромная скорость. Быстрее только язык C и Assembler, на которых на текущий момент программируют, в основном, микроконтроллеры. Ни Java, ни C# даже рядом не стоят по производительности в сравнении с C++.
  • Объектно-ориентированность. Это означает, что на C++ можно писать такие же гибкие и качественные программы с чистым кодом, как на Java или C#.
  • Отличные возможности по работе с памятью. По этой причине C++ является абсолютно незаменимым при системном программировании.
  • Кроссплатформенность. Один и тот же код можно с использованием соответствующего компилятора запустить на любой платформе, и он будет отлично работать.
  • Универсальность. Может использоваться реально везде. Мне, если честно, даже трудно представить область, где он не подойдёт.
  • Огромное сообщество разработчиков. Поскольку C++ уже много лет, то найти ответ на любой возникший вопрос не составит труда.Бесплатные библиотеки с открытым исходным кодом, ускоряющих и упрощающих разработку
Если C++ такой замечательный и универсальный, зачем тогда используются и другие языки?

И вот здесь мы подходим плавно к минусам этого языка:

  1. Программирование идёт более медленно, так как в C++ надо быть и более внимательным (чтобы не допустить ту же утечку памяти), и кода для одной и той же задачи надо написать немного больше, чем на Java или C#.
  2. Относительно медленная компиляция. В очень крупных проектах она может достигать даже нескольких минут (особенно обидно, когда компиляция завершается ошибкой из-за забытой точки с запятой).
  3. C++ — это очень сложный язык программирования. На моем счету около пары десятков языков программирования. Некоторые можно сказать, что уже мертвы (по типу ActionScript для Flash), другими я пользуюсь практически каждый день (PHP, JavaScript). Так вот из всех этих языков, C++ не просто сложнее любого другого, он намного сложнее.
Вывод отсюда очень простой. Язык C++ требуется там, где необходима высокая скорость работы программы, либо нужна активная работа с памятью. И таких задач великое множество, отсюда и его востребованность. Однако, там, где это неважно, уже используются другие языки программирования. Кстати, по этим же причинам крайне сложно найти крупный проект, где вообще не используется C++, или тот, где всё написано только на C++.

Нужно ли знать C++?
Однозначно, да!

Освоение C++ - этого своего рода посвящение в стан программистов. Даже при устройстве на работу PHP-разработчиком, если есть знание ещё и C++, то это является огромным козырем при устройстве на работу. Это подчёркивает, что соискатель действительно грамотный и понимает основы, а не просто научился машинально HTML-формы обрабатывать.

Так же есть огромное количество вакансий, где напрямую требуются C++ программисты. Кстати, конкуренция среди них достаточная низкая, а зарплата, как следствие, высокая, поскольку хороших C++ разработчиков найти сложно (в отличие от тех же PHP-программистов).

В конце концов, если интересно создание драйверов, операционных систем, компьютерных игр, то здесь без C++ никуда.

Резюме: C++ обязан знать любой уважающий себя программист, хотя бы на уровне базовых вещей (как пример, отличать ссылки от указателей).

Содержание
Курс состоит из 6 разделов

Введение
В данном разделе Вы узнаете:
  1. Как наиболее эффективно проходить курс?
  2. Как работает язык C++ изнутри? Это очень важно понимать, поскольку такие базовые знания отличают дилетанта от профессионала.
  3. В какой среде разработки лучше писать код на C++? Как её скачать, установить (особенно важно, какие компоненты необходимы) и как настроить?
После просмотра данного раздела Вы уже будете знать, что это за язык, как он работает, а также у Вас уже будет всё готово для написания свои первых программ на C++.

Основы программирования на C++

В этом разделе Вы узнаете:
  1. Как пишутся программы на C++?
  2. Как правильно использовать комментарии?
  3. Что такое переменные, как они создаются и используются?
  4. Какие типы переменных есть в C++ и чем они отличаются друг от друга?
  5. Что такое константы и как с ними работать?
  6. Какие арифметические, логические и побитовые операции есть в C++ и как их использовать?
  7. Как работать с консолью?
  8. Как решить проблемы с кодировкой в консоли (не только на вывод, но и на ввод)?
  9. Что такое условный оператор и как он работает?
  10. Что такое оператор switch-case и когда его использовать?
  11. Что такое циклы и какие они есть в C++?
  12. Что такое цикл for, while и do-while и какая между ними разница?
  13. Что такое массивы, какие они бывают и, как и когда их использовать?
  14. Как работать с многомерными массивами?
  15. Что такое ссылки и для чего они нужны?
  16. Как создавать функции, как они работают изнутри, как они взаимодействуют со ссылками и многое-многое другое?
  17. Что такое область видимости переменных?
  18. Что такое статические переменные
  19. Что такое пространства имён, для чего нужны и как применяются?
  20. Что такое макросы?
  21. Как правильно разбивать код на разные файлы?
  22. Как собрать проект?
После прохождения этого раздела Вы уже сможете писать несложные программы на языке C++.

Работа с указателями
Указатели – это неотъемлемая часть языка C++. Мне трудно представить серьёзный и грамотно написанный проект, где не использовались бы указатели. Поэтому работать с ними надо уметь обязательно, и как раз в этом разделе этим мы и займёмся.

Посмотрев данный раздел, Вы узнаете:
  1. Что такое указатели и чем они отличаются от ссылок?
  2. Как взаимодействуют между собой указатели и массивы?
  3. Как работают константы и указатели вместе?
  4. Как работать с массивами в параметрах функций?
  5. Что такое указатель на функцию, а также как и когда его использовать?
  6. Что такое динамические объекты?
  7. Как не допустить утечку памяти?
Объектно-ориентированное программирование

Объектно-ориентированное программирование (ООП) – это самая популярная методика программирования, без которой немыслимо подавляющее большинство проектов не то, что средних и крупных, а даже маленьких. И сам язык C++, если ООП не использовать, становится бессмысленным (уж лучше тогда язык C использовать). Поэтому ООП надо обязательно знать любому, кто работает с C++. И как раз в этом разделе Вы и освоите ООП.

В этом разделе Вы узнаете:
  1. Что такое объектно-ориентированное программирование и какие парадигмы в нём есть?
  2. Как создаётся класс в C++?
  3. Что такое конструкторы и деструкторы?
  4. Что такое методы (функции класса) и их перегрузка?
  5. Как правильно использовать .h и .cpp файлы?
  6. Что такое модификаторы доступа и как правильно их применять?
  7. Что такое дружественные функции и классы?
  8. Что такое статические поля и методы?
  9. Что такое перечисления?
  10. Что такое структуры?
  11. Что такое наследование и как его использовать в C++?
  12. Что такое виртуальные методы?
  13. Как делать перегрузку операторов?
  14. Что такое абстрактные классы и методы?
  15. Что такое шаблоны и как они используются?
После просмотра данного раздела Вы сможете создавать относительно сложные проекты с любой по сложности иерархией классов.

Обработка исключений

В этом разделе Вы узнаете:
  1. Что такое исключения и почему они так важны?
  2. Как обрабатываются исключения в C++?
  3. Как генерировать исключения?
  4. Как обрабатывать много исключений?
  5. Как создавать свои собственные исключения?
Просмотрев этот раздел, Вы сможете грамотно обрабатывать самые различные исключительные ситуации, как в чужих библиотеках, так и при написании собственных.


Стандартные классы в C++

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

В данном разделе Вы узнаете:
  1. Как выполнять самые различные строковые операции?
  2. Что такое регулярные выражения, как их создавать и как использовать?
  3. Как выполнять разнообразные математические операции?
  4. Как считывать данные из файла?
  5. Как записывать данные в файл?
  6. Как использовать контейнеры – важнейшие классы, без которых не обходится ни одна мало-мальски серьёзная программа?
  7. Как быстро и легко осваивать новые классы, которые могут понадобиться Вам в процессе программирования?
После прохождения данного раздела Вы не просто освоите те классы, без которых немыслимо программирование, но и, что куда более важно, научитесь самостоятельно осваивать новые классы, а это, в свою очередь, является важнейшей частью при написании программ с абсолютно любым функционалом. Невозможно (и не нужно) знать и помнить всё, но решить любую поставленную задачу за счёт умения программировать и умения пользоваться справочной информацией, Вы научитесь, пройдя этот курс и этот раздел, в частности.

Упражнения
По моему мнению, невозможно обучаться программированию без практики. В данном курсе Вы будете всё понимать, но, чтобы научиться самому писать программы, а не просто понимать, что происходит, нужно обязательно выполнять задания. И почти к каждому уроку курса идёт по несколько упражнений для закрепления материала из урока.

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

Бонус
Программирование на C++ в Unreal Engine

Одной из основных областей применения языка C++ являются игры. Безусловно, на C++ можно создавать игры с нуля, однако, это разумно только для совсем простых игр, либо уж очень необычных игр. Для 3D-игр, которые достаточно сложны, разумнее использовать игровой движок. И самым подходящим для подавляющего большинства задач (по моему мнению и не только) является Unreal Engine. А вот там как раз используется C++. И очень многие мои ученики, когда просили записать курс по C++, практически всегда просили разобрать его использование в Unreal Engine.

Поэтому все, кто закажет основной курс, получат бесплатно и достаточно крупный Бонус «Программирование на C++ в Unreal Engine», который содержит 16 уроков общей продолжительностью около 6 часов. В рамках этих уроках Вы увидите создание игры на C++ в Unreal Engine. Вот что Вы узнаете, посмотрев данный Бонус (всё нижеописанное, разумеется, создаётся на C++):
  1. Как вообще происходит программирование в Unreal Engine?
  2. В чём особенность программирования на C++ в Unreal Engine?
  3. Как создать базового персонажа?
  4. Как создать игрока?
  5. Как программируется анимация?
  6. Как создаётся GameMode?
  7. Как делаются компоненты?
  8. Как создаются виджеты?
  9. Как делаются игровые интерактивные объекты?
  10. Как создаются противники?
  11. Как создаётся искусственный интеллект?
  12. Как работать со звуками?
  13. Как создаются интерфейсы и как применяются?
  14. Как правильно пользоваться официальной документацией для решения любых возникающих задач?
    Многое-многое другое.
Это очень ценный Бонус для абсолютно всех, кто увлекается разработкой игр в Unreal Engine.

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

Автор: Михаил Русаков
 
Зарегистрируйтесь , чтобы посмотреть скрытый авторский контент.
Похожие складчины
  • в разделе: Программирование
  • в разделе: Программирование
  • в разделе: Программирование
  • в разделе: Программирование

Войдите или зарегистрируйтесь, чтобы комментировать и скачивать складчины!

Учетная запись позволит вам участвовать в складчинах и оставлять комментарии

Регистрация

Создайте аккаунт на форуме. Это не сложно!

Вход

Вы уже зарегистрированы? Войдите.

Сверху