Lisp

The Move and the Big Start

May 17, 2012
By

Returning to my recollections on Texar, we come to the latest installment on the aspects of being an entrepreneur at Texar. An investment from VCs in the bank and visions of grandeur. That’s where we were in the Spring of 1999. We needed office space and found 3500 sq. ft. of it in the west end of Ottawa. Nice space, nothing fancy, but nice nonetheless. There’s an old rule of thumb that says 120 sq. ft. per person is adequate, unless you’re using cube farms in which case you can crunch that down to 64 sq. ft. Not being a believer in overcrowding I stuck with the old belief of 120 sq. ft. of space per person, preferably with a door and a window. That meant we could cram in about 30 people in the space we’d rented, less in reality as the boardroom was to remain off limits. As we were moving from my basement to the new digs all it required was getting phone and Internet service. That took some doing but soon enough it was done. We had our domain moved over, we had FreeBSD boxes up and running our mail and web services, and we were

Read more »

Top Computer Scientists, Ever

May 15, 2012
By

I was going through papers as I try to clean up 30+ years of computer science clutter and came upon this list I made back in 2004. It’s a list of the 22 most influential people in computer science, in my opinion. James Anderson John Backus Dan Bricklin & Bob Frankston Vannevar Bush Fernando J. Corbato Edsger Dijkstra Doug Engelbart Richard Fateman Grace Hopper Kenneth Iverson Alan Kay Donald Knuth J.C.R. Licklider John McCarthy Ted Nelson Dennis Ritchie Claude Shannon Richard Stallman Ivan Sutherland Andrew Tannenbaum Ken Thompson Alan Turing Looking over that list today I wouldn’t change a thing. No one else comes to mind as being sufficiently great so as to go up on that list. If you just

Read more »

Lasagna Code: Redux

November 25, 2011
By

I write here as sort of a pressure release valve. It seems that my little rant on Lasagna Code got some attention. I read through the comments. It seems most get what I’m on about. But I figure I might as well be a bit clearer, in case any of those posters revisit. Yes, I’m against object oriented programming. I’ve been against it for years. I find it an obtuse and bloated way to code. And beyond Smalltalk, I’ve really not found another decent object-oriented language within which to code. This obsession language designers have of wedging an object system into a language “just because” is rather stupid. After all, all objects are is formalized data structures. It’s really that simple. For those that are about to jump up and down and scream they aren’t, I won’t argue because it’s pointless. I’ve used OO since the early 80s, initially in Smalltalk. Later, much to my horror, C++, and then for a brief period with Java — but I refuse to ever touch Java again. Too horrible and, happily, I’m sufficiently old enough to not have to do what I don’t want to do. Python, as I said, is a very

Read more »

RIP John McCarthy

October 24, 2011
By

The creator of my favourite programming language passed away yesterday. Lisp is, in my view, the best language ever devised. Sadly, too few in the computer industry realize or comprehend this fact. Lisp, and its descendants such as Scheme, are beautifully consistent programming languages wherein the programs and the data are defined identically and as such can be manipulated similarly. This allows one to generate code easily that can then be executed. Most people stare at Lisp-like languages and can’t get past the parentheses. Ironically, most every language uses parentheses of one sort or another. If one does a quick comparison with C, for example, one will quickly realize that Lisp doesn’t have that many more parentheses than does C. And with C, you can’t work in a fully interactive environment wherein you develop your code and test it all in a fully integrated way. Instead, you’re still stuck with the stupid edit-compile-run-debug cycle that made sense when we used punch cards but doesn’t today. Even “modern” languages such as Java are really only prettied up C, though truth be told, I’d rather code in C because it’s powerful and puts the onus on the programmer to do things right

Read more »

Lots of Irritatingly Silly Parentheses

November 7, 2010
By

That’s what many people I know think of when they hear my favourite languages are all Lisp derivatives such as Scheme or Clojure. They usually follow that up with a statement indicating that there are just too many brackets in Lisp. For a while I’ve wondered about this and after a little bit of study I think most people are wrong. They’re fixated on the position of the brackets not on the number. Most languages use a lot of brackets, be they , ( … ), { … } or < … >. Anyone who codes up XML knows all too well how many of those < … > brackets they’ll be dealing with. So I looked around for some simple samples of accumulator code fragments and found this on Paul Graham’s site. Sure, Graham is a Lisp geek, but a quick look at the following C++ code quickly shows something: struct Acc { Acc(T n) : n(n) {} template <typename U> Acc(const Acc<U>& u) : n(u.n) {} template <typename U> T operator()(U i) { return n += 1; } T n; }; template <typename T> Acc<T> foo(T n) { return Acc<T>(n); } vs. Scheme which is as

