ftp.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/11/30/23:35:45

From: shaman AT nlc DOT net DOT au
Newsgroups: comp.os.msdos.djgpp
Subject: Idea for powerful IDE
Date: Sun, 01 Dec 1996 14:37:44 +1100
Organization: NHJ NORTHLINK COMMUNICATIONS
Lines: 104
Distribution: inet
Message-ID: <32A0FD87.66AA@nlc.net.au>
Reply-To: shaman AT nlc DOT net DOT au
NNTP-Posting-Host: dialine17.nlc.net.au
Mime-Version: 1.0
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

I've noticed that a lot of compilers/IDEs are still in the ice ages
where code organisation is concerned. Even the most expensive IDEs
cannot do much more than a simple text editor. Some can automatically
reformat each line so it looks neat (VBasic) and some can check for
simple things like missing brackets and auto-highlight code, but this is
all quite simple. When projects are being made by several people, most
IDEs do not have features to help out. Some examples of things that irk
me:

* Have you noticed that linkers will link an entire object file even if
you only use a single function in it?
* A lot of programming is playing about with a small section of code
over and over again. Backup files are useless if you do it more than
twice. I want to be able to backup a selected area(s) of code and
restore them at will in case the mucking about wasn't too good.
* I want to be able to get to the function I'm interested in without
flipping through pages of code. Why can't IDEs put each function/class
on it's own? (Visual Basic does this)
* What if several people are working on the same project? Keeping
everyone's version of the code up to date is a bitch, compiling is
difficult at best and with very large projects it becomes a total
nightmare. No wonder projects like Windows 95 are so badly organised.
* Why can't compilers automatically notice and warn me about common
mistakes like leaving out semi-colons at the end of class declarations
using colored highlights?
* Why can't ALL the files of a project, including the project be kept in
a single file that the IDE edits with bits of it exported as necessary?
Eg: I could export everything into .h and .cc files or the IDE would
automatically export everything necessary into a temp dir when
compiling.
* Why aren't there nifty features in compilers like being able to see
what a typedef/constant/macro actually is in a seperate window just by
moving the cursor over it?

	Considering people are thinking of porting RHIDE to Win95/97, wouldn't
it be smarter to make an IDE that is head and shoulders above the rest
and can invoke other compilers (Including DJGPP of course) by exporting
the appropriate files? Some features I would like to see in an IDE:

	* If I write a full class declaration, the IDE would parse it and
automatically create all the empty functions, so I won't have to do half
an hour of cut and pasting, removing and adding things, etc.. (Like
putting the xxxx:: in )

	* The IDE could transparently create things like semi-unrolled loops.
This would make the code more readable, but compilers wouldn't have to
be changed. Eg: If I wrote:

	for ( int i = 1; i < count; i++ ) [x16]
	{
		doSomething( somedata );
	}

Then the IDE would export that as a loop that executes the loop 16 times
before making a compare. (An [x8] loop would look like this:)

{
    int i = count;
    if ( i > 16 )
    {
        for (; i > 8; i-=8 )		// main loop.
        {
			
        }	doSomething( somedata );
    }
    for ( ; i; i-- )				// cleanup loop.
    {
	doSomething( somedata );	
    }
}


* The IDE could support multiple programmers by allowing coders to
simultaneously edit the same project file. The file would be stored on a
central server and if one person starts modifying a class/function,
he/she would "freeze" it while editing. This would mean that others can
compile using the original code, but the person editing it would compile
with the new, edited code. When the person is finished, he/she would
unfreeze the block and it would be updated. 
* The IDE could keep track of who last modified each part, who wrote it
originally, etc.. If something becomes obscure it would make finding the
original coder easy.
* The IDE should read in and interpret any headers and automatically
detect any identifier name conflicts. (Not always possible)

* I wonder if it would be possible for a compiler/IDE to link individual
functions instead of entire object files. This would mean the compiler
and the linker would have to modified somewhat to be able to recognise
inter-dependencies.

	etc, etc.. I'm sure everyone can think of hundreds of things that
annoys them about compilers/IDEs..

	So.. anyone feel like making and IDE this good? 8)

-- 
                                       . . .   the Lord Shaman
      
------------------------------------------------------------------
          Your conscience does not prevent sin. It merely prevents you
                               from enjoying it.
          http://www.nlc.net.au/~shaman  or  mailto:shaman AT nlc DOT net DOT au
      
------------------------------------------------------------------

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019