Как выучить с
Перейти к содержимому

Как выучить с

Как выучить с

ЧИТАЙТЕ ТАКЖЕ

Как стать тестировщиком с нуля и выйти на ЗП 2000$ в месяц

Как стать FullStack Node.js разработчиком

  • Анкета нового студента
  • Анкета после окончания курса
  • Публичная оферта
  • Конфиденциальность
  • Карта сайта

IT Специальности

  • C# / .NET Developer
  • FrontEnd Developer
  • Java Developer
  • Python Developer
  • FullStack Node.js Developer
  • QA. Тестирование ПО
  • C# / .NET марафон
  • FrontEnd марафон

Киев, ул. Евгения Сверстюка 19, 5 этаж, офис 502. станция метро «Левобережная». Ограничения по возрасту 12+

© 2023 КиберБионик Систематикс (CyberBionic Systematics). Все права защищены.

Как выучить С++ в 2023 году. Эксперты выбрали лучшие онлайн-курсы

Эксперты DigitalDefynd собрали 10 лучших курсов, туториалов и сертификаций на 2023 год по С++, который в последнее время рвёт рейтинги популярности языков программирования. В подборке есть как платные, так и бесплатные программы для слушателей разного уровня от начинашек до более продвинутых.

TIOBE выбрал «язык года»-2022

4. Learn C++ Programming — Beginner to Advanced Deep Dive in C++ (Udemy)

Курс ИТ-специалиста с более чем 20-летним стажем Абдула Бари, который поможет разобраться с самыми базовыми и более сложными особенностями С++. Вы изучите основные понятия программирования на С++, объектно-ориентированного программирования, обработку исключений, полиморфизм, стандартную библиотеку шаблонов и многое другое. Курс включает видеолекции с конспектами и примерами — на доске и на практике — использования языка в задачах и сценариях из жизни. В конце курса слушатель получит сертификат.

Продолжительность: 30 часов
Рейтинг: 4,6 из 5

5. Unreal Engine 4 Mastery: Create Multiplayer Games with C++ (Udemy)

Курс для тех, кто хочет научиться применять С++ и Blueprint в разработке мультиплеерных игр на основе искусственного интеллекта. Автор курса — профессиональный разработчик игр Том Луман — раскрывает важнейшие понятия программирования на С++ и собственно геймплея, а полученные знания помогут ученику создавать игры любого жанра. В очень компактном формате преподносится обширный материал, а по завершении курса выдаётся сертификат.

Продолжительность: 17-18 часов
Рейтинг: 4,4 из 5

6. Learn C++ for Game Development (Udemy)

Курс от опытного преподавателя Udemy Стивена Улибарри. Рассчитан на новичков и поможет освоить основы С++ для игровой разработки. Курс очень доступный по сложности и позволит быстро изучить разные понятия языка, такие как потоки ввода-вывода, истинность, область видимости, идентификаторы, функции, операторы инкремента, перегрузка, циклы и многие другие. Курс совмещает теорию и лабораторные по программированию, по завершении слушателю будет выдан сертификат, который можно показать работодателю в LinkedIn.

Продолжительность: 12-13 часов
Рейтинг: 4,7 из 5

Как оплачиваются самые популярные языки GitHub и какой прогноз

7. Design Patterns in Modern C++ (Udemy)

Курс для тех, кто уже умеет в программирование на С++ хотя бы на базовом уровне. Он поможет расширить и углубить навыки знаниями о паттернах проектирования — шаблонных решениях для распространенных задач в разработке — в современном С++. Курс включает видеолекции и практические задания. Речь пойдёт о разных актуальных инструментах разработки для различных проектов, например CLion и ReSharper С++, шаблонах проектирования «банды четырёх», таких как структурные шаблоны, порождающие и поведенческие шаблоны, и разных фишках их применения, а также о пяти SOLID-принципах в программировании. По итогам будет выдан цифровой сертификат. Автор курса — профессиональный инженер и опытный преподаватель Udemi Дмитрий Нестерук.

Продолжительность: 12-13 часов
Рейтинг: 4,5 из 5

8. C++: From Beginner to Expert (Udemy)

Курс обучит программированию на С++ с нуля с удовольствием и в сжатые сроки. Автор — профессиональный программист Аркадиуш Влодарчик — в подробностях рассматривает важные понятия языка — от базовых до более сложных — и даёт много, очень много практических заданий для закрепления теории. Каждая тема снабжена наглядными примерами. Курс включает 70 видеолекций, 4 статьи, 101 вспомогательный ресурс с пожизненным доступом.

Продолжительность: 15 часов
Рейтинг: 4,3 из 5

9. Learn Advanced C++ Programming (Udemy)

Этот курс будет полезен тем, у кого уже есть базовые знания С++ и кто хочет двигаться вперёд — к работе с файлами, библиотеке шаблонов, перегрузке операторов, лямбда-выражениям, конструкторам перемещения и многому другому. Слушателя ждут примеры создания разных программ с использованием рассмотренных в уроках приёмов и практические задания на разработку приложений. 105 лекций, 2 статьи и дополнительные материалы предоставляются в пожизненное пользование.

Продолжительность: 15 часов
Рейтинг: 4,6 из 5

TIOBE: C++ не остановить вот-вот догонит Python

10. Unreal Engine C++ Tutorial: Learn C++ and Make Video Games (Udemy)

Этот курс позволит применить на практике базовые знания С++ и принципы геймдева для создания эффективных игр со звуковыми эффектами на движке Unreal Engine 4, а также развить навыки решения задач и написания чистого года. Курс подходит слушателям любого уровня. Уроки по большей части основаны на проектах — то есть обучение будет идти рука об руку с практикой. Слушателю предоставят поддержку преподавателей и других учеников. Программа включает 340 лекций, 12 статей и 11 скачиваемых ресурсов с неограниченным доступом.

Продолжительность: 59,5 часов
Рейтинг: 4,7 из 5

Бонус: Free C++ Tutorial & Classes (Google)

Фирменный курс по С++ от Google с её собственными уроками и материалами. Содержит текстовые материалы, видеолекции, примеры и упражнения для тренировки на основе неоторванных от жизни сценариев. Начинается с настройки среды программирования и продолжается тестированием фрагментов кода. К каждому понятию дано детальное объяснение с кучей кода и визуализациями. Курс по структуре отличается от большинства онлайн-курсов, но воспринимается легко. Материал постепенно усложняется и завершается тестом для проверки знаний.

Продолжительность: в вашем ритме

Как программировать на C#: обзор языка, примеры кода, базовые инструменты

Как программировать на C#: обзор языка, примеры кода, базовые инструменты

Федор Мальцев

Федор Мальцев Backend-разработчик Logrus IT

От простой формы регистрации до алгоритма машинного обучения, от тетриса до VR-игр на движке Unity — все эти программы можно написать на языке C#. Вместе с backend-разработчиком Logrus IT Федором Мальцевым разбираемся, что из себя представляет C# и какие возможности он открывает программисту.

«IT-специалист с нуля» наш лучший курс для старта в IT

C# — что это за язык

C# (произносится си шарп) — это объектно-ориентированный язык программирования, разработанный компанией Microsoft, чтобы создавать приложения для Windows. Сегодня C# стал кроссплатформенным, на нем можно писать программы как для Windows, так и для iOS и Linux, особенно веб-приложения и для геймдева. Язык используется в backend-разработке веб-приложений: в работе с базами данных и сетью, в программировании логики и так далее. Программисты C# востребованы в банках, небольших компаниях и стартапах, мобильной разработке. C# пригодится тем, кто планирует создавать видеоигры и VR-приложения на популярном движке Unity или работать с алгоритмами машинного обучения.

Профессия / 18 месяцев
Разработчик игр на Unity
Создавайте виртуальные миры
4 908 ₽/мес 9 817 ₽/мес

Group 1321314346 (2)

Код для игры «Тетрис» на C#

Чем хорош язык C#

C# — объектно-ориентированный язык, он сделан так, чтобы работать с кодом было проще. Код делится на фрагменты (объекты), каждый из которых можно редактировать и улучшать, не переписывая при этом весь остальной код. Кроме того, в C# есть много функционала, который уже реализован — просто берите его и используйте. Например, если вам нужен алгоритм сортировки, можно не писать его с нуля, он уже есть. Достаточно написать команду “.sort” — и все отсортировано. Код для команды sort на C#У C# синтаксис проще, чем, например, у Python. В нем есть фигурные скобки, которые размечают блоки кода. В результате воспринимать такой код легче. C# — неплохой язык для начинающих, изучить его будет проще, чем тот же C++. Если же вы раньше имели дело с C-подобными языками, то будет еще легче, синтаксис окажется для вас очень знакомым. Команда пожелания доброго утра, дня или вечера на Python и C#Сейчас язык C# стал опенсорсным: каждый может внести в него свой вклад, но Microsoft при этом сохраняет контроль, поддерживает философию продукта, выбирает лучшие предложения. Обновление языка происходит раз в год.

