@Kenneth0

Каким образом стать гуру в Си?

Я уже 2 года программирую на Python. Обычно решаю олимпиадные задачи. Конечно, это не самый быстрый язык, но для того, чтобы что-то быстро написать, то это он может.
Но мне хочется постичь Си. Обычно на Си пишут для железа, и мне хочется окунуться в этот низкоуровневый мир, но в тоже время писать на нем, к примеру, каких-нибудь ботов, парсеров (это не самый лучший язык, но мне интересно), по сути, изобретать велосипед.
Каким образом это можно сделать? Какую для этого литературу можно почитать? С синтаксисом знаком.
  • Вопрос задан
  • 1023 просмотра
Пригласить эксперта
Ответы на вопрос 8
sarapinit
@sarapinit
Точу водой камень
У нас в компании есть команда, которая пишет на C. Они делают прошивки для микроконтроллеров. Книг по C особо нет. Потому что там особо нечего писать. Синтаксис умещается в тонкую книжку. Остальное - специфическая документация для железок. Так что лучше всего вам попасть стажером в компанию, которая пишет что-то для железа. IoT иди вроде того.
Можете купить какой-то простенький микроконтроллер и попробовать его освоить. Может в процессе и пропадет желание писать на C.
Если вы не готовы этому посвящать много времени и сил, учиться паять, пользоваться осциллографом и отказаться от многих современных инструментов разработки, то лучше не надо.
Ответ написан
Комментировать
Zoominger
@Zoominger
System Integrator
Ерундой страдаете.
Сишка не для ботов, у неё другой Путь.
Ответ написан
sergey-gornostaev
@sergey-gornostaev Куратор тега C
Седой и строгий
Ответ написан
Комментировать
solotony
@solotony
покоряю пик Балмера
только одним образом - писать
Ответ написан
Комментировать
@Nordman99
Угумс - с рутрекером мы конечно незнакомы потому и задаем такие глупые вопросы - но посещение рутрекера, или любого другого торрент-трекера открое для вас огромный мир легкодоступной литературы и много чего прочего, только неговорите что вы не знаете что такое торренты и торрент-трекеры, в таком случае что это такое вам обьяснит гугл, ну а если и гуглить не умеете то поход в книжный магазин решит вашу проблему с поиском литературы, хотя ненаучившимся гуглить вообще то нет смысла в дальнейшей работе на компьютере
Ответ написан
Комментировать
shurshur
@shurshur
Задача "стать гуру" в принципе неправильно поставлена. Любой мастер начинает с того, что работает подмастерье, делая несложные вещи. Но, опять же, именно делая, а не просто читая теоретические книжки. Так что можно брать те же олимпиадные задачки и пытаться их решать. Заодно осознать всю боль о необходимости самому выделять и освобождать память.
Ответ написан
uvelichitel
@uvelichitel
habrahabr.ru/users/uvelichitel
Си не только для железа, а ещё для системных вызовов.
Главные умения - ручное управление памятью и работа над ошибками.
Знать - libc и заголовочные файлы своей системы.
Нужно освоить сборку - обязательно make(синтаксис Makefile). Есть ещё сборщики - cmake, gmake и новых напридумывали вроде Ninja. Ну и конечно флаги компилятора и линкера.
Из литературы - *nix ситемы оснащены командой man - предоставляющей очень годную документацию(в интернетах есть web-копии).
В освоении лучших практик очень помогает чтение доброкачественного кода, например открыты исходники Plan 9.
Ответ написан
Комментировать
@vanyamba-electronics
Напиши компилятор языка Си и станешь гуру.
Ответ написан
Ваш ответ на вопрос

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

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