Recommended Linux App Prg environment??

Christopher Browne cbbrowne at acm.org
Mon Jan 28 17:45:43 EST 2002


philh at comuno.freeserve.co.uk (phil hunt) writes:
> On Mon, 28 Jan 2002 14:41:54 -0500, Mike Hammock <mhammoc at ibm.net> wrote:
>>This looks like a good place to ask a question that will probably
>>cause a bit of 'discussion'.  What is the "best" Application
>>programming environment (IDE) for general Linux application
>>programming??  I realize "best" is very relative,

> Indeed so.

>>so let me give some some factors to consider:

>>- Programs will be reasonably simple, with probably a couple of user
>>interface panels (GUI) and possibly communicate with another system
>>via TCP/IP Sockets.  (No major DB functions expected to be
>>required).

>>- No Heavy graphical or audio requirements (not a 'game' type app)
>>- Don't anticipate any need for Web access or delivery.
>>- "Visual" development would be nice, but not necessary.
>>- KDE or Gnome target

> Python is pretty good for what you are looking for, if blinding
> speed isn't necessary. (If it is necessary, choose C or C++).

> Python has GTK and KDE support, as well as other widget sets such as
> Tk and wxWindows.

> Python also has extensive libraries for sockets and other aspects of
> networking.

Good thoughts, all.

>>- My Background:
>>   - Have programmed (system and Apps) on mainframes and PCs using
>>     Fortran, COBOL, PL/1, Assembler (several machines), Pascal, C,
>>     REXX, BASIC (normal and Visual) and APL (long time ago).
>>     (I've looked at/played with C++ and Java, but I think I'm getting
>>     too old to get into OO).

> If you want to do GUI programming, you pretty much have yto learn OO
> to some extent. KDE apps are written natively in C++, and there are
> ports to other OO languages like Python.

> GTK is written in C, but in a way that uses lots of OO concepts.

I'm not sure that I can point to _any_ GUI framework that _isn't_
pretty heavily "object oriented."

The only ones that _might_ avoid OO might be to look to SVGAlib or
some of the OpenGL libraries which provide relatively bald procedural
schemes for drawing things.

As soon as you start looking at "GUI widgets" that have the slightest
bit of "life of their own," it's down the OO trail for you...

>>   - I'm getting pretty good at learning new languages/tools, but
>>   the less new 'stuff' I have to learn, the better.

> If you want stuff you are familiar with, C is very important
> language for Linux and Unix systems.

Yup.

>>- Free or inexpensive would be nice, but willing to pay for
>>productivity if a tool/system really delivers it.

> The stuff you can get for free is good quality, so I see little
> point in paying for it.

Yup.

>>So, what do you think??   What what should I be looking at??

> I personally use Python for pretty much everything, it's my default
> language these days.

> <http://www.python.org/> for details.

GCC is obviously available freely.

The construction of a "development environment" consists of bringing
together some set of useful tools, such as:

a) Language(s)

b) Text Editor

   Where the "traditional two" are Vi and Emacs, and people get into
   battles over "which is best" which is really a fairly personal
   matter.

c) Source code management tools

   RCS, CVS being the canonical examples, though there are some newer
   possibles...

d) Build management tools

   Make being canonical, though the (Python-related) Software
   Carpentry project has started reaping some fruit in terms of tools
   a bit more carefully designed than Make...

e) Perhaps some portability tools

   Autoconf, automake, and such may be relevant, down the road, though
   almost certainly _not_ for a first project...

-- 
(concatenate 'string "cbbrowne" "@ntlug.org")
http://www.ntlug.org/~cbbrowne/x.html
"Listen,  strange women, lyin'  in ponds,  distributin' swords,  is no
basis  for a  system of  government. Supreme  executive  power derives
itself from a mandate from  the masses, not from some farcical aquatic
ceremony."  -- Monty Python and the Holy Grail



More information about the Python-list mailing list