Re: Learning C: getting Devx and what do I do next?
So now that you have the devx (or a suitable environment for learning C installed on your system), the question remains "what do I do next". From some of the answers supplied it can be seen that there are different possible journeys depending on why a person wants to learn C - the purpose:
For example, the vast majority of my own C programming was for Linux system-level programming, such as for developing and optimising the TCP/IP stack and developing new Internet protocols or for overall performance testing of others.
So my own skills with C are not strongly graphic GUI creation oriented (though I have done a little in that area). C is not GTK+ (despite that using C in its library creations) and C is not Qt, which is written in C++, which is basically an object-oriented superset of C. C itself is a very short and precise language and thus 'relatively' easy to learn little language (I learned from K & R book - page by page - very concentrated but very few pages overall in fact compared to so many huge books out there explaining the use of most computer languages).
https://en.wikipedia.org/wiki/The_C_Pro ... g_Language
As that wikipedia article on K&R book states:
[The C Programming Language] written by Brian Kernighan and Dennis Ritchie, the latter of whom originally designed and implemented the language, as well as co-designed the Unix operating system with which development of the language was closely intertwined.
An understanding of C thus also gives the user a more complete understanding of UNIX and thus the operation of many Linux system-level commands and general underlying Linux code structure (pipes, redirection, file handles, stdin, stdout, stderr, and so on), which can also help understand some of the more difficult bash constructs since the shell bash itself works very closely to the underlying C code it is written in.
So once you get the devx, you have the environment for programming, but the issue is certainly what to do next, and that depends what you wish to program, a robot, an InternetOfThings device, some other piece of hardware, a new system utility for Linux (that involved no GUI), or some sort of GUI app/utility? For the latter there are other approaches that are not so difficult, yet often as useful, as using C - such as Python with some widget set or some abstraction such as kivy, which is very powerful and easy to build GUI apps with indeed (and of course there is always yad (and gtkdialog, which is certainly not my recommendation) and similar for simple GUI frontends for underlying bash/shell code and commandline programs.