**Что выбрать C++ или C#? С чего лучше начать? — Transcript & Summary | SozAI**
Source: https://sozai.app/transcript/choose-cpp-or-csharp-start-guide/

Обзор выбора между C++ и C#: сравнение, советы по изучению и применению в разных сферах программирования.

## Key Takeaways

- C++ и C# — перспективные языки с разными сильными сторонами и сферами применения.
- C# лучше подходит для быстрого старта и разработки под Windows, особенно веб и игры на Unity.
- C++ обеспечивает большую гибкость, кроссплатформенность и подходит для сложных проектов и AAA-игр.
- Выбор языка зависит от целей, задач и предпочтений разработчика, универсального ответа нет.
- Важно понимать алгоритмы и уметь применять знания, а не только изучать синтаксис.

## What the video covers

- C++ и C# имеют схожий функционал, выбор зависит от целей и предпочтений.
- Рекомендуется использовать плагин PVS-Studio для поиска ошибок в коде на C++ и C#.
- Начинать изучение лучше сразу с C++ или C#, а не с устаревшего языка C.
- C# ориентирован на Windows и веб-разработку, особенно с ASP.NET.
- C++ более кроссплатформенный и позволяет работать на разных уровнях абстракции.
- Для изучения C# рекомендуются книги по версии 7.0 и работы Рихтера по .NET.
- Для C++ полезны книги Страуструпа, Майерса и Сакура, а также практика.
- В игровой индустрии C# используется в Unity, а C++ — в Unreal Engine.
- Скорость разработки на C# выше на начальных этапах, но в долгосрочных проектах разница нивелируется.
- Выбор языка должен основываться на задачах, синтаксисе и личных предпочтениях.

## Chapters

1. 00:00 Введение и обзор сходств C++ и C#
2. 00:34 Использование плагина PVS-Studio для поиска ошибок
3. 01:04 Почему не стоит начинать с языка C
4. 01:36 Особенности и рекомендации по изучению C#
5. 01:57 Особенности и рекомендации по изучению C++
6. 02:27 Обзор альтернатив и важность алгоритмов
7. 02:55 Применение C# и C++ в игровой индустрии
8. 03:26 Сравнение скорости разработки и кроссплатформенности
9. 04:02 Отличия библиотек и поддержка приложений
10. 05:10 Заключение и советы по выбору языка

Answers

## Questions about this video

Стоит ли начинать изучение программирования с языка C?

Автор считает, что начинать с языка C — это трата времени, так как он вышел из моды и на нем мало перспективных проектов. Лучше сразу изучать C++ или C#.

Какие игровые движки используют C++ и C#?

C# используется в игровом движке Unity для 2D и 3D игр, а C++ применяется в Unreal Engine, который подходит для крупных AAA и консольных игр.

Какой язык лучше для кроссплатформенной разработки?

C++ более кроссплатформенный, хотя требует дополнительных усилий, в то время как C# преимущественно ориентирован на Windows и не имеет полноценной кроссплатформенной инфраструктуры.

## Full Transcript — Download SRT & Markdown

00:00

Speaker A

C++ и C# очень схожи, и выбор между ними может поставить вас в тупик. Оба языка являются перспективными и выполняют примерно схожий функционал. В этом видео я постараюсь рассказать вам, что лучше выбрать, основываясь на ваших предпочтениях и целях. Я уже как-то

00:18

Speaker A

рассказывал про программу PVS-Studio, которая выявляет ошибки в различных программах, написанных на C++ и C#. Ребята находят ошибки даже в крупных и известных проектах, таких как Chromium, Android, Unreal Engine, LLVM и других. Скачать плагин для Visual Studio

00:34

Speaker A

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

00:50

Speaker A

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

01:04

Speaker A

и перспективного не пишется, кроме как поддержки старых проектов. Поэтому если вы решили освоить новый язык, то сразу начинайте с C++ или же с C#. Допустим, вы пропустили C и теперь думаете, что же дальше. А дальше дело обстоит так: если вы

01:20

Speaker A

выбираете C#, то привязываетесь к одной единственной операционной системе — это Windows. Пусть даже есть какой-то там Mono или .NET Core, вы все равно привязаны к Windows от Microsoft. Большинство вакансий на C# — это ASP.NET, это веб и все в этом духе. Так что

