QuickTopic free message boards logo
Skip to Messages


"Daddy, Are We There Yet?" Alan Kay's talk at ETCON

^     All messages            4-19 of 19  1-3 >>
secret agent toastPerson was signed in when posted
04:20 PM ET (US)
jleader; you point is valid about moore's law making it possible for *me* to have access to thie new CAD system; but it doesn't apply to the *design* of such systems IMHO.

See, until recently, CAD for Architects hadn't 'taken it's own form'. It bascially was all about drawing stuff on the computer. It was primarly bottom-up and vector-based. Not a good match at all. But a shift to a top-down, object-based system means as much to us Architects as Photoshop did to Graphic Design: it's a fundamental shift.

This is because, before Revit came along, all the CAD programs were focused on *drawing things* rather than *mananging things*. Drawing is a very minor part of my job, overall, keeping track of what goes where when, and why, is a lot bigger. Architecture is lots of planning and coordnation, and the CAD systems, being about drawings, didn't do jack to help us that that task. But being database-driven and OO we can now have the CAD system aid greatly with the coordniation and the where/why/when. In Revit, I don't draw two lines and then say "ok, that's a wall, because it's on the wall layer (which is arbitry- AutoCAD isn't aware of what the layer names mean)" and then (manually) tag it and say "ok, it's a retaining wall" and then have on my wall schedule/detail say "OK, that retaining wall is made out of concrete". These are different drawings, mind you, that don't talk to each other, so if I chagne something in one place, it's not gonna update the others, for it's all just dumb text and lines. I have to keep track of all those things, and change them by hand, because the poor design of the software puts the burdon of change on me- a job that the computer could easly do, if it was designed right. But in Revit, I say "OK, I've got a wall, it's a retaining wall, it's made out of concrete, it's 12" thick, goes from the first floor to the second floor and from here to there". Now, when I key that wall, Revit will fill the key out for me, because Revit understands what that wall is. When I make a detail/schedule of that wall, it will draw most of it for me, because Revit understands what concrete retaining walls look like. And if, in plan, I select that retaining wall and say to Revit "OK, now you're not a concrete retaining wall, now you're a Masondry wall with stuccho on the outside and drywall on the inside" Revit will change the wall in plan; but also in the key, detail, and anywhere else that wall is represented. This is a huge time saver as you can well imagine; and most people seem to assume that we've been working with systems like this all along :)

But over in the mechnical engineering industry, the've had CAD systems that do these kinds of things for over ten years! Where everything's OO and you can change things and have other things react to those changes. There was a MAJOR shift in the Mechnical CAD world ten years ago to model 3D based OO systems. We Architects are now *just* starting to catch that wave, and that's because someone finally designed a 3D cad system for Architects that doesn't suck (too bad).

So that's why I feel that things are somewhat 'boring'. Because I've seen systems TEN YEARS AGO do the things for mechanical engineers that I've wanted to be able to do with my software, but couldn't, because my software sucked ass. And there wasn't any other software available, due to market pressures and AutoDesk's relitive monoply (and slow-as-mollasis development- they didn't make Revit, they bought it out so it wouldn't threaten thier market) on the west coast AEC CAD market. So, in this case, I feel that it really was about bad design and bad market pressures that these systems weren't available for Architects until very recently.
jleaderPerson was signed in when posted
02:18 PM ET (US)
Chris, I'm not sure exactly what Kay meant, but there _are_ Java systems that compile and load new code on the fly when they see it; pretty much every Java Server Pages implementation does that. When they see a new .jsp file (or notice that the timestamp on an existing file has changed) they parse it, convert it into Java code, compile it, and (re)load it into the currently running program. I've also seen ClassLoader implementations that allow creation of arbitrary new code in memory at runtime, without using the filesystem at all.

Admittedly, Java's Reflection API doesn't allow arbitrary fine-grained changes to running code. Self-modifying code is a fairly powerful tool, but it's also a tremendously dangerous one, at least if you want robust programs.

Toast, I think you're being a little harsh when you blame the lack of powerful 3D software until recently on "lack of creativity on the part of developers". Do think that the fact that computers are roughly one million times faster now than they were 30 years ago might have something to do with why this sort of thing is only affordable now? Sure, Kay and Sutherland and others demoed 3D software, running on the most powerful supercomputers available at the time, that could manipulate a single wireframe box in real time. The fact that the ability to do that to an entire real building, on a computer that the typical architect can afford, is only available now has more to do with Moore's law than with any problems with lack of creativity, or bad design, or monopoly in software companies.

As for complaining that software companies "just want to make something they can sell right then". Guess what happens to companies who make products they can't sell?
secret agent toastPerson was signed in when posted
02:12 PM ET (US)
Computers, just like old cars, are a love-hate relationship. They are way cool, but they all suck, for one reason or another. :)
ArbalestPerson was signed in when posted
02:06 PM ET (US)
Hypercard is backed by the Hypertalk language (one of my favorites), and has been able to create and add code to itself from day one. I authored a Hypercard application in the 80's that is still running the business of an advertising firm today.

