[ale] C Compiler for Linux

JD jdp at algoloma.com
Fri Jun 24 22:33:12 EDT 2011


On 06/24/2011 05:09 PM, Ron Frazier wrote:
> Hi Rich,
> 
> Even though we've discussed some of this on the phone, I thought I'd
> share it with the group.
> 
> I've been threatening to relearn programming for 15 years, and I'm
> hoping to actually carry out the threat.  15 years ago, I programmed in
> Clipper, a C like database language.  I posted a thread a few months
> back on this list talking about developing in C#.  However, the people
> here convinced me that C++ would be better.  I now hope to plow through
> the book "Programming Principles and Practice Using C++" by Bjarne
> Stroustrup (the inventor of C++).  I'm hoping to do cross platform
> development.  I'm going to use Visual C++ Express on Windows, which is
> free.  On Linux, I've hit on the GCC compiler, as suggested by others. 
> I don't know how to use the make system, at this point, but compiling
> small programs with a few source files seems to be very simple.  I
> believe you can go through this entire book without an IDE.  I know that
> the gedit editor in Ubuntu does syntax highlighting and auto indention
> for C / C++ files.  I'll probably start out using that.  I may also try
> VIM as I've had just enough experience with VI in the past to be
> dangerous.  (I basically know the insert, delete line, and write file
> commands.)  Obviously, I would have to learn more about VIM for serious
> programming, but you can do a lot with just those commands, although not
> very efficiently.  By the way, this book also talks about a cross
> platform minimal graphics toolkit called FLTK (faster than light
> toolkit, I think) which can be used to put basic windows and buttons on
> the screen, etc.  When I graduate to an IDE, I'll probably try NetBeans
> or Eclipse.  I believe Eclipse can run on Windows too.
> 

You don't need an IDE and when you are starting out, it complicates and
hides things that you really need to know.  You need 3 terminals.

* Any good syntax highlighting editor in a window (vim, geany, or cough
emacs).  Geany does a halstat on functions and classes which is very
useful without all the bloat that java-based IDEs bring.
* in another term, use make
* debugger like gdb or xxgdb if you want a GUI.  I haven't done
debugging in years, so does xxgdb still exist?

You also want to use a version control system. These days I like BZR,
but GIT is useful too.

Vim is probably the most efficient editor ever created. You just need to
know how to use it. I've used many different editors of all sorts,
brief, spf-edit, emacs, vi, Visual C++, geany, notepad++, eclipse ...
none of them compare to vim in the hands of a power user.  I migrated
from emacs to vim when I kept changing into vi-mode to get things done.
Anyway, an editor is a very personal decision and you'll need to pick
the best for yourself.

You can start with simple bash scripts to build your initial projects.
It isn't like they will be all that large or take more than a few seconds.
make ... ah, make.  tabs matter.  Be certain that your editor isn't
"helping you" by replacing tabs with spaces. If that happens, your
Makefile will never work. I think gmake is the default make in Linux,
which is good.  It has been more than a few years since I wrote any
makefiles, but if you provide a sample and ask a question, I can help.
I may even have a makefile template around here on an old CD backup from
work ... long ago.


More information about the Ale mailing list