Re: Recommend IDE for coding in C -- some historical context
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
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
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
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