ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
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.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I used to program in C many years ago and stopped for various reasons. One of them being the availability of free programs. In windows (back then) if you wanted a nice development suite, 3D modeling, etc. I found myself having to pay lots of money for quality product that I only wish to use as a hobby. I considered pirating however I have moral issues with this.
Problem:
I've been using Linux for 3 weeks now and coming from a Windows environment this is going to make me insane. I can't put it down because the more wonderful programs I find the more I like this environment. (I have yet to be able to correctly install and run anything that wasn't originally part of my SuSE isntallation). Years ago when I did C programming, open source would have been perfect for me and now I'm getting that itch to pick it back up.
My problem is that in the past 3 weeks I have not been able to even get past the simple installation of Kdevelop. (I decided to try to update the Kdevelop to the latest version...can't get it to work now). For the most part I have yet to be able to get anything at all accomplished because just about every help topic I visit seems to assume that I know all about linux. (honestly it seems that some people writing these help guides assume that I know what they already know).
So I follow the Kdevelop installation guide. Got the CVS thing going. Then it tells me to write some kind of "BASH" script and there's something about a Qt library as if I know what these are.
We'll I'll get to the point.
Yes I know that I have a S**T load of stuff to learn about Linux and even more to learn about linux programming.
Yes i've seen lots of stuff out there about books I should buy. IMHO, being required to go out and buy books, software, etc. sort of defeats the purpose of open anything.
Is there a resource out there that can give me a clear, newbie friendly and complete guide to getting started in programming. (preferrably Kdevelop?) Although I need to learn alot more about the OS, it would be kinda refreshing to be able to do something productive at the same time as learning this OS, instead of ripping my hair out and not getting a single thing accomplished.
For installation of stuff, I usually get the source distributions. Most stuff nowadays uses the GNU autobuild suite, which means that to build and install it, you simply have to do the following:
tar xvfz sourcedistribution.tar.gz // Unzips and untars the files
cd sourcedistributionfolder // changes to the folder with the source
./configure // Runs a script that creates a Makefile based on your system
make // Compiles the program
su // Goes into a root shell, it'll ask for the root password
make install // Installs the files into standard locations like /etc/local
Hope that helps. Although, if you have SuSE, many times it might be easier to just get the appropriate RPMs and install/upgrade them.
Qt is a GUI toolkit by TrollTech. It is available to download from www.trolltech.com .
If you install that, following the advice above, then you should be able to get Qt / KDE things to compile. However, if you're already using KDE then Qt must be installed (KDE uses Qt) so it could just be that you need to go back and install the Qt-devel packages, which contain the header files and documentation.
I am relatively new to Linux as well - I also tried KDevelop, but found that I also could not get it going to my satisfaction.
Take a look at EMACS - it is a great editor. I use it and GNU autotools to code - what I like about EMACS is it is fully configurable - it has integrated support for debugging as well, using GDB. It has source highlighting, macros, multiple windows, the works.
I would rather recommend that if you are going to develop anything but KDE centered programs, go for EMACS and autotools to develop.
Thanks for the tips guys. Unfortunately I still have not had much luck with Kdevelop. I'm to the point now where there must be something wrong with the OS cause I had downloaded Vegastrike and have followed each help file I could find on the subject for the last week and that doesn't work either.
I will look into Emacs...oddly enough that sounds familiar...almost like what I used in college when I learned C.
Anyway, these past 3 weeks have taught me that perhaps my efforts should be redirected back towards Windows. Linux is great and all, nice way to amuse (torment) myself, however so far seems very impractical unless you have a great deal of experience debugging it (hence it can't ever become a competative . I get the sense that I must personally compute as much as the computer does which then seems to defeat the purpose of a computer. (I also think that the GUI is making me confused in some aspects)
I'm just going to wipe my drives and re-install SuSE then only run whatever is pre-installed. Perhaps down the road it'll become a bit more clear.
I believe you're on the wrong track. You don't need Kdevelop. All you need is an editor and some patience.
If you're familar with C, try PERL first - this way you get around the Autoconf stuff because it's a interpreted language. If you want Object Orientation, try Python instead. It's really easy and so much fun when memory about basic programming comes back. Both languages are in your distribution - no need to compile something.
While you have fun with Perl or Python, you can play with small tarballs and you'll learn the above mentioned "./configure && make && make install" procedure. You'll learn that you need the GNU compiler, the autotools, and additional headers installed which are usually in *-dev or *-devel packages.
Then you can do the famous "helloworld" programm in C or C++ and compile it. Then come back and ask for a good tutorial about setting up Makefiles and a usual GNU package.
Distribution: Simply mepis and it's soooo nice !!!
Posts: 71
Rep:
I'm a bit confused- perhaps I don't even know as much as you [in fact I know I don't] but if you have SuSE why aren't you just using a basic installation and going from there?
I've had both 8x and 9x now and it's a total pain on one hand yet I'd say you could get the terminals you needed and control of the apps that you wanted after you had them instead of the route you are going-
To my mind you are trying to do it the hardway and backwards.
Of course this doesn't help you much but it's grist fro the mill.
j
Thanks clausi. Python actually looks pretty appealing after I saw your suggestion. I think I will give that a whirl.
I think you are right about just starting out with the basic stuff and learning the tarball stuff one step at a time.
I went and reinstalled my entire SuSE os and am just going to use the basic installation programs. My frustration came in when I tried to update SuSE through Yast which killed KDE for me. (Think that was a nvidia video card driver problem). Then after that reinstall I decided to not use Yast but went and updated Kdevelop and tried to install SDL development tools which didn't work. After that reinstall I tried to have some fun so I downloaded a game which didn't work either.
On the bright side from all this reinstalling I am getting good at networking file shares and internet connections with an XP home machine .
Down the road I may still try to get SDL development tools installed (unless they already have been) but I'll just play with what I have now and not worry about getting the latest library/compiler tools with other languages.
Thanks for the python tip. I guess I've been away from the programming world long enough to not have heard much of that.
Yo Nodin,
I would Love to help you (I don't know why, but I get shivers of delight every time someone starts using Linux, probably because I hate Windows so much! ). My e-mail is The_Nerd@linuxmail.org, please feel free to e-mail me. I am pretty good with Linux (though I don't know REALLY fancy stuff ) and I would love to help you figure it out + help a fellow programmer get on his feet. Again, please e-mail me.
Problems like yours (Yast doing funny things) made me start with with Debian although I was a beginner those days. The first weeks have been hard but apt-get rulz.
Since you're mentioning SDL I guess you're interested in Game development.
Python is probably a very good start for getting used to OO programming which is everything in the gaming scene, AFAIK. If you have problems with the OO approach in general (I had and still have), you might like to have a look here and here. This tutorial was the best introduction in OO I have found so far.
Later, you might be interested in Irrlicht which is an Open source game engine. That's probably too much for a beginner but there are some nice and small tutorials available there.
Awesome, thanks for the offer Nerd. I'll definately send you a message if I get stuck somewhere.
Yeah I had always been interested in game development. I used to find myself able to program just about anything after learning game coding. *Remembers making lines go around the screen when I first got Qbasic* I guess I'm also the "If only there was a game where I could (insert happy game aspect)", then I start to get funny ideas in my head about programming again.
Many years ago I got into the Watcom compiler when that started to get popular. Back then it was pretty much just a text file and a few "build" commands. Seems like everything is different now however.
Those links are much appreciated. In those moments between work, school, wife and children I'll be chipping away at this mountain of info out there about Linux programming.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.