Читайте также Чем занимается программист игр на Unity и C#?

Востребован ли C#

Рейтинг зарплат разработчиков по языкам программирования от Хабр.Карьеры

Весной 2023 года на hh.ru размещены более 1300 вакансий C#-разработчиков по всей России. Организация контроля качества кода TIOBE в марте 2023-го включила C# в топ-5 самых популярных языков программирования и отметила его бурный рост. Востребованность языка подтверждают и зарплаты специалистов по C#. За второе полугодие 2022-го, по данным Habr, средняя оплата труда разработчика на C# выросла на 4% и составляет 161 000 рублей.

Инструменты для работы с C#

Чтобы работать с C#, вам понадобятся следующие инструменты. Visual Studio — среда разработки, созданная специально для C#. На этой площадке можно писать код и разворачивать приложения. Встроенный функционал проверяет код и подсказывает, если вы совершили ошибку, выдает справочную информацию, если вы что-то забыли. ASP.NET — фреймворк для веб-разработки на C#, который позволяет быстро и просто связывать серверную часть приложения с клиентской. WPF (Windows Presentation Foundation) — софт для программирования графических интерфейсов для разных экранов. LINQ (Language Integrated Query) — встроенный в C# язык запросов, напоминающий SQL. Помогает работать с данными из разных источников, сортировать и группировать их. Entity Framework — фреймворк, который позволяет работать с данными как с объектами и использовать для запросов язык LINQ.

С чего начать изучение C#

Руководство по C# и Visual Studio от Microsoft — упорядоченная официальная документация от компании-разработчика с примерами кода, инструкцией, как создать первое приложение на C#, и учебниками. Поток C# на Хабре — новости и кейсы от разработчиков. Поток C# на сайте Metanit — очень понятное объяснение практически всех основных тем с примерами кода DotNetRu — YouTube-канал на русском с подкастами и докладами с конференций. Книга Эндрю Стиллмена «Head first C#» — хорошая книга для начинающих, которая не задавит сложной информацией и даст все необходимое. Дополнить можно справочником по C# Бена и Джозефа Албахари. Книга Джеффри Рихтера «CLR via C#. Программирование на платформе Microsoft .NET Framework 4.5 на языке C#» — библия C#, в которой описаны все тонкие моменты языка. Будьте осторожны, с нее лучше не начинать, иначе можно испугаться и бросить.

Разработчик игр на Unity

Все главные навыки разработчика игр на одном курсе. Вы освоите все этапы геймдизайна, научитесь программировать на С# и создадите 7 игр во время курса.

Как дурак C# учил. Часть 1

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

Это дневник человека, изучающего программирование для удовольствия. Не для профессии, не для заработка. Я не живу в Нигерии с кнопочным телефоном и не нахожусь в отчаянном положении. Я просто учусь и программирую для развлечения в свободное от работы и семейных дел время. Шоу в реальном времени. Публикуется пачками по 5 записей.

Отчего-то сложившийся менталитет (мой и окружающих) как бы защищает нас от смелых экспериментов с чем-то новым. «Я не умею» — звучит как чёртов смертный приговор. Я каждый день вижу это на работе, когда коллеги сталкиваются с незнакомой задачей. Я не умею. Конец программы.

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

Иногда я говорю ему “Приятель, если бы люди делали только то, что умеют, мы бы до сих пор жили в пещерах, а конкретно ты целыми днями мычал, ползал и какал в штаны, вместо игры в Angry Birds. Хотя нет, ты бы ползал без штанов, потому что никто не умел бы шить”.

К чему это я? К тому что я совершенно не умею программировать. Но собираюсь научиться. Не потому, что хочу стать разработчиком — профессия у меня уже есть. А потому что могу. Хотя вообще-то у меня есть целых три причины.

