When did you first try Lisp seriously, and which Lisp family member was it?
It was the late 1980's when I was pretty young; my father ran a sales company for PCB CAD systems in the Houston area to various NASA contractors, so I was exposed to a lot of industrial software and engineers of various kinds. I started learning how to use these packages, having spent some time already writing graphics and game programs in BASIC, Pascal, and eventually C. CadKey was extensible in Forth and AutoCAD had its own version of Lisp; I quickly decided that Forth was great for CAM snippets and that Lisp was great for extending large systems. Later on, I turned this into a little after-school consulting business, and really enjoyed it.
At the time I had only heard of Common Lisp and played with Scheme. I was also fascinated by high-end workstations, and had a vague fascination with these machines made from MIT that ran Lisp as systems software, but I never actually saw one of them.
What led you to try Lisp?
Because of the beauty and elegance of it, really. I remember that C++ was quickly becoming "the" language to write PC software in, and how horrific it was to actually develop in. I've always wanted to write really well-crafted software, and Lisp seemed to be one of the best languages for it. I also didn't want to be affected by programming in the same way that low-level hackers tend to be: mired in details, rarely able to abstract from their many experiences, and fussing over little requirements that some systems designer or vendor imposed on them without even being able to think critically about it.
I had also read about all the work that researchers had done over the previous two decades or so, at MIT and Stanford and Xerox PARC, and it just made sense to continue systems work the way they did. When I was 15, I had been studying category theory and logic under one of my teachers, and had a vision of information systems based on Lisp and mathematics that seemed incredibly compelling, but I knew I wasn't competent enough at the time to carry it out. When I entered college, I started diving into research in my spare time, learning everything I could. I stumbled onto the TUNES project nearly immediately and scoured the site, mining it for every possible idea that could be integrated, and using the links for more research. I wound up creating as a demonstration a PC floppy-bootable Lisp object system with a graphical windowing setup during a "programming binge". I later realized how naive a lot of the decisions I made were, and waited for a few years to learn more abour design before I tried that kind of thing again.
A side note: many years later, I actually joined TUNES; I'm now the de facto coordinator for it.
I also read a few Lisp books in college (mid-1990's), like The Art of the Meta-Object Protocol, and Winston & Horn's Lisp book. I remember that EuLisp was around then and it appealed to me more than CL (which wasn't as clean in features) and Scheme (which wasn't as serious).
Where did your road originate?
I mentioned C++ above, and that's really what did it for me. Since seeing it become an applications programming language, I've wanted something truly high-level to take its place.
Actually, I didn't really use Common Lisp until 2000 or so, when I was in a position that I could work independently and choose my own tools for jobs. Later, I had a commercial application requested from a network security expert who wanted some really sophisticated online pattern-matching and data mining; I managed to pitch the idea of Lisp (to replace some complex in-house Perl framework) and gradually built out a replacement that performed better and was more capable.
How far have you gotten in your study of Lisp?
I sometimes forget the signature of functions in the ANSI CL specification, but then I'm generally more interested in language features and such. I've messed around with a lot of different dialects, like FramerD's FDScript Scheme frame language, Goo, or other things like Qi or Maude or CafeOBJ.
I've also owned a Symbolics MacIvory II since 2000, and hack on it from time to time. It generally acts as a silent muse in a way, something like having an Alto around in the early Apple days. This kind of thing still offers something that has value, I believe, although mainly it's the software, not the hardware that makes economic sense. There's a lot of design work that could go into a new variation on the old Genera systems software and the interface that would really make waves these days with users, and I want to be part of that.
What do you think of Lisp so far? On the technical side, because I experiment with so many languages, I could list lots of holdovers that don't belong any more, but that'd simply echo someone else. What's probably more essential is to revitalize the community and to think in different terms when marketting or representing Lisp in industry; a lot of the old hands seem to have diverged from the mainstream, and can't seem to explain the relevance anymore, and this is dissappointing. I can also sympathize with the newcomers' frustration these days with the lack of "outside world" context in presentations of Lisp, although the situation is improving.
Please delete all but one of these cross-referencing tags: Switch Date 1990s
Seek and Ye Shall Find | RtL Language Curiosity | RtL AI | RtL Work | RtL AutoCad AutoLisp | RtL TUNES