Click to See Complete Forum and Search --> : Beginning Development under Linux


perfectly_dark
08-28-2004, 01:36 AM
Hello,

I've decided that I want to start developing stuff on Linux. I've been using Windows/Visual Studio for a while now so I have very little knowledge of the Linux way of things (I know almost nothing about makefiles and configuration scripts). I'm trying to use KDevelop and I think I'll need to learn abit about the process. Does any one have a link to some good reading on moving from Windows Programming to Linux? Or just a beginners guide to programming using Linux?

Thanks in Advance

gehidore
08-28-2004, 02:34 AM
dont hate me

google.com/linux

janet loves bill
08-28-2004, 02:59 AM
http://www.tldp.org/

look thru the how-to's and user guides to get started.

duncanbojangles
08-28-2004, 03:06 AM
Well, it depends on what you want to do. If you are working on a truly large program, then I would suggest KDevelop or the Eclipse IDE. But, if your project is fairly simple, you can do pretty much everything you need to with the Kate text editor. It has a built in shell, syntax highlighting and code folding (I don't think that's the phrase I'm looking for), you can open multiple files and the "workspace" will be saved on exit. You should first look for a tutorial on GCC and makefiles. That's pretty much all you need to know!

perfectly_dark
08-28-2004, 10:28 AM
Gehidore, I don't hate you ;) I've already checked google.com/linux but the results weren't very good. I forgot about tldp, thanks "janet loves bill".

Duncanbojangles, I like to use IDEs so I'm probably gonna stick with KDevelop. I'll google GCC and makefiles, that will probaby improve my results (why didn't I think of that?). Do you know of any good tutorials specifically?

Thanks for all the replies

chrism01
08-28-2004, 11:19 AM
you might find some relevant stuff here: http://www.comptechdoc.org/os/linux/, possibly here also: http://www.mamiyami.com/document/oreilly/
HTH

bwkaz
08-28-2004, 01:00 PM
Also, the Autoconf, Automake, and Libtool (http://sources.redhat.com/autobook/autobook/autobook.html#SEC_Top) reference is a good one. Most of the time, writing a Makefile from scratch is not the way to go, because your Makefile won't always work on other systems.

Autoconf is the solution for this problem. Instead of writing a Makefile, you write a Makefile.in that has a bunch of substitution strings in it. Then you write a configure.ac (note that the above tutorial uses configure.in, but you're now "supposed" to use configure.ac) file that describes what tests you want your configure script to run. Then you run autoconf to generate a configure script, which will run its tests and then perform the substitutions required by your Makefile.in files.

But writing a Makefile.in is also tedious (they're just as long as normal Makefiles). That's where Automake comes in. Instead of writing a Makefile.in, you write a Makefile.am that contains only lists of files to build, and their dependencies (and if you need to use a tool that Automake doesn't understand, then you also need to put the tool's invocation into the Makefile.am). Then you run automake to generate your Makefile.in files.

There are other tools that help with this, also -- autoreconf is a tool to automatically figure out which of aclocal, automake, autoconf, gettextize, etc. needs to be run on your source package, and runs them. This is something you will want to run before putting your package up for download (because the outputted configure script and the Makefile.in files will work on just about any system, but you often need the proper version of autoconf and automake to generate them from your particular Makefile.am's and configure.ac).

perfectly_dark
08-28-2004, 01:07 PM
Thanks bwkaz, very interesting link.

chrism01, thanks for links, liked the O'Reilly bookshelf thing but I got a 404 on the first link.

comtux
08-28-2004, 10:05 PM
What i have used.

Visual Basic Likes
-----------------------------------
Gambas
HBasic
Phoenix
Yabasic
Script Basic


Tcl
-----------------------------------
Visual Tcl
Spectcl


Delphi
----------------------------------
Kylix
Lazuras


Gui Shell
----------------------------------
Kommander

Python/Perl/C/C++
----------------------------------
Kdevelop & Qt
or Boa Constructor for python

Suminigashi
08-29-2004, 01:52 AM
I suggest getting the book: Beginning Linux Programming by Neil Matthew and Richard Stones. It has a good variety of information on various topics in linux programming and would be a good start (assuming you know some C). I found my copy at Barnes & Noble.

chrism01
08-30-2004, 10:06 AM
If you just click on the first link directly, it'll try to include the comma at the end of that clause.
You'll have to copy/paste it :)

duncanbojangles
08-31-2004, 10:16 PM
Originally posted by Suminigashi
I suggest getting the book: Beginning Linux Programming by Neil Matthew and Richard Stones. It has a good variety of information on various topics in linux programming and would be a good start (assuming you know some C). I found my copy at Barnes & Noble.

That is an excellent book! I highly recommend it! I had forgotten about it since I lent the book to my friend so he could learn from it. It has pretty much everything you need: A primer on GCC, makefiles, debugging with gdb, command line arguments, and all sorts of other things. It's definitely worth the money.

perfectly_dark
09-01-2004, 12:55 AM
thanks very much for all the replies :)

perfectly_dark
09-01-2004, 05:59 PM
I bought eginning Linux Programming, looks very good upon first read...I just hope I can get through it, I usually buy the book and never get further than the intro due to lack of time and change of interests...:)