Answer the question
In order to leave comments, you need to log in
How to become a guru in C?
I have been programming in Python for 2 years now. I usually solve olympiad problems. Of course, this is not the fastest language, but in order to write something quickly, then it can.
But I want to learn C. Usually they write in C for hardware, and I want to plunge into this low-level world, but at the same time write in it, for example, some bots, parsers (this is not the best language, but I'm interested), in fact, reinvent the wheel .
How can this be done? What kind of literature can be read for this? familiar with the syntax.
Answer the question
In order to leave comments, you need to log in
We have a team at the company that writes in C. They make firmware for microcontrollers. There aren't many books on C. Because there is not much to write about. Syntax fits in a thin book. The rest is specific documentation for pieces of iron. So it's best for you to get an intern at a company that writes something for iron. IoT go like that.
You can buy some simple microcontroller and try to master it. Maybe in the process the desire to write in C will disappear.
If you are not ready to devote a lot of time and effort to this, learn to solder, use an oscilloscope and abandon many modern development tools, then you better not.
You suffer nonsense.
Sishka is not for bots, she has a different Path.
Ugums - of course, we are unfamiliar with the rutracker, which is why we ask such stupid questions - but visiting a rutracker, or any other torrent tracker, will open for you a huge world of easily accessible literature and much more, just don't say that you don't know what torrents and torrent trackers are, in this case, Google will explain what it is to you, but if you don’t know how to google, then going to a bookstore will solve your problem with finding literature, although those who haven’t learned how to google generally don’t make sense to continue working on a computer
The task of "becoming a guru" is, in principle, incorrectly set. Any master starts by working as an apprentice, doing simple things. But, again, it is by doing, and not just by reading theoretical books. So you can take the same Olympiad problems and try to solve them. At the same time, realize all the pain about the need to allocate and free memory yourself.
C is not only for hardware, but also for system calls.
The main skills are manual memory management and error correction.
Know - libc and header files of your system.
You need to master the assembly - be sure to make ( Makefile syntax ). There are also assemblers - cmake , gmake and new ones like Ninja . And of course the compiler and linker flags.
From the literature - *nix systems are equipped with the man command - which provides very good documentation (there are web copies on the Internet).
Reading good-quality code, for example, open source codes, helps a lot in mastering best practices.Plan 9 .
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question