ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
I've been wondring lately should I continue on path of C++ of which I know the basics, or should I pick some more advanced and powerfull programming language when it's still possible to unlearn a bit. It's been a while since I last time did any programming (ca. 4 months) because of unability to run Linux or BSD on our family computer. Now that I have my very own laptop (iBook) and a decent programming enviroment (XCode 2.1) I think I should begin coding again.
But question remains, should I stick with C++ or maybe switch to Objective C? Or maybe some other C based language? I wouldn't prefer sole C because I think it's quite outdated and clumsy. I'm considering objective C quite heavily since most of the "developement" I will be making are going to be simple desktop apps.
I'll leave my decision to you for now. All suggestions are welcome!
I wouldn't prefer sole C because I think it's quite outdated and clumsy.
Outdated and clumsy? It's a small, elegant language that works! If by "clumsy" you mean you have to write a lot of the stuff that C++ overloads you with by default, that's a different matter. People make the mistake of calling C a high-level language, but it's really a high-level assembler language, which is why it's such fun to use!
I suppose that you also think Linux, being based on an OS that was invented in the late 60s, is outdated, too.
If you want to be an effective Linux programmer you might want to change your views on C Tell Linus that C is clumsy and outdated. Anyways I would say stick with C++ until you've at least learned the STL pretty well, which means you should learn almost all of the language. But of course the choice is up to you, I'm just giving my recommendation which is highly biased towards C++
As everyone has said, C is definitely not outdated. I don't know much about Objective C, so I can't comment about it. But if you learn C and C++, you can pick up any language in the future pretty easily.
C is a good choice, because good compilers for it are available on most platforms that have something more than assembly language tools. Also, lots of operating systems have a native C API.
I like C++. The compilers are not as widespread, but there are still lots of them. Also, I find some of the more modern techniques being developed with templates to be fascinating. Finally, it is not to difficult to link C++ code to C code.
I have never had any experience with Objective C, so I can't really comment on that other than to say it doesn't appear to be as widespread.