Здравствуйте. После продолжительного написания ПО на Python, мне захотелось попробовать, что то ещё. Я присматривался к таким языкам как D, C++ и C. В конечном итоге мой выбор сейчас падает на C. Почему? Трудно объяснить. Хочется попробовать именно его. Почитав статьи в сети я понял, что C++ достаточно сложен, особенно для человека который долгое время писал на Python и думать не думал про всякие указатели и остальную магию языка C/C++, а C напротив немного легче. В принцепи мне на данный момент не нужна возможность писать ООП - код, поэтому я считаю, что есть смысл начать именно с Си, а потом если понадобится освоить C++.
Теперь к вопросам, их у меня несколько:
1. Где сейчас применяется язык C? (кроме разработки ПО для всяких микроконтроллеров и системного программирования).
2. Не умирает ли C?
3. Какие языки кроме C++ и D (т.к он совсем какой-то мёртвый) могут заменить язык С?
4. Насколько будет сложно перейти в дальнейшем с C на C++?
5. Есть ли смысл применять C в разработке прикладного ПО для Linux?
Основная моя деятельность это написание ПО под Linux с псевдографическим интерфейсом. В Python я писал с помощью Urwid, а C/C++ аналогом является nCurses.
С - это прекрасно в смысле понимания, как вообще работают программы. Но прикладное ПО полностью на Сях - это заведомый жуткий оверхед по времени разработки. Может быть, посмотреть на Go?
unixwz: Go - это компилируемый язык. В первую очередь предназначен и используется для бэкэнда на серверах, но и standalone-утилиты на нем вполне реальны.
1. Системное программирование (интерпритаторы, базы данных, etc), системы реального времени, много чего.
2. Пока не планирует.
3. Rust. Плюсы никога не стремились заменить Си.
4. А зачем?
5. Смысл есть, но стоимость разработки (если мерять во времени) и сопровождения повыше будет. Хотя, в контексте ваших задач, да со штуками вроде Qt, должно быть норм.
На языках не нужно писать. На них нужно решать задачи и проблемы. Тоесть если вы после недели гугления убедитесь, что область С это 1.5 опсоса и 1.5 вакансии в ембедед-линуксе или parallels, то уже расхотите. Можете пойти в вирусологию. Там много С, asm. По фану можно покопаться.
Это в России полторы вакансии потому что промышленность сдохла ещё в 90ых.
Но в мире програмировние под FPGA и MCU очень даже развито и спрос большой но не на ИТшников Си-щников, а на инженеров которые решают задачи минимальной стоимостью или надёжно или быстро, а порой надо всё вместе и вчера.