Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Правильный ли подход - изучив язык C#, взяться за изучение C?

Суть вопроса на самом деле шире. Однажды услышал такую рекомендацию, что начать стоит с C#, понять Net Framework, потом можно изучать C. Мне не ясно, если есть развитие языка, зачем нужен его "предок"? Разве последние версии не смогут удовлетворить все требования программиста? И, если не ошибаюсь, оба языка компилируемые, а значит, должно быть, работают непосредственно, а не требуют интерпретатора, а значит, теоретически, C# вполне может справляться (?).
Интерфейс. Под старый C можно создавать приложения с привычным оконным интерфейсом?
ПрограммированиеЯзыки программирования+2
  · 1,2 K
Лучший
программист  · 29 апр 2022
В большинстве случаев такой порядок изучения будет неправильным. Возможны редкие исключения, но сейчас не о них.
Язык С нужен в основном в тех случаях, когда "ни один другой язык не подходит". В основном это работа очень близко к железу (код ОС, драйверов для ОС, компиляторов с высокими требованиями к производительности….). Но обычно люди идут в эти области заранее понимая чего они хотят и таких базовых вопросов не задают.
Во всех остальных случаях лучше взять какой-нибудь другой язык (хоть Java \ C#, хоть Python \ JS \ Go \ Rust…..).
Поэтому ответ такой:
  1. Нет такой порядок изучения неправильный
  2. Если вы уже выбрали  идти в системное программирование - учите С сразу (там по сути не С надо учить, а "архитектуру ЭВМ").
  3. Если вы собираетесь работать в прикладном программировании, но пока не определились где - С# вполне приличный язык (со своими "+" и "-").
Инженер путей сообщения – строитель  · 26 апр 2022
С и C# разные языки программирования, которые используются под разные задачи. Да, генетически язык C является предком C#, который дал последнему лишь базовый синтаксис. Всё остальное у них разное. Существует лишь класс простейших задач, когда языки равноценны и практически эквивалентны, когда C# будет справляться. Но многое, очень многое, в C# попросту недоступно, а... Читать далее