Re: [GD-General] Eiffel
Brought to you by:
vexxed72
From: Kent Q. <ken...@co...> - 2001-12-20 18:42:14
|
Brian Hook wrote: > But I digress (again). I'd like to see Extreme Programming as applied > to development environments/work flow, not just philosophy and the act > of typing in code. I don't want to deal with header files, precompiled > headers, and all the ugliness of separate files for interface and > implementation. I want the dependency analysis done by a custom tool. > I want the language to concentrate on structure, not details. Yadda > yadda yadda. I absolutely agree with this. I think the biggest problem with C++ is that it's tied to an obsolete linking model -- almost all its idiosyncracies arise because they didn't want to try to fix both the compilation and the linking at the same time. It's long past time that we should have to cope with broken linkers that make us be explicit about include files and dependencies. The compiler should just figure that out. We did this in MindRover's ICE language -- it's completely implicit linking. In fact, we went farther than Java did, and probably overdid it, because in our world it's hard to figure out the minimal set of components you need to ship your program to someone else! > Eiffel seems to promise a lot of this (which sparked this thread), but > I'm still suspicious of it because I've yet to see someone actually use > it then bag on it. Seems too good to be true, much like Obj-C (which, > as I've stated, just plain rules all...on OS X). > > As JC Lawrence mentioned, much of this is the argument of atomic vs. > monolithic, but in this case I'm arguing that monolithic is better > because the fundamental data has context that all the tools need to > access. Yeah, I know, convert to XML and pipe it through the command > line in a form all the tools understand. Bah. My wish is for a compiler that builds a database that the whole tool chain can use. But I don't want to be locked into a single-vendor solution, because their priorities will never be my priorities. In the ideal world, the database would be accessible through an API (preferably something like SAX so you could leverage XML knowledge) so you could write additional tools that didn't have to replicate the text processing of a compiler. In particular, the concept of explicit header files and declaring linkage & stuff is way obsolete, IMO. I think that Java is coming closer to this than most solutions...and you can find many different languages now that compile to a Java VM. Jython, for example. I like your vision of an integrated source environment, and if I had such a thing with a cross-platform target and a full set of libraries, I'd be pretty interested. But I've jumped on the flavor-of-the-month before (Icon, Smalltalk...got into C++ in 1988, which was at least 5 years too early, maybe 10...got into Java in 1995, which was again too early...) and now I'm wary of language and development platforms that don't have enough general interest to sustain a business. I might even go back and look at Smalltalk again -- there are some grownup versions of it around now. Whoever made the comment about "it's a poor workman who blames his tools" -- there's a HUGE difference between blaming your tools for poor results and wanting sharper tools. There may not be a magic bullet, but there sure as hell are more productive development environments. The question to me has always been whether that productivity on an individual workstation can translate effectively into productivity for delivery of a shippable consumer product. And just to get in my shot...to me, using emacs is like asking for a car and being told "here's a pickup truck full of spare parts -- if it doesn't meet your needs, you can take it apart and rebuild it all by yourself!" I don't have time for that much freedom. Kent -- ----------------------------------------------------------------------- Kent Quirk | MindRover: "Astonishingly creative." Game Architect | Check it out! ken...@co... | http://www.mindrover.com/ _____________________________|_________________________________________ |