Path: utzoo!mnetor!uunet!lll-winken!lll-tis!ames!pasteur!ucbvax!dewey.soe.berkeley.edu!oster From: oster@dewey.soe.berkeley.edu (David Phillip Oster) Newsgroups: comp.society.futures Subject: Re: what to do with all those MIPS Message-ID: <23924@ucbvax.BERKELEY.EDU> Date: 6 May 88 08:12:05 GMT References: <3bbda74b.44e6@apollo.uucp| <15368@uflorida.cis.ufl.EDU> Sender: usenet@ucbvax.BERKELEY.EDU Reply-To: oster@dewey.soe.berkeley.edu.UUCP (David Phillip Oster) Organization: School of Education, UC-Berkeley Lines: 57 Keywords: Software, Engineering, Software Engineering, MIPS, Hardware, Software Sorry, but the bottleneck is hardware: it just isn't fast enough. Software productivity can be dramatically enhanced by using tools like very high level languages (The first complete ADA compiler was written in SETL, in about a week. However, it took weeks to compile anything.) The largest programs maintained by a lone programmer are written in lisp and run on high-end lisp machines, because lisp provides an integrated encivironment for managing complexity. If you augment the language with a type system that lets you make sophisticated assertions about the intended behaviour of the objects, and add a theorum prover to guarantee that your assertions are consistant, and add a heavily optimizing compiler so that any program you run often will run fast, and add a decent interpreter, so that any program you are working on can be run with out waiting for the optimizing compiler, and add a decent multi-window debugger so you can find problems, fix them, (and if they don't show up 'til late in an expensive run, you can patch the data and the code on the fly and complete the compilation.) and package management tools, and code inspector tools so you can find useful work in the mammoth database of existing code. All this software already exists, and is in the public domain. (Since it was paid for by DARPA grants.) Yet, I can't use it: I can't afford a machine that can run this stuff fast enough that I can beat my own time just writing everything from scratch in LightSpeed C. Give me a few orders of magnitude increase in performance, and maybe the balance will change. I've already done detailed designs for using about 1000 Mips just on the user interface (dual color-tv displays built into a pair of glasses with intertial tracking, eye-tracking, and binaural sound. gloves with pressure sensitive joints and piezo-electric transducers in the fingertips for simulated pressure output.) (You use that hardware to generate a separate left eye, right eye 3-d images, the eye-tracking keeps them in place as the glance and head moves. The gloves let you pick up these simulated objects, and have them be perceptibly "there" to your touch. Applications: CAD: just trace what you want in the air. Your finger leaves a visible trace behind it. Music: just trace the waveforms you want in the air. Grab them and bend them into shape. Give me the hardware, and I'd have the system up in under a year. (By comparison, it took me 2 weeks to clone Scribe (it took Brian Reid over a year to write it in the first place.) It took me only a week to clone MacPaint. I've written a WYSIWYG music editor in 2 days. A complete developement system for the 128K Macintosh, conisting of interpreter, compiler, assembler, screen-editor, defStruct package, and object-oriented programming facility took me a month, but I had to learn the Mac, also, and 128K left only 60k for my program after I'd left room for the operating system, screen memory, buffers for screen memory for pull down menus. I used a cross compiler and telecommunications downloading tools I wrote. Copyright (c) 1988 by David Phillip Oster, All Rights Reserved --- David Phillip Oster --When you asked me to live in sin with you Arpa: oster@dewey.soe.berkeley.edu --I didn't know you meant sloth. Uucp: {uwvax,decvax,ihnp4}!ucbvax!oster%dewey.soe.berkeley.edu