Read more »

How About noOS?

October 16, 2010
By

We have NoSQL but maybe it’s time for noOS. I’ve talked about this with colleagues for a while. Many are old enough to realize why we have operating systems, but some of the younger crowd don’t. The reason for an operating system is to equitably share the resources of a computer. This made sense when the systems were large, hulking brutes sitting in air conditioned rooms. It makes no sense today when one core of an average computer is faster than any mainframe of 40 years ago — or even a roomful of them. It’s why I’ve had discussions asking why we even need an OS anymore. Perhaps it’s time to revisit anotherĀ  idea that came out of the great CS labs, namely machines that only ran a language. I’m talking about Lisp Machines, Smalltalk Machines, APL Vector Machines, etc. These machines had the beauty of allowing you to program extensions into their core via well-defined languages all within a fully interactive environment. It was bliss programming these types of systems. And it’s not like computers aren’t fast enough to allow for fully interactive, dynamic environments as the way to build applications. Today’s hardware makes those old Smalltalk, Lisp and

Read more »

Computers

October 7, 2010
By

For the most part computers just aren’t that much fun anymore. I’ve come to this stark conclusion of late and realize that part of my general malaise regarding the industry is that my passion for and love affair with computers is over, or at least in the latter waning stages. When I first got into computers in 1978 I thought they were simply the neatest things I’d ever seen. The whole industry was still new back then, and personal computers were something few talked about and many dared not dream of. But that was more than 30 years ago! I remember my first encounter with a computer via a batch card system while in high school. Mr. Lane, our computer and Functions and Relations teacher, introduced a large number of Grade 13 students — and a few Grade 12s — to computers. He had a passion for them and loved teaching the course. I think most people who took the course were taking it either out of sheer curiosity or from the need for one more math/science credit to complete their high school diploma. Regardless, I found the notion of algorithms and applying what I had learned in Algebra, Calculus,

Read more »

Complexity

January 3, 2008
By

I love Paul Graham’s comment on Dan Weinreb’s Why Did Symbolics Fail? article. Complexity has driven me nuts for years. I don’t comprehend why everything has to be so complex. It’s as if there’s a secret cabal someplace that figures it has to be hard, it’s computers. Thank God for Steve Jobs and his ability to ensure we have simplicity in our complex products. The complexity should be hidden as Alan Cooper in The Inmates Are Running the Asylum so clearly points out. This “complexity for complexity’s sake” has got to stop. And the complexity keeps creeping into everything. The web used to be simple, and now a lot of the underlying complexity is showing itself. It’s unacceptable. Simplicity is key. Simplicity is what should be strived for. And if that means architects and designers and developers have to create systems/applications/software that is more elegant from the user’s perspective but harder to code, so be it. And it can’t come soon enough. BTW, I loved the old Symbolics machines and I coded on them for a few years, learning the intricacies. But the manuals were daunting. And when I look at Scheme I see most of the expressiveness with little

Read more »

Lisp Machine VM

December 10, 2007
By

I’ve been wondering why no-one has put together a proper Lisp Machine VM. By that I mean a VM that runs in something like VMware Player. It would allow anyone who needs one to simply launch a Lisp Machine. I do realize the original Lisp Machines, like the Symbolics 3600 I coded on decades ago, have a special architecture and can’t easily be ported. But I was hoping that someone out there would have taken one of the many Common Lisp implementations and put all the pieces needed for an excellent Lisp environment and wrapped it in a VM that any of us could simply run by double-clicking on it. There are appliances for all kinds of things, but none for a Lisp Machine. Sigh.

Read more »

Musings

A blog of my musings. Some folks find it interesting and so I continue. Hopefully it will remain fairly interesting. At worst, it'll keep me writing orthogonally to my day job.

Month at a Glance

May 2012
M T W T F S S
« Mar    
 123456
78910111213
14151617181920
21222324252627
28293031  

StatPress

Visits today: 449
Total page views: 117654