Первая — размять мозг. Я убежден, что нельзя строить жизнь вокруг какой-то одной деятельности. Надо занимать свой ум разными задачами. И чем они будут разнообразнее — тем для ума лучше.

Вторая причина — практическая. Я собираюсь написать игру (банально, да), в которую мы с мелким будем играть и веселиться.У нас уже есть идея — в прошлой итерации мы пробовали сделать настолку, но механика оказалась слишком сложна.

Третья причина — образовательная. Я попробую изменить отношение общества к программированию. Принято считать, что программирование — удел профессионалов. Никто не занимается программированием в качестве хобби. Такого понятия, как “любительское программирование” (запомните это слово) его вообще не существует.

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

Короче, я решил учить C#. Потому что для моей идеи нужен движок, и я так понял, что лучше всего Unity. А Unity — это C#. Это первое.

Второе, что я понял — начинать с Unity рановато. Почти все обучающие материалы исходят из того, что читатель уже знаком с языком. А всё, что я знаю про C# — это то, что правильно говорить «Си Шарп», а не «Цэ с решёткой». Так что начнём с самого языка.

Третье, что я понял — обучение будет основательным. Поскольку шарп для меня новый язык, нужно что-то “для чайников”, а такого нет.

Есть учебник “C# для школьников” Мартина Дрейера, но читать его решительно невозможно. Во-первых, знакомство с программированием у него начинается с изучения классов и объектов. Слишком сложно и непонятно. Во-вторых, на один абзац сути приходится три страницы примеров из реального мира. Слишком много. Я не готов тратить столько времени на историю о том, как девочка на необитаемом острове убеждает робота-инопланетянина заставить слона сорвать кокос.

Есть другая крайность. Уроки с сайта mycsharp.ru и “Полное руководство по языку программирования С# 8.0 и платформе .NET Core 3” на metanit.com/sharp/tutorial

Тут есть примеры кода, из которых можно что-то переиспользовать, но примеры слишком абстрактные типа “Давайте напишем программу, которая помещает в память объекты a, b и c, это же так увлекательно!”. Но это чуть лучше, чем слоны и кокосы, тем более, что у меня есть своя методика обучения.

В общем, я решил, что справлюсь и отправляюсь устанавливать Visual Studio.

Запись 2

Всё пошло не по плану. На следующий день, я словил Чёрный экран. Так и не понял, что это было, но похоже, что видеодрайвер обновился вперёд Windows и оказался несовместим со старой версией.

Когда-то я был аккуратен в подобных вещах. При любых проблемах просто восстанавливал раздел с ОС из бережно приготовленного образа, но это было давно. Винда стала стабильнее, я стал беспечнее. И вот.

Я провел неделю в попытках всё поправить. Перепробовал все рецепты. Нашел способ запустить командную строку, добыл древний Far, перенёс файлы, с третьей попытки подобрал подходящую сборку (я пользуюсь кастомизированной виндой) с уже установленным проблемным обновлением.

Тут надо сказать пару слов о моем бэкграунде. Я не умею программировать, но в общем-то считаю себя достаточно компьютерным человеком. Лет в 8 у нас дома появился первый в моей жизни ПК. Packard Bell 486. Крутой по тем временам. На нём было две программы — Лексикон и Инфо-бухгалтер.

Я играл в Лексикон.

Из символов I, / и \ я рисовал гоночную трассу, а курсор был машиной. Такие вот прибитые к полу игрушки. Ни интернета, ни друзей с компьютерами (поначалу). Я развлекался, как мог.

Кроме двух программ к компу прилагался полноценный MS-DOS на стопке дискет и я часто экспериментировал с разными командами. Дошёл и до такой, которая называлась QBASIC.

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

Кроме того в старших классах были уроки информатики. Turbo Pascal. Нас учили писать настоящий код. Разумеется, в тетрадях. Но у меня был компьютер (уже какой-то Пентиум) и я мог практиковаться.

Так я познакомился с самыми элементарными вещами. Конструкциями if-then-else и циклами. Вершиной моего мастерства стала программа «Рулетка». Рулетка была игрой. Ты выбираешь число от 0 до 10 и делаешь ставку. Угадал — бонус, нет — потеря ставки. И так, пока не кончатся деньги. Я очень гордился.

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

