[lbo-talk] Speaking of intelligence....

ravi ravi at platosbeard.org
Sat Nov 24 14:17:01 PST 2007


On Nov 24, 2007, at 11:49 AM, Tayssir John Gabbour wrote:
> On Nov 24, 2007 4:41 AM, ravi <ravi at platosbeard.org> wrote:
>> On Nov 23, 2007, at 6:58 PM, Tayssir John Gabbour wrote:
>>> http://dlweinreb.wordpress.com/2007/11/20/xo-the-next-lisp-machine/
>>
>> I don't get it. So a lot of the code is written in an interpreted
>> language, which means you can look at the code if you want to (which
>> you could do with today's AJAX/JSON driven Javascript web as long as
>> the logic is on that end), which is the case with any such beast, say
>> Perl, before Python became the new craze (I guess that should be s/
>> Python/Ruby/ at this point). Or with GNU or open source. Even that
>> dinky little AT&T Unix PC came with a good bit of source code. And of
>> course if we all ran BSD like god intended, we could even hack
>> ourselves a new kernel! ;-)
>
> The blog link I offered (above) was from a cofounder of the Lisp
> Machine company Symbolics.
>
> The problem is that something like GNU/Linux isn't easily hackable.
> Having the sourcecode under a free license is a precondition for easy
> hackability, but not sufficient.
>
> The Lisp Machine guy mentioned:
>
> "The XO does everything in Python. You can see all the code, with
> a single keystroke (that shows the code of what's running) and
> even modify the code."
>
> In contrast, Unix doesn't invite the curious user in. "Compiling" the
> Linux code is weird -- it's just supposed to be a matter of running a
> simple program over data, but somehow it's fraught with difficulty and
> obscure error messages.
>

All true, but that is the nature of any significant work on a computer, isn't it? After all, the syntax of a programming language is (IMO) a negligible burden on the way to producing meaningful code. During my RA/TA days, I used to do this surreptitious thing on sophomore and junior undergrads: after looking over and helping with their code (in C, or Pascal, or whatever) I would then show them a chunk of kernel source or some other real world program: something that looked so unlike their code that it could be an entirely different language. The idea was not to scare them or be a smart-arse but to give an idea (as I saw it) of the giant chasm between the principles of programming and real world code.

I agree that some languages are inserted into the real world in ugly ways (with pre-processor directives, linker pre-loading, and all sorts of voodoo), and others have constructs/syntax that are a bit difficult/ annoying, and Python can be a bit easier on the eye in comparison (at least in the syntax front) -- though I have my reservations about a programming language that uses whitespace as a significant token. But as asserted, these are minor annoyances on the way to learning to work with your machine in a deeper way. So, Python as a language, or keystrokes to reveal source, are really nice features, but seem hardly revolutionary... especially when compared (even) to such things as AppleScript and Automator.

Re: Unix inviting users... I want to discuss that further, also. I believe GUIs are confused with user friendliness. Unix requires (used to require) that you type in stuff in a monochrome window. Often what you typed in was a bit cryptic. But within days you could get off to doing fairly necessary userland tasks in an intuitive and easy manner ("ls | grep ...."!). And this happens at all levels. Think of the socket API implementation through the standard I/O calls that equate sockets to files. Something that helps a programmer move into a new space with no significant roadblock.

--ravi



More information about the lbo-talk mailing list