Запись

Программирование на C++ с Нуля до Гуру (Михаил Русаков)

Информация
Тип покупки: Оптовая
Взнос: 195 РУБ

Организатор: Тони Карк Тони Карк
Статус:
Набор участников
Список участников
  • 1.
    ник скрыт
  • 2.
    Mrbomba
  • 3.
    PuYuSe
  • 4.
    Ahrullo
  • 5.
    Vinterga
  • 6.
    rowax
  • 7.
    netvamp
  • 8.
    VikkiBoobs
  • 9.
    OksanaQ
  • 10.
    Сан_1
  • 11.
    shs
  • 12.
    lokipoki
  • 13.
    ls134
  • 14.
    GG87
  • 15.
    lobar
  • 16.
    Julie Chui
  • 17.
    Lyagushka45
  • 18.
    braden
  • 19.
    Artemon1521
  • 20.
    Khrishtanus
  • 21.
    777LiLiT777
  • 22.
    PIE
  • 23.
    bukmeker
  • 24.
    Inga Dyuzhina
  • 25.
    vikochka
  • 26.
    Akado
  • 27.
    Бубочка
  • 28.
    odanilov84
  • 29.
    ulam
Тони Карк
Тони Карк
ТОП организатор
Сообщения
Монеты
0.0
Оплачено
45
Купоны
0
Кешбэк
0
Баллы
0
  • @Skladchiki
  • #1

Складчина: Программирование на C++ с Нуля до Гуру (Михаил Русаков)

Ссылка на картинку
изображение
Что такое C++ и для чего нужен этот язык?
C++ — это один из самых живучих языков программирования. Из всех более-менее известных (и при этом используемых) языков он наиболее старый. И это кажется весьма удивительным, ведь считается, что в мире программирования всё меняется очень быстро, и то, что было актуальным ещё вчера, сегодня признаётся устаревшим (на самом деле, вообще не так, но это совсем другая история). Так в чём же феномен C++? Почему уже есть такие замечательные языки как Java, C#, Python и многие другие, а C++ не просто живее всех живых, но ещё и пользуется огромным спросом на рынке труда?
А всё дело в его неоспоримых преимуществах:
Огромная скорость. Быстрее только язык C и Assembler, на которых на текущий момент программируют, в основном, микроконтроллеры. Ни Java, ни C# даже рядом не стоят по производительности в сравнении с C++.
Объектно-ориентированность. Это означает, что на C++ можно писать такие же гибкие и качественные программы с чистым кодом, как на Java или C#.
Отличные возможности по работе с памятью. По этой причине C++ является абсолютно незаменимым при системном программировании.
Кроссплатформенность. Один и тот же код можно с использованием соответствующего компилятора запустить на любой платформе, и он будет отлично работать.
Универсальность. Может использоваться реально везде. Мне, если честно, даже трудно представить область, где он не подойдёт.
Огромное сообщество разработчиков. Поскольку C++ уже много лет, то найти ответ на любой возникший вопрос не составит труда.Бесплатные библиотеки с открытым исходным кодом, ускоряющих и упрощающих разработку.
Если C++ такой замечательный и универсальный, зачем тогда используются и другие языки?
И вот здесь мы подходим плавно к минусам этого языка:
Программирование идёт более медленно, так как в C++ надо быть и более внимательным (чтобы не допустить ту же утечку памяти), и кода для одной и той же задачи надо написать немного больше, чем на Java или C#.
Относительно медленная компиляция. В очень крупных проектах она может достигать даже нескольких минут (особенно обидно, когда компиляция завершается ошибкой из-за забытой точки с запятой).
C++ — это очень сложный язык программирования. На моем счету около пары десятков языков программирования. Некоторые можно сказать, что уже мертвы (по типу ActionScript для Flash), другими я пользуюсь практически каждый день (PHP, JavaScript). Так вот из всех этих языков, C++ не просто сложнее любого другого, он намного сложнее.
Вывод отсюда очень простой. Язык C++ требуется там, где необходима высокая скорость работы программы, либо нужна активная работа с памятью. И таких задач великое множество, отсюда и его востребованность. Однако, там, где это неважно, уже используются другие языки программирования. Кстати, по этим же причинам крайне сложно найти крупный проект, где вообще не используется C++, или тот, где всё написано только на C++.
Нужно ли знать C++?
Однозначно, да!
Освоение C++ - этого своего рода посвящение в стан программистов. Даже при устройстве на работу PHP-разработчиком, если есть знание ещё и C++, то это является огромным козырем при устройстве на работу. Это подчёркивает, что соискатель действительно грамотный и понимает основы, а не просто научился машинально HTML-формы обрабатывать.
Так же есть огромное количество вакансий, где напрямую требуются C++ программисты. Кстати, конкуренция среди них достаточная низкая, а зарплата, как следствие, высокая, поскольку хороших C++ разработчиков найти сложно (в отличие от тех же PHP-программистов).
В конце концов, если интересно создание драйверов, операционных систем, компьютерных игр, то здесь без C++ никуда.
Резюме: C++ обязан знать любой уважающий себя программист, хотя бы на уровне базовых вещей (как пример, отличать ссылки от указателей).
Содержание
Курс состоит из 6 разделов
Введение
В данном разделе Вы узнаете:
  • Как наиболее эффективно проходить курс?
  • Как работает язык C++ изнутри? Это очень важно понимать, поскольку такие базовые знания отличают дилетанта от профессионала.
  • В какой среде разработки лучше писать код на C++? Как её скачать, установить (особенно важно, какие компоненты необходимы) и как настроить?
После просмотра данного раздела Вы уже будете знать, что это за язык, как он работает, а также у Вас уже будет всё готово для написания свои первых программ на C++.
Основы программирования на C++
В этом разделе Вы узнаете:
  • Как пишутся программы на C++?
  • Как правильно использовать комментарии?
  • Что такое переменные, как они создаются и используются?
  • Какие типы переменных есть в C++ и чем они отличаются друг от друга?
  • Что такое константы и как с ними работать?
  • Какие арифметические, логические и побитовые операции есть в C++ и как их использовать?
  • Как работать с консолью?
  • Как решить проблемы с кодировкой в консоли (не только на вывод, но и на ввод)?
  • Что такое условный оператор и как он работает?
  • Что такое оператор switch-case и когда его использовать?
  • Что такое циклы и какие они есть в C++?
  • Что такое цикл for, while и do-while и какая между ними разница?
  • Что такое массивы, какие они бывают и, как и когда их использовать?
  • Как работать с многомерными массивами?
  • Что такое ссылки и для чего они нужны?
  • Как создавать функции, как они работают изнутри, как они взаимодействуют со ссылками и многое-многое другое?
  • Что такое область видимости переменных?
  • Что такое статические переменные
  • Что такое пространства имён, для чего нужны и как применяются?
  • Что такое макросы?
  • Как правильно разбивать код на разные файлы?
  • Как собрать проект?
После прохождения этого раздела Вы уже сможете писать несложные программы на языке C++.
Работа с указателями
Указатели – это неотъемлемая часть языка C++. Мне трудно представить серьёзный и грамотно написанный проект, где не использовались бы указатели. Поэтому работать с ними надо уметь обязательно, и как раз в этом разделе этим мы и займёмся.
Посмотрев данный раздел, Вы узнаете:
  • Что такое указатели и чем они отличаются от ссылок?
  • Как взаимодействуют между собой указатели и массивы?
  • Как работают константы и указатели вместе?
  • Как работать с массивами в параметрах функций?
  • Что такое указатель на функцию, а также как и когда его использовать?
  • Что такое динамические объекты?
  • Как не допустить утечку памяти?
Объектно-ориентированное программирование
Объектно-ориентированное программирование (ООП) – это самая популярная методика программирования, без которой немыслимо подавляющее большинство проектов не то, что средних и крупных, а даже маленьких. И сам язык C++, если ООП не использовать, становится бессмысленным (уж лучше тогда язык C использовать). Поэтому ООП надо обязательно знать любому, кто работает с C++. И как раз в этом разделе Вы и освоите ООП.
В этом разделе Вы узнаете:
  • Что такое объектно-ориентированное программирование и какие парадигмы в нём есть?
  • Как создаётся класс в C++?
  • Что такое конструкторы и деструкторы?
  • Что такое методы (функции класса) и их перегрузка?
  • Как правильно использовать .h и .cpp файлы?
  • Что такое модификаторы доступа и как правильно их применять?
  • Что такое дружественные функции и классы?
  • Что такое статические поля и методы?
  • Что такое перечисления?
  • Что такое структуры?
  • Что такое наследование и как его использовать в C++?
  • Что такое виртуальные методы?
  • Как делать перегрузку операторов?
  • Что такое абстрактные классы и методы?
  • Что такое шаблоны и как они используются?