toaster: of course kay's statement was meant to shock, and not to be taken factually. so was mine. his point is that the next 20 years should make the last 20 seem boring. mine was meant to pour a little well-deserved cold water on people who steamroll other's efforts in order to say something <yawn> remarkable </yawn>. tit for tat, baby!

to truly appreciate PC's, one has to have programmed on mainframes with punched cards, which I am glad that I will never have to do again.
Edited 04-25-2003 02:09 PM
CraniacPerson was signed in when posted
12:52 PM ET (US)
It breaks my heart that these presentations aren't available as downloadable articles or transcripts. Sob.
secret agent toastPerson was signed in when posted
12:35 PM ET (US)
Plugh, while I agree with you that the developement of cheap computers and networking is a staggering developement, I took from Cory's notes that Alan Kay was refering more to software design and how we interact with computers, rather than hardware developements.

That's kinda what I was getting at too; for I remember reading magizine articals on the 'future of CAD' and about Prototype CAD systems that that were made back then. *just now* are the commecial applications approaching, in that you can work in 3D all the time and that the model you create understands time, what those systems 30 years ago were scratching around with. All of those great ideas were abandoned by Software companies that just wanted to make something they could sell right then, which happened to be a fancy electronic drafting board. And more of that has to do with bad software design, monoplistic software companies hampering creativity, and a lack of creativity on the part of developers. These ideas for realtime, dynamic, 'mirror-wolrd' CAD systems have been floating around for thirty years, and just five years ago did someone actually really try to come up with something new in the CAD world for the building industy; and just now, five years later, has it become really workable. Everything before was, more or less, a fancy electronic drafting board- not a system to make virtual buildings on the computer.

It's kinda like the orginal VisiCalc. it invented the whole concept of a spreadsheet; enabled lots of people to do things that they couldn't do before, and introduced new ways of thinking about numbers and business and more. Until now, most CAD systems were replacements for a drafting table; not a new, more efficent, more 'enabling' way for Architects to work. Until last year I was still *drawing* everything for god's sake, it was just one the computer. Now, because of this new CAD software we're using, I'm actually making little virtual buildings within the computer, little data models that I can query, run cost estimates on, make 3D walkthrus, and more. Soon (reltivly speaking, probably 5 years) this same CAD platform might even have things that will check building code compliance, energy efficentcy, how well my building does in a big ol' earthquake, and more.

All of this is possible by shifting the CAD system from a 2D vector-focused system to an full object-orentated system running on a database. And, really, it's not like OO or relational databases are new at all! It just took a long time before someone thought to apply them to CAD systems.

Finally, though, you are dead-on about the cheap computers and the cheap network having a stunning effect in making computers more accessbile to people. Without that, who knows if there would have been a market for this new CAD system (or for any CAD system for that matter, outside of big companies like Boeing or GM). So it's both, but I have to agree that, on the software and interaction side, yes, things have been boring. Heck, there are things on my fancy dual-boot linux/w2k box that I can't do that I could do with my old Amiga! Which ran at 30 Mhz! This is progress? :)
Chris SmithPerson was signed in when posted
10:46 AM ET (US)
jleader: Re: Java can't add code to itself while running

Ok, first off, I'm not well versed in Java. And, second, I wasn't actually at the presentation. But I really thought the java.lang.ClassLoader was to bring in other classes -- that were already compiled.

Perhaps the reference to late binding just before this draws the thought process misleadingly. But I interpreted the comment to mean that a Java program couldn't create a completely new chunk of code and add it to itself.

His comment strikes me as inappropriate only because the vast majority of languages can't do this. Java is hardly unique in this regard. What he's thinking of isn't even Perl's eval() - it's like having a compiler built into every app -- or, better yet, an interpreter that always runs directly against source code, with no compilation steps. Your "program" can see itself as part of its own data, and modify it as it chooses.

Its actually quite weird - almost every microprocessor architecture out there allows interchangeability of code and data - and it's among the first things we take away when we build systems on top of those architectures.
Edited 04-25-2003 10:47 AM
plughPerson was signed in when posted
09:50 AM ET (US)
Ok, I'll bite. In the last 20 years:

- We have computers so cheap that virtually anyone can afford them (20 years ago, individuals didn't BUY computers);
- We have network access available to virtually each and every one of them, at rates that are close to going below phone rates;
- We have built out a global web of hypermedia that is now beyond any government's ability to control (10 years!), reaching basically every nation in the world;

I'm not trying to put down Kay's comments, but the concept that we will ever arrive "there" (Daddy) is somewhat of a non-starter and a rhetorical stalking horse. Just because his pet problems haven't taken off doesn't a) mean that they will, or b) that they are not important. However, it does mean that for the short term, they haven't succeeded in the marketplace of ideas.

