MattewA
@MattewA
Not even a Junior

Стоит ли переходить на С?

Привет)
Мой вопрос хоть и не имеет прямого ответа, хотелось бы услышать хоть намек от людей, имеющих больше опыта в сфере программирования.
В свои 17 лет я уже около 2 лет изучаю программирование, последний год - С#, до этого - С++.
Мне нравится С#, на нем приятно разрабатывать (насколько я могу судить по не самым сложным программам), да и востребованность на хорошем уровне.

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

Я понимаю, нужно учить не язык, а в первую очередь программировать, но, все же - стоит ли мне перейти на Си, какие перспективы у такого выбора?
  • Вопрос задан
  • 344 просмотра
Решения вопроса 2
ApeCoder
@ApeCoder
Если прет от низкоуровневой разработки - C самое оно. Сейчас есть новые языки типа Rust, которые тоже метят примерно в эту нишу, но большо всего кодовой базы наработанно именно на C, наверное. C++, в принципе, очень похож на C с объектной надстройкой, но не тождественен ему. Хотя грубо можно принять, что он включает в себя С.

Еще в C# довольно много низкоуровневых штучек (см unsafe, stackalloc, указатели)

Тру девелоперность понятие относительное. Вы можете знать наизусть все флаги процессора, но не знать как спроектировать объектную моель, например.
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Имеет смысл только в том случае, если Вы не можете сделать то, что необходимо используя те языки программирования, знания которых у Вас уже есть.
Про "КРУТО": Если просто для крутости - это время прошло.
Сейчас важно - не писать на С, а уметь создавать конкурентно способный надёжный бизнес-инструмент (продукт) высокого качества. А на чём - не так важно.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@stratosmi
в добавок к этому у меня устойчивое ощущение, что Си/С++ - языки для "тру девелоперов", и вообще писать на них очень круто.


Пожалуй, да, так было лет 20 назад.
Просто потому что альтернатив-то особо и не было.

Сейчас "тру девелоперы" могут использовать как Go, так и Rust, так и С++, так и уже развитый C#, Java и т.п. и т.д.
Ответ написан
CityCat4
@CityCat4
Внимание! Изменился адрес почты!
Ну, тут положение таково...

Если планируете когда-либо заниматься UNIX на уровне больше чем "настроить LAMP на локалхосте на убунте, собезьянив действия из манов" - то знать C надо. Знание С - оно все целиком постоянно проходит через админство и в общем-то понятно почему.

А вот насчет крутости... Язык - это инструмент ;) Язык программирования в том числе :) Он нужен для решения задач. А не наоборот! Если у Вас есть задача и ее надо решать Вам - сами должны выбрать, на каком языке ее реализовать. На С пишется одно, на С++ - другое...
Ответ написан
Комментировать
@res2001
Developer, ex-admin
Согласен с предыдущими ораторами, что язык под задачу, а не наоборот.

Если хочется низкого уровня, то сосредоточьтесь на С++. Сам по себе Си - язык очень компактный и простой. Изучая С++ для понимания внутренних механизмов уделите внимание указателям, адресной арифметике, работе с нативными массивами и строками (не std::valarray и std::string) - то же самое будет и в Си.
Когда пишешь на Си очень не хватает классов и иногда шаблонов из С++ - толковой альтернативы в Си нет.
Если когда-то придется участвовать в проекте на Си, то перейти с С++ будет достаточно просто. Адаптироваться к нюансам и привыкнуть к стандартной библиотеке Си можно быстро.
Все это я к тому, что необходимости отдельно изучать Си нет - освоив на хорошем уровне С++ вы сможете начать писать на Си, когда будет необходимо. Но наоборот - не выйдет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы