Продолжать обучение?

Доброго времени суток!
Сейчас прохожу вводный курс по С++. Там теория и куча задач. Но дело в том, что я хочу программировать микроконтроллеры, а для этого, как я уже понял, лучший вариант это Си. Вопрос следующий: на этом курсе по С++ не рассматривается ООП, и заканчивается он на словарях. Пройдя этот курс в голове по-любому останется хоть какая-то база по С++, но будут ли базовые знания Си? Или всё же Си надо изучать отдельно?

PS: Прошу прощения если вопрос немного туповат. Просто Стивен Прата, например, говорит, что Си от С++ отличается как раз тем, что в С++ есть ООП и он более расширенный, чем Си. А на форумах везде орут, что это вообще два разных языка и у них только синтаксис общий. А так как я невежественный в этом вопросе, мне легко запутаться.
  • Вопрос задан
  • 1605 просмотров
Решения вопроса 1
longclaps
@longclaps
Синтаксис общий в той мере, что аккуратно написаный код на C будет компилироваться на всех популярных компиляторах C/C++.
Этот курс гораздо лучше, чем ничего, а то, что ты приобретешь некоторые познания в C++, тебя не испортит.
Ответ написан
Пригласить эксперта
Ответы на вопрос 8
Разница не в языках программирования, разница в подходах. Си в большинстве реальных задач требует полного понимания того что делает каждая строчка кода и как именно она работает, в то время как C++, особенно в последних версиях, позволяет программировать по "кукбукам". Это диктуется не столько языком, сколько теми задачами, для которых он используется, и вашей в частности.
Поэтому да, несмотря на то, что синтаксис Си вы практически уже знаете, если знаете C++, переучиваться вам все равно придется. Уделите при этом внимание не столько синтаксису языка, сколько постарайтесь понять что именно происходит и как это реализовано. По этой же причине учебники по Си написаны совершенно по другому, и читать их в любом случае стоит.
Ответ написан
Комментировать
@breakoffbrain
я думаю, что стоит начать с Си (отличная книга от Д.Ритчи и Кернигана). Си проще и тем более если хотите программировать под микроконтроллеры, то возможности С++ вам не нужны
Ответ написан
Комментировать
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
Вы действительно думаете что может быть 2 варианта ответа на вопрос: "Кто умнее Стивен Прата или мальчик с форума"?
Ответ написан
@abcd0x00
Пройдя этот курс в голове по-любому останется хоть какая-то база по С++, но будут ли базовые знания Си? Или всё же Си надо изучать отдельно?

У них разые стили при написании программ. C++ стремится к одному, оттуда и стиль свой. C стремится к другому, оттуда и стиль свой. То есть ты не только будешь напарываться на различия в синтаксисе (которые есть), но и писать на C неправильным стилем, делая всякие избыточные и ненужные вещи. Программы на C получаются намного короче аналогичных (эквивалентных) программ на C++.

Для примера тебе:
В C++, если есть приведение типа, оно делается явно, причём с выбором правильной операции приведения типа (кастования).
В C то же самое пишется просто без каких-либо операций, потому что существует неявное приведение типа (по стандарту), про которое ты знаешь, а потому и писать ничего не надо.
То есть уже минус одна заморочка, которая в C++ жрёт текст исходника, а в C она вообще не используется, оставляя исходник чистым и кратким.
Ответ написан
Комментировать
@AlexSku
Программист по автоматике
Чем отличается микроконтроллер от микропроцессора?
1) дополнительные сетевые протоколы. -> изучайте
2) алгоритмы по автоматике. Если будет время, изучите языки ПЛК (Codesys), а с алгоритмами можно поупражняться в Матлабе (для автоматики полезен Stateflow).
Ответ написан
Комментировать
@evgeniy_lm
Си от С++ это два разных языка с общим синтаксисом
Эти языки созданы совершенно разными людьми
изначально С++ назывался "C с классами"
Ответ написан
Если хочешь больше, то другой курс на степике.
Ответ написан
Комментировать
Neznayka1979
@Neznayka1979
Интересы - IT, психология...
Мде... это кто вам так посоветовал начать с С++ ?
Прежде, чем начать осваивать С++ нужно освоить С
Можете тут глянуть видео-уроки по С:
https://www.youtube.com/channel/UC3ewRHk6A2fhsUt6v...
Ответ написан
Ваш ответ на вопрос

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

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