Другие языки программирования и технологии

В каких областях применяются языки С, С#, С++? Это схожие области?

VK
Vitos Kononov
32 159
Разработка игр
Системное программирование
Компилируемое программирование
Программирование Unix инструментов и сетевого оборудования.
Оптимизация
Разработка ПО (DB, OS, Hardware Drivers, IO, etc)
Эти языки могут абсолютно все.
Взгляд от меня:
C# для разработки системных программ и игр.
C++ подходит для всего, но лучше справляется с запрограммированием модулей.
Язык си послужил основой для синтаксиса многих языков. Как по мне, на нем хорошо писать программы для различных типов контроллеров и составлять ПО.
МС
Максим Стругов
2 832
Лучший ответ
Vitos Kononov Спс, развернуто.
С и C++ -универсальные языки программирования, применяемые в любых областях.

C ориентирован на максимальную производительность и минимизацию используемых ресурсов. Самый низкоуровневый из высокоуровневых языков. Фактически, высокоуровневый ассемблер.

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

C# - разработанный в Microsoft язык прикладного уровня, ориентированный прежде всего на Windows. Не так давно Microsoft спохватилась и теперь прилагает усилия для продвижения C# в Linux и прочих *NIX.
Сергей Пыльнов
Сергей Пыльнов
64 208
Vitos Kononov "подходит для написания больших систем" в каких областях? Можете привести примеры их этих областей?
Совсем разные.

C для драйверов и микроконтроллеров. Язык низкоуровневый и сложен сам по себе, он близок к машинному коду и ассемблеру, требует соответствующих знаний про выделение память, стек и т. д., а также знаний специфических API (NT, STM32 и т. д.), ассемблера (отдельные вставки), и, возможно, даже электронной инженерии для стабильной востребованности на рынке труда.

C# для мобильных и десктопных приложений и сайтов в среде Enterprise. Язык высокоуровневый и прост сам по себе (то есть лучше подходит КАК ПЕРВЫЙ ЯЗЫК - даже школьник сможет на нем что-то сваять), однако в востребованном в реальных проектах виде он сложен за счет "помойки технологий" (синтаксический сахар новых версий, библиотеки, паттерны).

C++ для отдельных компонентов приложений, где нужна высокая производительность и кроссплатформенность, также применяется для железа, как С, и в приложениях (но это очень крупные и сложные проекты, такие как браузеры). Язык высокоуровневый и вроде бы прост сам по себе, но из-за того, что он полностью поддерживает C, интернеты полны любителей, которые думают что знают C++, а по факту пишут на суржике такое же дерьмо, как бы написали на С. То есть нужно найти того кто тебя научит готовить C++ правильно. При этом проблема с "помойкой технологий" тоже актуальна - нужно знать STL, современный сахар и Boost, а не только Qt или какой-нибудь С++/CLI и C++ Builder как предпочитают школьники.

Резюмируя: самостоятельное обучение можно начинать только с C#, если выбирать из этих трех языков. Сначала научиться что-то клепать на Winforms. Потом перейти на WPF или ASP.NET или Xamarin, на этом этапе уже надо либо найти наставника, либо научиться самому отличать профессиональный код от любительского.
На других двух языках без наставника делать нечего с самого начала, твой говнокод будет оторван от реально востребованного метода разработки.