I don't disagree with you regarding the march of technology. I remember discussing this very idea a couple years back after Paul Graham wrote his Hundred-Year language essay. And, if I've given you the impression that I'm somehow looking to just work with old-style tools because the new-fangled crap is too darn modern, then I've explained myself poorly.

The Perl world is moving toward the use of declarative syntax for Class definition. (P6 Moose et al.) Now what if your DE reminded you when you coded a call to a method that it was still virtual and hadn't been implemented anywhere yet. Or that you just assigned a non-numeric constant value to a variable that later gets passed to a subroutine that will attempt to use it as a number. Sure, you'll find that out later when you compile or run the code, assuming that you exercise that particular path. But wouldn't it be nice to be notified as you did it Friday evening, rather than find out on Tuesday morning after the long weekend, when you try to integrate it with a bunch of other peoples code?

It is exactly this kind of thing that is leading me away from Perl 5 and towards languages like Haskell with their ability to do static analysis. I want this kind of checking. I try to write my code so that it (mostly) self-checks itself. I work as much with intelligent objects as possible so that I don't have to think about this crap.

This is what drew me to Perl in the first place, the fact that whole classes of bugs just cannot happen. Dangling pointer? Nope. SQL injection? Nope. Now, I'm looking for a tool that will eliminate even more classes of bugs, particularly bugs that don't fail quickly. Dangling pointers fail quickly - the whole thing dies. Type mismatch errors fail slowly. Things that fail slowly suck.

I guess what I'm saying is that I consider an IDE to be an indication of a language failing. If I need an IDE, that's because there's something screwy about the language I'm using and the way I'm using it. Given the plethora of languages out there, I should probably find a better language for what I'm doing. A language that doesn't have the failings I'm running into. In other words, I'm looking for Blub. Perl + IDE != Blub.


My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?

In reply to Re^9: Steve Yegge on how to build IDEs and improve speed of dynamic languages by dragonchild
in thread Steve Yegge on how to build IDEs and improve speed of dynamic languages by zby

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.