Разработка игр
Системное программирование
Компилируемое программирование
Программирование Unix инструментов и сетевого оборудования.
Оптимизация
Разработка ПО (DB, OS, Hardware Drivers, IO, etc)
Эти языки могут абсолютно все.
Взгляд от меня:
C# для разработки системных программ и игр.
C++ подходит для всего, но лучше справляется с запрограммированием модулей.
Язык си послужил основой для синтаксиса многих языков. Как по мне, на нем хорошо писать программы для различных типов контроллеров и составлять ПО.
Другие языки программирования и технологии
В каких областях применяются языки С, С#, С++? Это схожие области?
Vitos Kononov
Спс, развернуто.
С и C++ -универсальные языки программирования, применяемые в любых областях.
C ориентирован на максимальную производительность и минимизацию используемых ресурсов. Самый низкоуровневый из высокоуровневых языков. Фактически, высокоуровневый ассемблер.
С++ -это C, дополненный высокоуровневыми механизмами, многократно усложняющими язык. Но за счёт них он намного лучше, чем C, подходит для написания больших систем.
C# - разработанный в Microsoft язык прикладного уровня, ориентированный прежде всего на Windows. Не так давно Microsoft спохватилась и теперь прилагает усилия для продвижения C# в Linux и прочих *NIX.
C ориентирован на максимальную производительность и минимизацию используемых ресурсов. Самый низкоуровневый из высокоуровневых языков. Фактически, высокоуровневый ассемблер.
С++ -это C, дополненный высокоуровневыми механизмами, многократно усложняющими язык. Но за счёт них он намного лучше, чем C, подходит для написания больших систем.
C# - разработанный в Microsoft язык прикладного уровня, ориентированный прежде всего на Windows. Не так давно Microsoft спохватилась и теперь прилагает усилия для продвижения C# в Linux и прочих *NIX.
Vitos Kononov
"подходит для написания больших систем" в каких областях? Можете привести примеры их этих областей?
Совсем разные.
C для драйверов и микроконтроллеров. Язык низкоуровневый и сложен сам по себе, он близок к машинному коду и ассемблеру, требует соответствующих знаний про выделение память, стек и т. д., а также знаний специфических API (NT, STM32 и т. д.), ассемблера (отдельные вставки), и, возможно, даже электронной инженерии для стабильной востребованности на рынке труда.
C# для мобильных и десктопных приложений и сайтов в среде Enterprise. Язык высокоуровневый и прост сам по себе (то есть лучше подходит КАК ПЕРВЫЙ ЯЗЫК - даже школьник сможет на нем что-то сваять), однако в востребованном в реальных проектах виде он сложен за счет "помойки технологий" (синтаксический сахар новых версий, библиотеки, паттерны).
C++ для отдельных компонентов приложений, где нужна высокая производительность и кроссплатформенность, также применяется для железа, как С, и в приложениях (но это очень крупные и сложные проекты, такие как браузеры). Язык высокоуровневый и вроде бы прост сам по себе, но из-за того, что он полностью поддерживает C, интернеты полны любителей, которые думают что знают C++, а по факту пишут на суржике такое же дерьмо, как бы написали на С. То есть нужно найти того кто тебя научит готовить C++ правильно. При этом проблема с "помойкой технологий" тоже актуальна - нужно знать STL, современный сахар и Boost, а не только Qt или какой-нибудь С++/CLI и C++ Builder как предпочитают школьники.
Резюмируя: самостоятельное обучение можно начинать только с C#, если выбирать из этих трех языков. Сначала научиться что-то клепать на Winforms. Потом перейти на WPF или ASP.NET или Xamarin, на этом этапе уже надо либо найти наставника, либо научиться самому отличать профессиональный код от любительского.
На других двух языках без наставника делать нечего с самого начала, твой говнокод будет оторван от реально востребованного метода разработки.
C для драйверов и микроконтроллеров. Язык низкоуровневый и сложен сам по себе, он близок к машинному коду и ассемблеру, требует соответствующих знаний про выделение память, стек и т. д., а также знаний специфических API (NT, STM32 и т. д.), ассемблера (отдельные вставки), и, возможно, даже электронной инженерии для стабильной востребованности на рынке труда.
C# для мобильных и десктопных приложений и сайтов в среде Enterprise. Язык высокоуровневый и прост сам по себе (то есть лучше подходит КАК ПЕРВЫЙ ЯЗЫК - даже школьник сможет на нем что-то сваять), однако в востребованном в реальных проектах виде он сложен за счет "помойки технологий" (синтаксический сахар новых версий, библиотеки, паттерны).
C++ для отдельных компонентов приложений, где нужна высокая производительность и кроссплатформенность, также применяется для железа, как С, и в приложениях (но это очень крупные и сложные проекты, такие как браузеры). Язык высокоуровневый и вроде бы прост сам по себе, но из-за того, что он полностью поддерживает C, интернеты полны любителей, которые думают что знают C++, а по факту пишут на суржике такое же дерьмо, как бы написали на С. То есть нужно найти того кто тебя научит готовить C++ правильно. При этом проблема с "помойкой технологий" тоже актуальна - нужно знать STL, современный сахар и Boost, а не только Qt или какой-нибудь С++/CLI и C++ Builder как предпочитают школьники.
Резюмируя: самостоятельное обучение можно начинать только с C#, если выбирать из этих трех языков. Сначала научиться что-то клепать на Winforms. Потом перейти на WPF или ASP.NET или Xamarin, на этом этапе уже надо либо найти наставника, либо научиться самому отличать профессиональный код от любительского.
На других двух языках без наставника делать нечего с самого начала, твой говнокод будет оторван от реально востребованного метода разработки.
Похожие вопросы
- Посдкажите как сохранить выделенную область в фотошоп кс4 в качестве jpeg файла.
- Жив ли Fortran? Если да, то в каких областях применяется? Спасибо всем ответившим.
- Попадает ли точка в область
- В будущем хочу стать программистом, ныне лишь новичок в области, кто может помочь встать на путь истинный?
- Какие существуют области программирования?
- Вопрос программистам - на работе вам дают задание сделать что-то из другой области, вы это делаете или нет?
- Какойиз языков программирования самый лёгкий и мощный в своей области?
- Как в Photoshop выделить область по цвету, сделав оставшуюся область фото черно-белой?
- Хороший программист это хороший хакер? Или хакер это совсем в другой области? И он необязательно может быть програмистом?
- В чем отличие у языков программирования C++ и Delphy и область их применения?