I am one who isn't simply happy being a user and wish to write some of my own applications under Linux, as well as to play around in helping to develop some GNU software in the near future. However, I am a major newbie to the world of programming in C for Windows, let alone Linux. I'm not in a rush to make money in programming, but merely wish to do it for the pure satisfaction of it. Therefore, I have chosen to dump most of my efforts into doing so under Linux. However, I have a few questions for any of you who are experienced hackers (note the proper use of the term here) and truly understand the machine. I want to learn OOP programming with C++, Python, and other OOP programming languages. However, I have noticed in Linux that things are a lot different than programming in DOS or Windows. My first question is: What are some GOOD books that one can use for a new person who is new to programming in Linux? I purchased "Teach Yourself C in 21 Days" and "Teach Yourself Advanced C in 21 Days" by SAMS publishing. However, I have noticed that those books tend to lay things out in more of a Windows IDE environment and DOS / ANSI graphics. There has got to be a better way of learning C and C++ for Linux programming than this! Any suggestions? I would prefer a series that will take me from the basics all the way through advanced information through the same publisher if possible. My second question is: There are TONS of libraries and modules that are already a part of the GNU compilers, so as to keep programmers from having to "re-invent the wheel". However, I cannot seem to find any documentation or books which list all the properties of all the standard libraries so I can start using them religiously. (Also, I would appreciate some materials which can show me how to implement the libraries into my programs) I have basic understanding of how to use libraries though, just that I would like to learn how to use some of the more advanced ones. I know the basic function calls such as: #include <stdio.h> etc. But I would like to understand what is IN those functions and, thus, how they behave. Any suggestions? I aways feel I am behind the power curve when it comes to learning programming. Libraries change every week or so. New graphical interfaces come out and, once you think you've learned it, they go and change everything around. Also, with Linux, I have found that when libraries are changed, some programs cease to work due to backwards-compatibility problems. The typical Linux user then ends up having to have multiple sets of libraries on the system JUST to be able to keep and run the older programs. Is this not a productivity problem that should be addressed??? Just curious. Thanks in advance! Kurt