Don't fall into the trap of mistaking the "demo" for the real world. As was pointed out in Cory's recounting, Engelbart's demo ran on a machine the size of a building. The intervening 30 years made it possible to do the same task on a $200 machine purchasable anywhere, *as well as* gave us the inexpensive network to make it all sing.
ventedspleenPerson was signed in when posted
11:49 PM ET (US)
Yeah, I'm BORED.

C++ - joke language. Java - variations on a joke language. J2EE? Fraud. Ridiculously complex "architecture" that still doesn't offer a practical persistence model.

All the interesting stuff in CS has come from the lisp/smalltalk world, then bastardized and dumbed down for the masses.

Plus the "application" model and the dreaded office suite stuff has resulted in a stifling environment.

I hate to program anymore - I love to program - but not with stone knives and bear skins (java and c++). And what's up with XML? Like that is even a "technology". Its just a bunch of cocktail party architects trying to justify their junkets to Amsterdam. I am not impressed.

I used to have access to better tools. Now I am frustrated and BORED. (Although I do a fair bit of stuff with Squeak to stay sane).
secret agent toastPerson was signed in when posted
11:13 PM ET (US)
Uh. Yeah actually I would. I'm a computer savvy Architect. It wasn't until LAST YEAR that a CAD software came along that was even useable, let alone any good. CAD software was just abismal; as is a lot of computer UI design.

I think his point is that things have gotten more widespread, in that everyone has a computer now. but they haven't gotten *better* or *more intersting* in that wow-wee future sense.

Someone i met, an enginner, that does a lot of stuff with SRL said that computer really aren't that developed; yes they are fast, but a lot of what's going on under the hood is really the same as it was ten or twenty years ago. It's all just switches and crap. Kinda like a car; i mean they are more complex now then they were in the sixites, but most of the same things go on under the hood. It's still just a *car*. It still needs air, sark, and gas. Yeah, now a computer maintains the air/fuel balance rather than a carb; but amost the same damn thing, big-picture.

It hasn't become like some kinda future-car; or a dymaxion car, or something else; something that would make mroe sense. what's the 'best' car right now? a really big expensive SUV. Wow that's exciting. Personally, I want a personal solar-powered hovercraft that floats, is big enough to sleep/camp in, is covered with chrome and fins, and has a big ol' stereo. Basiclly I want what a six year old wants: which is part of this guy's point; that kids, with the right tools, can invision much cooler stuff than us sticks in the mud.

Where's my flascreen i can draw on that's the size of a desk and that will fold up into my pocket? Where's the sunglasses I can wear when I go out to the job site, along with the gloves I can wear, so that I can walk the space, scuplting the building with my hands virtually, while i dance the architecture out into crazy 4D CAD system. i mean, JUST THIS YEAR has a CAD system come along that understands TIME. Which is REALLY important to my work. So I'd say that, other than the web and Wi-fi, that I'm really not doing anthing that different than I was ten years ago on my Amiga: graphics, CAD,3D, music... sure I can do more now, but it still the same stuff! Nothing has undamentaly changed, until this new cad system came along. Serously. i learned AutoCAD ten years ago, and today it's bascilly the same but with more bells and whisles. But now, wih Revit, it's a total change and it's gonna be great!
plughPerson was signed in when posted
10:23 PM ET (US)
Incorrect assumptions about him being a wanker or not :-) I would agree that the last 20 years have NOT been boring. You bored? No? Thought not!
secret agent toastPerson was signed in when posted
08:46 PM ET (US)
uhm... dude. The talk was given by Alan Kay, who is a *hell* of a lot more 'old school' than you, Arbalest. Google his name and see what's he has done. Otherwise you just look stupid when you assume that he's some twenty-year-old wanker.
ArbalestPerson was signed in when posted
08:25 PM ET (US)
The last 20 years of the PC have been *boring*.

Just about the stupidest statement I've ever read. The last 20 years includes the entire lifespan of the Macintosh, the entire history of desktop publishing, the web, home video editing and DVD burning, etc. What kind of an idiot considers these things boring? The fool who made the comment probably couldn't even READ 20 years ago.
stevelawsonPerson was signed in when posted
08:25 PM ET (US)
The printing revolution didn't happen until 150 years after Gutenberg? I bet Martin Luther would be surprised to hear that.
xfozPerson was signed in when posted
07:39 PM ET (US)
Second chance.... http://www.sdforum.org/p/calEvent.asp?CID=1063
jleaderPerson was signed in when posted
05:43 PM ET (US)
Great talk, until this set my teeth on edge:

"Java can't add code to itself while running -- LISP could do this 40 years ago."

Damn Lisp weenies who think that just because they invented it all first, they know exactly what everyone else's tools can and can't do. What does he think java.lang.ClassLoader does, and has done since at least Java 1.0?

And in fact, in some circumstances Java can be made to _reload_ code while running, though it's a bit of a hassle to tidy up and make sure the old version of the code really goes away cleanly.

Oh well, still sounds like a great talk.
^     All messages            4-19 of 19  1-3 >>

Print | RSS Views: 779 (Unique: 565 ) / Subscribers: 1 | What's this?