После просмотра данного раздела Вы сможете создавать относительно сложные проекты с любой по сложности иерархией классов.
Обработка исключений
В этом разделе Вы узнаете:
  • Что такое исключения и почему они так важны?
  • Как обрабатываются исключения в C++?
  • Как генерировать исключения?
  • Как обрабатывать много исключений?
  • Как создавать свои собственные исключения?
Просмотрев этот раздел, Вы сможете грамотно обрабатывать самые различные исключительные ситуации, как в чужих библиотеках, так и при написании собственных.
Стандартные классы в C++
C++ не был бы таким замечательным, если бы не содержал огромное количество классов, где уже решены наиболее часто встречающиеся задачи перед программистами. И как раз некоторые из этих классов мы и рассмотрим в этом разделе.
В данном разделе Вы узнаете:
  • Как выполнять самые различные строковые операции?
  • Что такое регулярные выражения, как их создавать и как использовать?
  • Как выполнять разнообразные математические операции?
  • Как считывать данные из файла?
  • Как записывать данные в файл?
  • Как использовать контейнеры – важнейшие классы, без которых не обходится ни одна мало-мальски серьёзная программа?
  • Как быстро и легко осваивать новые классы, которые могут понадобиться Вам в процессе программирования?
После прохождения данного раздела Вы не просто освоите те классы, без которых немыслимо программирование, но и, что куда более важно, научитесь самостоятельно осваивать новые классы, а это, в свою очередь, является важнейшей частью при написании программ с абсолютно любым функционалом. Невозможно (и не нужно) знать и помнить всё, но решить любую поставленную задачу за счёт умения программировать и умения пользоваться справочной информацией, Вы научитесь, пройдя этот курс и этот раздел, в частности.
Упражнения
По моему мнению, невозможно обучаться программированию без практики. В данном курсе Вы будете всё понимать, но, чтобы научиться самому писать программы, а не просто понимать, что происходит, нужно обязательно выполнять задания. И почти к каждому уроку курса идёт по несколько упражнений для закрепления материала из урока.
Так же к урокам идёт исходный код программ, который крайне полезно открыть, запустить и попытаться изменять, наблюдая за конечным результатом и за тем, что изменилось.
Бонус
Программирование на C++ в Unreal Engine
Одной из основных областей применения языка C++ являются игры. Безусловно, на C++ можно создавать игры с нуля, однако, это разумно только для совсем простых игр, либо уж очень необычных игр. Для 3D-игр, которые достаточно сложны, разумнее использовать игровой движок. И самым подходящим для подавляющего большинства задач (по моему мнению и не только) является Unreal Engine. А вот там как раз используется C++. И очень многие мои ученики, когда просили записать курс по C++, практически всегда просили разобрать его использование в Unreal Engine.
Поэтому все, кто закажет основной курс, получат бесплатно и достаточно крупный Бонус «Программирование на C++ в Unreal Engine», который содержит 16 уроков общей продолжительностью около 6 часов. В рамках этих уроках Вы увидите создание игры на C++ в Unreal Engine. Вот что Вы узнаете, посмотрев данный Бонус (всё нижеописанное, разумеется, создаётся на C++):
  • Как вообще происходит программирование в Unreal Engine?
  • В чём особенность программирования на C++ в Unreal Engine?
  • Как создать базового персонажа?
  • Как создать игрока?
  • Как программируется анимация?
  • Как создаётся GameMode?
  • Как делаются компоненты?
  • Как создаются виджеты?
  • Как делаются игровые интерактивные объекты?
  • Как создаются противники?
  • Как создаётся искусственный интеллект?
  • Как работать со звуками?
  • Как создаются интерфейсы и как применяются?
  • Как правильно пользоваться официальной документацией для решения любых возникающих задач?
    Многое-многое другое.
Это очень ценный Бонус для абсолютно всех, кто увлекается разработкой игр в Unreal Engine.
Но даже это ещё не всё. Сам курс представляет из себя целую систему эффективного обучения.
 
Похожие темы
Просмотры
2K
Просмотры
2K
Просмотры
687
  • Взнос: 120 руб
Просмотры
2K

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

Зарегистрироваться

Создайте учетную запись. Это быстро!

Авторизоваться

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

Сверху