IDEs, syntactic vs. semantic highlighting, etc. (was Re: What is your favourite IDE? Eclipse DLTK!)



John Joyce wrote:

On Apr 14, 2007, at 10:05 AM, Tim X wrote:

Todd Werth <twerth@xxxxxxxxxxxxxxx> writes:


I think one of the real potential benefits of a more sophisticated IDE is the
ability to move from basic syntax highlighting of code to something more like
semantic highlighting of code. While syntax highlighting is nice, syntax is
usually only an issue when first learning a language. Once you have experience,
help with semantic issues is probably more beneficial.

Tim


If you need semantic highlighting in Ruby code, then you're doing something wrong semantically. Ruby code should generally be short and sweet and well organized into lots of files. The code blocks should be pretty self descriptive. Semantic highlighting defeats the point of syntax highlighting: the ability to see mistakes by color!
I think we're starting to get into language design and language processor implementation issues here, and I'm all in favor of debating that. :) First of all, how many programmers *really* program in only one language? And how many programmers *really* program on a "team of one?" I'd venture to guess that the answer to both questions is "almost none".

I've been programming a long time, and there were in fact a number of times when I was on what were essentially one-person one-language couple-of-month projects. But the last time I can remember was a FORTRAN port of a finite element code I did in the late 1980s. Since then, nearly every programming project I've been part of has involved multiple programmers and multiple languages. And FORTRAN (77) is probably the last language I ever used where I could claim with a straight face that I knew *all* the syntax and semantics.

So that's why there *must* be IDEs. Nobody works *alone* and nobody knows it *all*. As I've said before, I think I can make a case for the Linux desktop as an IDE. I have my choice of two mainstream programmers' editors, vim and emacs, all of the languages (except Visual Basic), compilers, debuggers, Acroread, "info" and "man" to read the manuals (since I don't know all the syntax and semantics), SVN, CVS and a few other version control systems, and many other intra-team communications tools.

So ... syntactic highlighting? Aside from the two languages with more or less trivial syntax, Lisp/Scheme and Forth, I find it impossible to live without syntactic highlighting. I program in at least Perl, Ruby, R and "bash", plus a couple of obscure things I can't mention here. None of them have the same syntax. Code completion? Saves me a trip to the on-line manual! And I'd dearly love to have semantic highlighting! Since I still tend to think in assembler, I need something to get me up to a higher level. For example, I'd love an IDE that draws diagrams of my data structures for me. I'd love to be able to, for example, see a hash with keys and values right there on the screen.

But what I'd *really* like is a language and an implementation of that language that *was* an IDE! The closest thing to that I've ever seen is the intricate entwining of Lisp and Emacs, and that, in a kind of linear, one-dimensional, "auditory" way, is the core concept. But expand that -- data structures other than the linked list, two-dimensional and three-dimensional diagrams, color, stereo sound, animation. And, of course, it needs to be open source. :)

--
M. Edward (Ed) Borasky, FBG, AB, PTA, PGS, MS, MNLP, NST, ACMC(P)
http://borasky-research.net/

If God had meant for carrots to be eaten cooked, He would have given rabbits fire.


.



Relevant Pages

  • Re: Wild speculations about the "other" factors
    ... and no single language exposes all of them or ever will. ... while 99 % of the software dev community has gone West. ... Meanwhile the angst of over .NET syntax will only to apply to a tiny subset ... most Delphi programmers already have a mountain of code that they're going ...
    (borland.public.delphi.non-technical)
  • Re: Language to replace C
    ... I notice that you have abandoned a lot of C's syntax. ... I've been pondering language design issues for some ... new programmers that have never seen the language before. ... instead of char* argv, ...
    (comp.lang.c)
  • Re: About VS C++
    ... finding resumes with the ease of finding good programmers. ... played with the latest language for about a year or two gets the nod. ... represents about 5% of the software development process. ... syntax is the key to the long term success of software development, ...
    (borland.public.delphi.non-technical)
  • Re: New bytecode assembly language to play with
    ... learn the language very quickly, and can even guess at syntax without ... When I said "syntax isn't important" I didn't mean "syntax isn't ... one that introduces new functionality, i.e. it's not just another way ... pick a syntax that a large proportion of programmers are ...
    (comp.lang.misc)
  • Re: What is this code doing?
    ... Using the same syntax for most statements helps make the ... add, ebx); ... Instruction composition readability is another reason ... Jim Neil's Terse language). ...
    (alt.lang.asm)