Область применения C, C++, C#?
================================

 Хотел задать вопрос к опытным программистам. Область применения C, C++, C#? Сейчас учусь на заочном отделении мех-мата, прикладная информатика, начали изучать язык C++. Пока что всё понятно в плане структуры. Но не понятно, где его применять. Можно его использовать для веба в частности или там только PHP, Pyton, Java и другие языки, а C, C++, C# только для ПК. Хотел бы узнать где можно использовать их в дальнейшем, спасибо за ответ. 

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

Это я к тому, что из этого паттерна прокрастинации и фантазий нужно выбираться прямо сейчас, а не потом. Если ещё более прямо надо - бери любой язык и учи его месяц, не тратя время на всякую чушь. Иначе гроб. 

 > Хотел задать вопрос к опытным программистам.  
  

Ну раз опытным, то думаю разумно поделиться своим опытом. Итак, в чем участвовал за последние 5-6 лет, где были плюсы или шарпы. Три места работы, три команды:  

- десктопная софтинка наподобие 2ГИС - база данных услуг и предприятий с привязкой на карту. C#, карту отрисовывали сами с помощью Direct3D;  

- TCP-сервер GPS-трекеров (такие фиговины, отправляют по GRPS/SMS свои текущие GPS/ГЛОНАСС координаты + всякие плюшки для транспорта - уровень топлива, скорость движения и т.д. - зависит от модели). C++ и обыкновенные сокеты. Сервер небольшой, принимал именно данные от трекеров и писал в базу. Отображалось все на обыкновенном сайте с PHP в бэкенде.  

- веб-сервис, принимающий платежи по WebMoney Merchant и поддерживающий балансы на счетах клиентов. Открывал урл для серверов вебмани, плюс давал простейшие отчеты (проведена транзакция или нет, текущий баланс, транзакции на списание). C# (WCF), данные писались в PostgreSQL.  

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

- здоровенное декстопное приложение на C++ + Qt, трейдинговый терминал (более 10к файлов исходников, команда из 30+ человек);  

- довольно объемный ГИС-проект на C#, клиент десктопный (WPF+SharpMap), серверная часть - ASP.NET WebAPI (JSON API).  

- планируется новый ГИС-проект с клиентом уже на C++ и Qt, т.к. существует нереально крутые рендереры на OpenGL от MapBox ([тык](https://github.com/mapbox/mapbox-gl-native)), а большинству участников текущего проекта плевать - C++ или C#. Qt сейчас развивается очень серьезно, поэтому на сегодняшний день он выровнялся с C#+WPF, а т.к. рендерер на плюсах - то и клиента будем писать на плюсах. На сервере по-прежнему ASP.NET, вероятно новой версии (пока начнем писать, должна успеть выйти в релиз); тех, кто считает, что с ним "сложно в вебе" - аргументы в студию;  

- небольшой сайд-проект - рендер сложного 3D объекта для внедрения в рекламный ролик новой фантастической книги. С++ и OpenGL, написано быстро, дешево и сердито, отрисовано покадрово в PNG-шки, смонтировано в After Effects, все довольны.  
  

Вывод: поверьте, если инструмент подчиняется вам, то вам открыто много способов решения различных задач. Конечно, для Web-бэкенда C++ будет очень странным выбором, но лично у меня хватает задач и без бесконечных мелких сайтиков.  
  

Послесловие: безусловно, начинать лучше с того же Паскаля (да, я серьезно, отличный язык для обучения, дисциплинирует, и при этом не скрывает машину от программиста). Но если уж выучите С++, или хотя бы Си, то остальные языки после него будут как игрушки с наворотами. Конечно, для этого вам уже надо знать, что вы хотите стать программистом. Если еще не уверены - лучше попробовать на более простом языке, иначе перегорите не дойдя и до середины. 

 GameDevelopment - Enterprise.  

System Programming.  

Compilers Programming.  

Unix command line tools programming (streaming, sockets, wan, lan).  

Optimizations.  

Software Development (DB, OS, Hardware Drivers, IO, etc)  
  

Учитесь лучше :) не ассемблер же дают. 

 Ну ничего себе. C++ только на ПК? Серьёзно?  
  
[Android](https://developer.android.com/tools/sdk/ndk/index.html), [iOS](https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) (тот же Си, только сбоку), [web](http://www.asp.net/). Вообще, на Си почти всё вокруг, всё что незаметно (и чуть больше) - это Си. Или Си++. Или Objective C. Ну а C# - это мелкомягкие, они его продвигают. Очень. Вся экосистема на C# завязана. Включая Windows Phone.  
  

Ну и сами по себе плюсы очень фундаментальны. Хотя начинать обучение с них - очень плохая идея, до сих пор изучение в РФ начинают с них из-за историчности и фундаментальноси. Зная их освоить другое проблем не будет. А если начнутся проблемы с осваиванием плюсов, возможно стоит посмотреть на другие области: юриспруденция, графический дизайн, а может даже спорт. 

 Нас тоже начинали учить с С, потом С++, а потом все остальное: С#, Java, PHP и т.д. Помнится мне понравился C++, трудным мне он не казался и я на нем даже что-то пробовал делать. Но в конечном итоге застрял на .NET ). Все, чему учат - учите, в конечном итоге всё дополняет друг-друга и изучение каждой последующей технологии будет даваться легче. 

 С плавно вытесняется Rust  

C++ продолжает идти по пути бесконечного усложнения и понемногу заменяется, где это можно разными D/Go/... (но это происходит очень медленно)  

C# плотно застрял в корпоративе и десктопном софте 

 Не знаю, как остальное, но С я применяю везде: от "скриптов" для рутины до всяких числодробилок и сервер-сайдов. Естественно, прошивки железок тоже только на сях. 

[Есть ли место C++ в современных условиях?](http://eao197.blogspot.ru/2015/09/progthoughts-c.html)  

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