01:36

Speaker A

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

01:43

Speaker A

да и сам язык тоже. Затем я бы вам предложил "Трое ЛС" (?), ну и наконец, когда вы уже будете хорошо плавать в C# и программировании, можете почитать Рихтера. Он уже описывает не дисек C#, а платформу .NET. Далее у нас на очереди

01:57

Speaker A

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

02:11

Speaker A

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

02:27

Speaker A

C++. Я бы вам еще посоветовал посмотреть в сторону Java, но тут уже выбор за вами. А вообще все эти языки — лишь инструмент, кто бы что мне сейчас ни стал заказывать. Главное же — иметь мозги, хорошо ими пользоваться и знать

02:40

Speaker A

алгоритмы. Даже не знать их наизусть — это как раз-таки плохо, а просто понимать, как они работают. Алгоритм советовать, наверное, не нужно, ничего просто берете. Сферы применения у этих языков примерно одинаковые. Если вы хотите писать игры, то здесь стоит снова же

02:55

Speaker A

вспомнить про C#, так как этот язык используется в игровом движке Unity, на котором вы можете писать как 2D, так и 3D игры. При этом язык C++ используется в игровом движке Unreal Engine, который более мощный и используется в основном для создания

03:09

Speaker A

крупных AAA и консольных игр. C# позволяет стартовать разработку быстрее, а это позволяет быстрее получить прототип решения. Скорость разработки на начальных этапах проекта значительно выше по сравнению с C++. Однако когда инфраструктура проекта создана, основные подходы и библиотеки

03:26

Speaker A

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

03:44

Speaker A

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

04:02

Speaker A

не пошло в этом направлении. Поэтому под Windows образовалась достаточно полная .NET инфраструктура, на других же платформах равноценной инфраструктуры не появилась. Отличие ассортимента C++ и C# библиотек в том, что C++ библиотек больше, они имеют большую историю, за которую стали

04:20

Speaker A

неплохо отлажены и оптимизированы. Часто они также кроссплатформенные и с открытым исходным кодом. Однако при всех положительных сторонах C++ библиотеки имеют очень разную, часто даже архаичную архитектуру, часто не объектный, а структурно-процедурный интерфейс. Это связано

04:37

Speaker A

с тем, что многие C++ библиотеки — это библиотеки языка C. Другая неприятная особенность C++ библиотек — это создание и переопределение своих базовых типов. Многие C++ библиотеки заводят свои типы строк, контейнеров, переопределяют некоторые базовые типы.

04:53

Speaker A

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

05:10

Speaker A

C#. Поэтому подбор правильных библиотек для проекта на C++ — это действительно настоящая задача. Поддержка приложения. Большой разницы между C++ и C# нет, хотя стоит понимать, что некоторые баги в приложениях, написанных на C#, средствами .NET

05:26

Speaker A

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

05:44

Speaker A

вы хотите реализовать. Для меня язык C# намного ближе, ведь на нем можно работать в игровом движке Unity, хотя многие используют C++ для работы в игровом движке Unreal Engine и создают совсем не хуже игры. Вам стоит определиться с задачей и

06:00

Speaker A

после этого выбрать язык, который вам больше понравится по синтаксису. На этом у меня все. Подписывайтесь на канал и вступайте в группу ВКонтакте. Все ссылки будут в описании к видео. До скорых встреч, пока!

Topics: C++ C# выбор языка программирования PVS-Studio игровые движки Unity Unreal Engine кроссплатформенность программирование обучение языкам

Учить по этому видео

- [Карточки по этому видео](https://sozai.app/ru/tools/ai-flashcard-generator/?from=transcript&id=30124)
- [Тест по этому видео](https://sozai.app/ru/tools/quiz-generator/?from=transcript&id=30124)

Бесплатно, составлено ИИ по этой расшифровке. Без регистрации.


---
This is the markdown twin of https://sozai.app/transcript/choose-cpp-or-csharp-start-guide/ — the same content, without the markup.
Published by SozAI (https://sozai.app). Reuse and quotation are allowed with attribution and a link back.
Machine-readable index: https://sozai.app/llms.txt · data API: https://sozai.app/api/