О! Кажется, установка Visual Studio завершена. Какая красивенькая. Чёрненькая вся. Давайте разбираться, что тут к чему.

Запись 3

Вообще-то это не первая моя попытка программирования. Где-то год назад на меня уже находила блажь, и я пробовал VBA. Смог освоить синтаксис нескольких команд и написал такую же рулетку, как тогда в школе. Только лучше. Теперь у меня был графический интерфейс из полей и кнопок, а также функции сохранения и загрузки игры (данные хранились в excel-таблицах).

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

За шарпом я провёл 4-5 вечеров. Прочитал две главы из учебника. Что я могу сказать? Меня совершенно не вдохновляет академический подход, основанный на написании бессмысленных программ, делающих абстрактрые вычисления. Не уверен, что смогу гордиться приложением, которое считает площадь треугольника.

Так что я придумал свой учебный план. С блэкджеком и… ну почти. Я выучил несколько самых важных команд: Console.WriteLine для вывода надписей, Console.Readline для ввода с клавиатуры, арифметические операции, условную конструкцию if-else, цикл while и конечно же Random для случайных чисел.

Наверное, вы уже догадались. Я снова написал консольную рулетку 🙂

Ощущения — восторг. Она работает! В ней можно проиграть или выиграть! И это настоящая программа — в ней 68 строк непонятного кода, в том числе целых 5 вызываемых методов.

Сложно ли было? Да. Я читал мануалы, допускал ошибки и всё ломал, тратил часы на поиск дефектов, снова читал мануалы, путался в коде и несколько раз всё переписывал, упрощая конструкции в циклах и убирая лишние переменные.

Но результат того стоил. Я полон надежд и двигаюсь дальше.

Запись 4

Первое препятствие. Дошел до понятия классов и объектов. Понятие совершенно непонятно. Как бы сама идея ясна, но как и для чего её применить? Создать классы для игрока, казино и рулетки? Потом придумывать объекты в них? И что они будут делать? Слишком притянуто. Кажется чем-то неестественным и только запутывает программу.

Дошло до меня через несколько дней. Я гулял с сыном на детской площадке и смотрел на мир вокруг объектно-ориентированными глазами.

class Парк , class Ребёнок Ребёнок Дима = new Ребёнок (); Ребёнок Саша = new Ребёнок ();

И тут я всё понял. Моя программа-рулетка слишком тупая и примитивная. Там просто не нужны классы. Это было хорошее упражнение для освоения процедурного программирования, но не более того.

Надо было придумать новое упражнение, чтобы понять классы. И я придумал. Прямо вот сел на лавочке и на телефоне написал себе задачку. Сделать мини-RPG. Там будет герой со своими параметрами силы и здоровья. Каждый ход он будет заходит в новую пещеру и встречать там тролля со своими параметрами. Они будут сражаться, бросая кубик, как в Невервинтере. А еще там можно будет найти оружие и доспехи.

Основные классы напросились сами собой:

  • Герой (сила, здоровье, деньги)
  • Предмет (урон, броня, прочность)
  • Монстр (сила, здоровье)

Запись 5

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

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

И даже это не было просто. Я постоянно натыкался на ошибки. Особенное при переносе кода в методы. Какая-то фигня не существует в каком-то контексте. Другая фигня недоступна из-за уровня защиты…

Мне очень не хватало какого-то руководства для чайников по структурированию кода. Куда поместить метод для генерации предмета? В класс Item? В класс Program? Просто оставить в коде? Приходится экспериментировать, ловить и исправлять ошибки.

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

Дальше эйфория кончилась и начался ступор. Я сумел сгенерировать два предмета, вручную, присвоив им названия Weapon1 и Armor1. Но мне потребуется делать это после каждого хода, копить их в инвентаре, менять… Как сделать создание объектов программно? Как генерировать их названия и тем более выбирать нужные для изменения их параметров?

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

Учебник не помогает. Там уже рассказывают про лямбда-выражения и многопоточность, а примеры до сих пор на уровне “Найти сумму всех четных чисел в ряде чисел”. Скукота. Поиск в интернете тоже не даёт ответов, потому что я как-то не так формулирую вопрос.

Подозреваю, что надо подключать базу данных и записывать объекты туда. Придётся мне учить SQL.

  • любительское программирование
  • с#
  • Программирование
  • .NET
  • Изучение языков

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *