Добрый вечер! Столкнулся с такой проблемой: Мне очень нравятся семейство языков Си, у меня есть выбор учить C++ либо C#, хочу разрабатывать ПО для ПК. Подумал начать с C++ и говорят что сначала поучить чистый СИ, а после переходить на C++, так что же из этого правильно? Надо ли учить Си? Или может лучше начать с C#, а дальше уже выучу C++?
Тема сравнения С/C++/C# в публичном пространстве - опасная тема. Она обычно заканчивается
топиком в 1000 страниц и
великой войной всех против всех. Я видел много таких войн.
Они ничем не заканчиваются. Специалисты остаются при своих мнениях. А зритель просто развлекается.
Сам по себе
выбор языка ставят только новички. Професиионалу безразличен язык (почти). Его может больше интересует отрасль, стек технологий, стандарты и протоколы. С моей точки зрения сегодня
таким стандартом может быть выбор облака (AWS, Azure, GCP).
Чистый СИ учить смысла нет. Учи сразу С++. Но даже его создатель Бьорн Страуструп считает что С++ это
сложный язык и он настаивает чтобы новички не брались учить все фичи сразу. Исключение по языку
СИ может быть в том случае,
если ты собрался быть инженером по разработке микро-контроллеров
и у тебя скорее всего
будет только СИ как основной (на 80-90%) инструмент взаимодействия с таким железом. Выйти на мидловый или синьорный уровень в С++ очень тяжело. Тяжелее чем в других языках.
Поэтому будь готов терпеть. Вот когда виски станут седые - тогда и будешь господин-синьор.
C# - это очень сильно корпоративный стандарт от Microsoft. Никакой связи с С++ он не имеет. Он конечно
внешне похож но это сходство обманчиво. Да изучать его тоже можно. Он учится легко. Существуют книги
вроде ".... C# за 14 дней". Разработка бизнес-приложений на шарпах идет гораздо быстрее чем на С++
например. И завалить систему в синий экран в этом языке гораздо труднее. В нем реализованы методы
защиты памяти и нельзя грязно трюкачить с указателями как это любят в С или С++. Производительность
шарпов в численных методах будет слабее чем в С++ но обычно бизнес не ставит таких задач и чаще
надо будет писать веб-хендлеры или хендлеры MQ-систем. Кач уровней синьорити идет быстрее в шарпах.