Re: Recommend IDE for coding in C -- some historical context

2013-03-21 Thread Hendrik Boom
On Wed, 20 Mar 2013 13:13:00 -0400, Buddha Buck wrote:

 Paul,
 
 As should be clear from the other responses, there's no clear if you
 work in C/C++, then this is the IDE you should use.  Both languages
 have been around for a very long time (C since the early 1970's, C++
 since the mid 1980's), and have been used across a large number of
 different environments, there's no category-killer.
 
 Both C and C++ are old enough languages that they have a certain amount
 of cruft in their design with makes it hard for IDEs to get their hooks
 into them to provide advanced services.

The macro preprocessor for C/C++ really gets in the way of an external 
program making sense of the code.

...
...

 
 It should be noted that in Linux/Unix, all the development tools are
 command-line based, and so any IDE is going to call make, gcc, git, gdb,
 javac, etc behind the scenes anyway to do the actual work.

And C was originally invented jointly with a command-line Unix system.  
So using it this way fits with tradition.

 
 So which you choose is more a matter of taste than functionality. 
 Everyone is going to prefer the one they are most familiar with.
 
 That said, here are the choices I can speak to:
 
 Emacs -- This is an old extensible text editor, nearly as old as C. 
 Since it is older than most windowing interfaces, it is very much geared
 towards usage on a terminal -- keyboard based commands, fixed window
 size, monospace type, etc.  It has, in the past decade or so, added some
 ability to be used with a mouse, but the keyboard is really the way to
 use it.
  Since it is designed to be extensible (it uses elisp, a language
  similar
 to the Guile language GnuCash uses), it has a lot of features available
 (in the 1980's it's desktop icon was a kitchen sink).  As far as an IDE
 goes, it provides all the basic hooks so you don't have to leave the
 program in order to develop, and it has support to handle a large number
 of languages.
  Emacs has a reputation for being heavyweight and larded with features,
  but
 I've found that compared to modern editors with a fraction of the
 capabilities, it's rather lightweight and spry.  The old joke that the
 name means Eight Megabytes And Constantly Swapping is meaningless when
 your browser can take a gig of memory.

What emacs accomplished in those early days was to be a UI for text 
terminals.  You had multiple 'buffers', which could be put in differennt 
places on the screen, or placed in the background to be recalled later.  
Some buffers would contain files t edit, others aould act as command-
language terminals, and so forth.

Emacs  i those days was as much of a way of life as desktop GUIs are now.

That's why it was big.

But compared to today's memory hogs, it's tiny.

 Vi -- This is almost as old as Emacs, but wasn't originally written to
 be quite as extensible.  Like Emacs, it's text-and-keyboard oriented. 
 It provides syntax highlighting, but I'm not sure about hooks to other
 tools.
  I don't use it for development myself, that much.  It has always been
 considered lightweight compared to Emacs.

The first time I saw vi, it was already on a system that had mouse-and-
windows.  Whether vi or X windows was first, I suspect that functionality 
that might have drifted into vi got placed in the window system instead.

-- hendrik

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Recommend IDE for coding in C -- some historical context

2013-03-21 Thread Buddha Buck
On Thu, Mar 21, 2013 at 2:31 PM, Hendrik Boom hend...@topoi.pooq.comwrote:

 On Wed, 20 Mar 2013 13:13:00 -0400, Buddha Buck wrote:

  Paul,
 
 
  It should be noted that in Linux/Unix, all the development tools are
  command-line based, and so any IDE is going to call make, gcc, git, gdb,
  javac, etc behind the scenes anyway to do the actual work.

 And C was originally invented jointly with a command-line Unix system.
 So using it this way fits with tradition.


Yup.  Worse, from an editing/developing standpoint, the standard terminal
was a teletype terminal, a combination printer and keyboard that usually
printed at the rate of about 4 characters/second (45 Baud).  This virtually
demanded a terse command line syntax and the bare minimum of excess output.

  Emacs has a reputation for being heavyweight and larded with features,

   but
  I've found that compared to modern editors with a fraction of the
  capabilities, it's rather lightweight and spry.  The old joke that the
  name means Eight Megabytes And Constantly Swapping is meaningless when
  your browser can take a gig of memory.

 What emacs accomplished in those early days was to be a UI for text
 terminals.  You had multiple 'buffers', which could be put in differennt
 places on the screen, or placed in the background to be recalled later.
 Some buffers would contain files t edit, others aould act as command-
 language terminals, and so forth.


It still does those things, which is still very, very useful.



 Emacs  i those days was as much of a way of life as desktop GUIs are now.

 That's why it was big.

 But compared to today's memory hogs, it's tiny.

  Vi -- This is almost as old as Emacs, but wasn't originally written to
  be quite as extensible.  Like Emacs, it's text-and-keyboard oriented.
  It provides syntax highlighting, but I'm not sure about hooks to other
  tools.
   I don't use it for development myself, that much.  It has always been
  considered lightweight compared to Emacs.

 The first time I saw vi, it was already on a system that had mouse-and-
 windows.  Whether vi or X windows was first, I suspect that functionality
 that might have drifted into vi got placed in the window system instead.


X was started as a project in 1984 at MIT. Both Emacs (from MIT) and vi
(from Berkeley) were first written in 1976 or so.  Both Emacs and vi came
out of a desire to make line or tape oriented editors easier to use on the
new-fangled CRT displays.  Emacs was originally a set of macros for the
TECO (Tape Editor and COrrector) editor, while vi started as the new VIsual
mode for the standard Unix text editor ex, which in turn was an enhanced
version of the older Unix text editor ed (both of which are very powerful
for editing stuff on a teletype).  TECO already had the concept of being
able to write macros (a sequence of commands that could be bound to a
single key), which ex didn't (or didn't use as much), so making Emacs
extensible in the same way was an obvious thing to do.  On the other hand,
the original goal of vi was to make ex commands easier to see what they
were doing.



 -- hendrik

 ___
 gnucash-devel mailing list
 gnucash-devel@gnucash.org
 https://lists.gnucash.org/mailman/listinfo/gnucash-devel

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Recommend IDE for coding in C -- some historical context

