Re: [GD-General] Eiffel
Brought to you by:
vexxed72
From: Thatcher U. <tu...@tu...> - 2001-12-20 01:33:12
|
On Dec 19, 2001 at 04:13 -0800, Brian Hook wrote: > > Well, there's my favorite IDE, emacs. Supports every > > language you've ever heard of, and every feature (for better > > or worse). Not very fun to learn, though. > > Oooh, ooh, we're treading on dangerous ground here, so, um, I'll try to > be polite =) > > Emacs is great -- I used it exclusively from about 1991 to 1996. In > fact, I used OS/2 2.x ONLY because it had a good Emacs. > > But in the end, Emacs is a text editor, and I think that modern > programming is going to move us into custom tools, browsers, source code > analyzers, design analyzers, and all manner of stuff that isn't going to > be expressible as an Elisp function or an external command line tool. Whoah, I beg to differ. I mean, any computable function is expressible in elisp or even a shell script. I'm not saying it's the best tool for every job... (well, I'm thinking that, but not saying it out loud :) > I know that Emacs has managed to do much of this so far through the > ingenuity of its design and its users, but I have this suspicion > that going forward that the "text only" model isn't going to work. > > For example, you can't build a Smalltalk like environment in Emacs > (at least, I don't think you can, but hell, I'm sure someone will > post a link to something similar =) ). Heh, try "emacs smalltalk" in google... Some people (that even I consider a little crazy) do surprising things with emacs. Like, did you know that emacs (er, XEmacs anyway) is a graphical web browser? > > I've heard this gripe a few times lately, and I really don't > > see it. What's wrong with files, really? Isn't it really > > C++'s declare-before-use that's the problem? > > The problem is more along the lines of a lack of global "see it all at > once" analysis. The in order parsing of various files, some with > "declarations" and others with "definitions", is obsolete. We have > computers to take away this kind of tedious bookkeeping, but instead I'm > the one that has to say "Oh, Foo is a class that I define elsewhere". > > In an ideal world you have class definitions that are just in some > browsable database. You then fill in the blanks on what they do, the > class invariants, preconditions, postconditions, etc. and then the tools > should be able to spit out a complete specification based on your code. I don't really see the difference... the filesystem *is* a browsable database. In a language like Java, the tools *do* spit out a complete spec based on my code; in C++ I write the spec by hand, but as I see it that's a language/compiler issue, independent of what text editor I used or where the code is physically stored. > The idea of manual comments becomes an artifact of a by-gone age. > Documentation is necessary, but manual comments (comment == "some text I > put here to explain this bit of code") should be fairly rare. Huh? Code somehow becomes magically less complex? > The build environment can then parse your entire architecture and > generate back end code, comments, dependency analysis, etc. all within > the confines of one environment that UNDERSTANDS the language, > frameworks and tools instead of just PARSING the language and its tools. > Emacs can be made to work with a syntax, but it can't be made to > understand what a language is trying to do. Hm, sounds like Lisp. If you just write everything in elisp, then you've already got this magical environment :) I'm not seriously saying that's the way to go (I'm not even thinking it this time :). In response to your general point, that good programming environments enhance productivity -- I agree completely. I just disagree with all your examples :) > The common complaint against this is that people wedded to Emacs, make, > grep, perl, etc. will find themselves at the mercy of whatever > environment is provided. I don't have a problem with this -- I'm > completely comfortable in MSDEV, ProjectBuilder, etc. I can make them > do what I need them to do, warts and all. But I do at least understand > their concerns, even if I do find them misguided =) I immersed myself in it a couple years ago, and still use it for some things every day for work, but in my experience MSDEV is a step backwards in a few critical areas. And MSDEV is relatively good for a GUI IDE, as far as I know. -- Thatcher Ulrich <tu...@tu...> http://tulrich.com |