different alternatives for lispOS
Thu, 24 Apr 1997 18:34:23 -0700
In general, my goal with a LispOS is to give Lisp developers
a way to succeed in the marketplace using the high productivity we
know exists with an integrated Lisp system.
My belief is that web-based applications are where the market is
going, most new software development is occurring here,
and it will continue to expand. It is currently bogged down
with a patchwork of HTTPD/CGI/JAVA/HTML complexity.
There is too much software to be written,
and too few who know how to write it.
That means two things:
1. those who can deliver solutions faster will make more money (productivity)
2. there must be more people who can be programmers (accessibility/simplicity)
JAVA is the competition, and we can win, because they don't have
the productivity we can get out of an extensible language that is
tailored for web programming. Really, JAVA is a bad language for web-based
applications! particularly large ones, the JVM doesn't help at all,
simple animated gifs have replaced the reason for JAVA/JVM.
The AWT sucks and the missed the point, that plain HTML is the
portable user interface. It's very minimal, simple, and standard,
and that is why it works. With dynamically generated HTML,
good user interfaces are possible.
goto http://www.hotmail.com if you don't believe me.
I think this is the right focus. Some may view it as too narrow,
but having a narrow focus is how to succeed. If we can do this stuff
better than anyone else (and we can), then we've got a shot at a huge market,
and there is much money to be made writing these applications.
It is going to take more than a few people to make this work.
It will take 10 times the people that Franz or Harlequin or any other
small company that is using Lisp, can bring to it.
It is going to take creating lots of "libraries" that do useful, needed things,
and a base of programmers and can use these to tailor
specific application solutions.
Given the above focus, it doesn't really matter if this machine is
as efficient as it could be, or a pure Lisp system.
What we need is high functionality and high productivity
for web-based applications.
Ok, I hope I've demonstrated that I'm driven to solve market-based needs,
not to demonstrate superior technical brilliance.
I'll be more concrete on my technical approach.
A CommonLisp/CLOS subset is the right thing.
Recall we are not trying to build 1mb delivered applications
on a floppy disk to run under Win95!
We have a whole machine to use. Let's not fight the last war!
Start with Linux, and run a lisp based web server that has persistent
objects on top of Linux.
Make everything use persistent objects, don't use the file system.
This means even source code is not kept in files!
This means we must have a new object-based "module" system.
Work to replace any important non-lisp components with
Lisp-based ones which will increase productivity and functionality.
For example, there is no reason to recode the TCP/IP in Lisp,
but the FTP server could be, since it needs username/password info,
which it gets from /etc/passwd.
User information should be replaced by USER objects, not kept in stupid text files.
Well, that's enough for now. What do you think?
-kelly murray (speaking for myself)