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've been writing programs since I was 7, unfortunately only on dos annnd windows. I've used borlands tools including assembler, turbo c, turbo c++, turbo pascal, delphi, c++ 4.5, and even tried out c++ builder and jbuilder. but i've gotten so used to having an ide and if i needed to know something it was all in the help, I dont know where to start using gcc. is there some sort of reference i could use?
This is without a doubt the most useful resource I've used when programming in Linux: glibc manual
Also available as info libc, or info:libc in the address bar of Konqueror if you have KDE. The manpages for specific functions are a very close second, followed by info gcc and info ld.
I also think learning to program in Linux using an IDE will really hurt your programming skills. I've done some fairly large projects and I still don't use an IDE; just Kate and a terminal emulator (although Kate has quite a few advanced features.) You really need to know how the build system works to get good at Linux-specific programming and you can't pick that up if the IDE does all of that for you. Plus, you need to have a way out if the IDE doesn't work correctly or doesn't do what you need done.
Kevin Barry
PS I have to admit that seeing what questions are asked in this forum lead me to research several things I wouldn't have known about otherwise.
There is as sticky thread List of Free Software and Freeware IDEs which will give you some idea of the IDEs that are available. I don't subscribe to the view that using an IDE will hurt your programming skills, the various tools that the IDE brings together are just that tools and you can learn them when you have time, but if you just want to get up and program then learning to use an IDE can certainly help.
If you are running KDE then I'd recommend that you look at KDevelop. (I actually use it under gnome)
One thing to consider when dealing with Linux programmer-tools is that these folks are often working with several fundamentally different programming languages at the same time, on the same project. So, the systems are not nearly as tightly-coupled as what you may be used to in Windows.
Whereas Windows basically does not come with any programmer tools, every Linux system on the planet might have a half-dozen available by default ... all free ... with many, many more (also free) at your beck-and-call.
"Look out! We have a choice, and we're not afraid to use it!"
Last edited by sundialsvcs; 03-22-2009 at 09:33 PM.
It also depends on what sort of programmer you are. Many people choose practical problems that are in need of solving; that's how a lot of open-source software comes about. I generally set out with some sort of lofty practical goal and get sidetracked for years at a time and end up learning things I never knew about when I started. In general I give myself an arbitrary starting point of something I find interesting and acknowledge that I probably will never finish it, but will come up with something "better" instead. If you're not like that, you might want to look around some of the open-source hosting sites for "help wanted" and see what you can contribute to. That's really a good way to learn because you'll have specific problems you need to learn how to solve.
Kevin Barry
Last edited by ta0kira; 03-22-2009 at 09:40 PM.
Reason: removed pesky "
I've been writing programs since I was 7, unfortunately only on dos annnd windows. I've used borlands tools including assembler, turbo c, turbo c++, turbo pascal, delphi, c++ 4.5, and even tried out c++ builder and jbuilder. but i've gotten so used to having an ide and if i needed to know something it was all in the help, I dont know where to start using gcc. is there some sort of reference i could use?
try search, googled: "linux programming IDE".
Should show a few. Now, if your just wanting to "ripbit", then serpantine spins goodest.
I helps understand the differences in C programming using the GNU library vs Classic Unix C programming. It also has some code for early Unix commands and explains how they work.
Look under Utilities -> Editors in KDE. You probably have it in Slackware, but I had to apt-get it in Unbuntu specifically. Not sure about other distros.
Kevin Barry
You should do, but you seem to be in a better place than me to tell definitively. For me, in kde4 it was in kde4-kate and for kde3 in kdeaddons-kate, so the name of the meta-package (actually that's the wrong term, but I'll assume that you know what I mean) might vary a bit, and normally you would get it 'automagically' with kde, but if not, it should be easy to add.
'locate kate' (assuming that you use locate) should show up things like:
/usr/share/kde4/apps/kate
/usr/bin/kate
(and a load of other crud). (On an rpm distro, rpm -qa |grep -i kate would show all packages with kate in the name, but you probably aren't talking about rpm.)
And, to the OP, there's nothing wrong with typing 'man gcc', just don't expect to get a tutorial, more a cheat sheet of the useful options.
It also depends on what sort of programmer you are. Many people choose practical problems that are in need of solving; that's how a lot of open-source software comes about. I generally set out with some sort of lofty practical goal and get sidetracked for years at a time and end up learning things I never knew about when I started. In general I give myself an arbitrary starting point of something I find interesting and acknowledge that I probably will never finish it, but will come up with something "better" instead. If you're not like that, you might want to look around some of the open-source hosting sites for "help wanted" and see what you can contribute to. That's really a good way to learn because you'll have specific problems you need to learn how to solve.
Kevin Barry
I started out on "delphi for windows" on windows 3.11 on a dual 386 when i was 7 from teach yourself delphi on 31 days. my method is more like i learn something new, then i try to figure out what i can do with it, along the way i learn a lot more. the only 3 programs i really wrote that i was intending on writing before i sat down to the computer was a basic screensaver, a typewriter program that took keyboard input and put it streight to lpt1 where i had a ibm dotmatrix printer written in assembly code, and a program compiled in both dos and linux and written in c and delphi that reapeatedly xors each character of a password string with each character of a message string(which was unfortunately lost due to the fact that i saved it to a 5 1/4" and my drive went bad).
All of the question about where/whether Kate (or almost any other editor, IDE, or other GUI tool) exists, points to the fact that vi is about the only text editor that is virtually guaranteed to be present on any Linux/Unix host. Learning the basics of vi will serve you well if you are going to be involved in Linux as a programmer or Sys-Admin for any length of time.
My take on IDE's is that they are great as long as they are actually helping to reduce complexity. When you are at a low spot on the learning curve, they are a component that actually adds complexity, and are therefore counterproductive. When I've had to sit down at an unfamiliar IDE, I have always found myself wondering whether the problem I was trying to solve at any particular instant was actually part of the overall, real problem, or simply a lack of understanding of the tool. If possible in these circumstances, I felt a lot more comfortable when I could jump back to good old commandline tools and Makefiles, which are a lot closer to the mainstream of my knowledge base, and are revealing, rather than concealing.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.