2013-03-21 Thread Hendrik Boom
On Thu, Mar 21, 2013 at 02:56:04PM -0400, Buddha Buck wrote:
 On Thu, Mar 21, 2013 at 2:31 PM, Hendrik Boom hend...@topoi.pooq.comwrote:
 
  On Wed, 20 Mar 2013 13:13:00 -0400, Buddha Buck wrote:
 
   Paul,
  
  
   It should be noted that in Linux/Unix, all the development tools are
   command-line based, and so any IDE is going to call make, gcc, git, gdb,
   javac, etc behind the scenes anyway to do the actual work.
 
  And C was originally invented jointly with a command-line Unix system.
  So using it this way fits with tradition.
 
 
 Yup.  Worse, from an editing/developing standpoint, the standard terminal
 was a teletype terminal, a combination printer and keyboard that usually
 printed at the rate of about 4 characters/second (45 Baud).

The slowest I ever encountreed in the 60's was 110 boud, about 10 
characters per second.  But for typing, the old KSR teletypes required 
so much force that it may well have taken superhuman finger strength to 
enter more than about 4 characters per second, whatever the baud rate.

 This virtually
 demanded a terse command line syntax and the bare minimum of excess output.

And it's why the common Unix commands are so cryptically short.

 
  What emacs accomplished in those early days was to be a UI for text
  terminals.  You had multiple 'buffers', which could be put in differennt
  places on the screen, or placed in the background to be recalled later.
  Some buffers would contain files t edit, others aould act as command-
  language terminals, and so forth.
 
 
 It still does those things, which is still very, very useful.

Yes.

 
 
 
 
 X was started as a project in 1984 at MIT. Both Emacs (from MIT) and vi
 (from Berkeley) were first written in 1976 or so.  Both Emacs and vi came
 out of a desire to make line or tape oriented editors easier to use on the
 new-fangled CRT displays.  Emacs was originally a set of macros for the
 TECO (Tape Editor and COrrector) editor,

Yes..  But it's not the one we have now.  Richard Stallman had a 
copyright dispute with MIT, which resulted in MIT taking his emacs
proprietary.  He has an early free-software licence in the emacs manual, 
declaring emacs to be free, and MIT decided that it was work-for-hire 
and took it over.

THis was one of the events on the way to his GNU public license ans the 
dree software foundation.  As I understand it, one of the first pieces 
of GNU software was a new emacs, this time based on a Lisp dialect.  The 
result was the emacs we have today.

-- hendrik
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Recommend IDE for coding in C -- some historical context

2013-03-21 Thread Ted Creedon
Vi replaced Ed (Editor)

tedc

On Thu, Mar 21, 2013 at 1:41 PM, Hendrik Boom hend...@topoi.pooq.comwrote:

 On Thu, Mar 21, 2013 at 02:56:04PM -0400, Buddha Buck wrote:
  On Thu, Mar 21, 2013 at 2:31 PM, Hendrik Boom hend...@topoi.pooq.com
 wrote:
 
   On Wed, 20 Mar 2013 13:13:00 -0400, Buddha Buck wrote:
  
Paul,
   
   
It should be noted that in Linux/Unix, all the development tools are
command-line based, and so any IDE is going to call make, gcc, git,
 gdb,
javac, etc behind the scenes anyway to do the actual work.
  
   And C was originally invented jointly with a command-line Unix system.
   So using it this way fits with tradition.
 
 
  Yup.  Worse, from an editing/developing standpoint, the standard terminal
  was a teletype terminal, a combination printer and keyboard that usually
  printed at the rate of about 4 characters/second (45 Baud).

 The slowest I ever encountreed in the 60's was 110 boud, about 10
 characters per second.  But for typing, the old KSR teletypes required
 so much force that it may well have taken superhuman finger strength to
 enter more than about 4 characters per second, whatever the baud rate.

  This virtually
  demanded a terse command line syntax and the bare minimum of excess
 output.

 And it's why the common Unix commands are so cryptically short.

  
   What emacs accomplished in those early days was to be a UI for text
   terminals.  You had multiple 'buffers', which could be put in
 differennt
   places on the screen, or placed in the background to be recalled later.
   Some buffers would contain files t edit, others aould act as command-
   language terminals, and so forth.
  
 
  It still does those things, which is still very, very useful.

 Yes.

 
 
  
 
  X was started as a project in 1984 at MIT. Both Emacs (from MIT) and vi
  (from Berkeley) were first written in 1976 or so.  Both Emacs and vi came
  out of a desire to make line or tape oriented editors easier to use on
 the
  new-fangled CRT displays.  Emacs was originally a set of macros for the
  TECO (Tape Editor and COrrector) editor,

 Yes..  But it's not the one we have now.  Richard Stallman had a
 copyright dispute with MIT, which resulted in MIT taking his emacs
 proprietary.  He has an early free-software licence in the emacs manual,
 declaring emacs to be free, and MIT decided that it was work-for-hire
 and took it over.

 THis was one of the events on the way to his GNU public license ans the
 dree software foundation.  As I understand it, one of the first pieces
 of GNU software was a new emacs, this time based on a Lisp dialect.  The
 result was the emacs we have today.

 -- hendrik
 ___
 gnucash-devel mailing list
 gnucash-devel@gnucash.org
 https://lists.gnucash.org/mailman/listinfo/gnucash-devel

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel