Why we need a good IDE ! (also about block comments)

new topic     » topic index » view thread      » older message » newer message

This is going to be a long post.....

   The discussion about block comments made it clear to me how
   much a good IDE is needed. It seems that many people here
   are programming for fun but are not really involved in contract
   programming or commercial product development.

   When you are programming just for the fun of it, or to create
   that little tool for yourself that you can't find anywhere, it's
   sufficient to have some kind of editor and a language based on
   some available interpreter or compiler. You code some stuff,
   run it to see if it doesn't crash and that's about it.

   In a large software project we talk about deliverables; the stuff
   that is going to be delivered from the project. And it's not only
   software. It includes system documentation, QA documentation,
   test case results, and much more.
   It is also important in large projects to have standardized
   procedures to build the deliverables. Most of this stuff is
   scripted with one or another system to ensure that the process
   is performed as specified over and over again.

   This is why I have been talking about a new IDE. It's not only
   the choice of language but also the availability/possibility
   to integrate that particular language into a controlled workflow.
   The term "Software Engineering" is all about this.

   Having worked for years with a very complete IDE (and still do),
   I still have wishes for certain functionality. This is why I am
   going to develop a new universal IDE. I want to be free from the
   choice of language (although I already adopted Euphoria to build
   this project) and I want to have the ability to use one intergrated
   system with several languages. The WinDev IDE that we are currently
   using is very good and has features galore, but it is also closed
   and has no options to integrate additional tools.

   The recent discussion on block comments and stuff missing in
   Euphoria has helped me with determining part of my requirement
   specification for this new IDE. Here is the first preliminary
   list of functionality that it should have for me:

   ---[ Must have ]---

   o  The IDE should be able to parse the base project file for
      include statements and add any called include file to the
      project tree automatically. It should do this recursively
      so that include-dependancies are clearly visible.

   o  The IDE should be able to parse all included files in the
      project for procedure and function statements, and build a
      reference list of available functions and procedures across
      the project. It should also build cross reference tables
      that show where a function is declared and where it is used
      across the project.

   o  The IDE should have support for extended inline documentation
      by means of specific statements embedded in comment tags that
      can be parsed to build full project documentation. This goes
      much further then block comments and actually makes that the
      current comment system in Euphoria is sufficient.

   o  The IDE needs to be scriptable itself so you can add external
      tools that integrate into the IDE. This will be needed to be
      able to execute build-procedures from the IDE for example.
      Euphoria example: automatically invoke the translator to
      translate Eu code to C and automatically have the C code
      compiled to executable.
      It should also be possible to run scriptable tools like
      installer builders from the IDE with automatic maintenance
      of the build scripts (i.e. the IDE must put the specific
      information into the tool scripts).

   o  The IDE needs to be able to track tasks that are linked to 
      bookmarks in the project files. This is a must for large
      projects that are handled by small project teams.

   ---[ Nice to have ]---

   o  A repository for graphics that is available across projects.
      Handy to build a default set of icons that you use in all your
      projects.

   o  A GUI layout developer that is universal and can generate
      code for any library or language by means of XML templates.

   o  Fully integrated version management (with DIFF functionality)
      for all project files.

   Of course there should be an editor involved in all this but I'm
   still thinking about if it should be included or to have the option
   to link in an editor of choice. Probably both.

    There's more to talk about, but for now I'll leave it with this.

Hans Peter Willems

new topic     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu