Thursday, October 13

More newbie thoughts on Lisp

It's become obvious with the code I've been writing recently that Lisp's strength and weaknesses are all tied to it's lack of syntax. The fact it has very little in the way of syntax leads to a combinatorial explosion - there are an almost infinite number of ways to do simple things: it makes me wonder if the whole purpose of strong syntax in languages isn't simply to prevent this, and guide the energies of programmers into productive channels. It certainly was the case in C and Fortran where syntax was carefully constructed to enable mapping high level language to machine instructions a straightforward transformation.

However the lack of syntax has to be an achilles heel: the huge number of idioms that could be applied to simple programs means no two coders are going to write anything neccesarily similar. I'm assming the full set of coders of all levels of competence here. I expect a smaller set of seasoned coders would converge on similar solutions given similar problems. Which makes it a devastating weapon in the hands of a sesoned coder, but probably in a team of mixed abilities it would lead to much higher communication oveheads.

Thursday, October 6

Project Madness

I simply have to back off, I'm trying to do too many bloody things at once.


Here's my long list


    Get deeply enought into web/database tech to get a small play-by-web game running.

    Update the Omega rougelike game for the SDL & modern multiplatform code.

    Update Blah, a roguelike skeleton that fell off the net many moons ago, with SDL graphics and Lua scripting.

    Finish the LISP software renderer.

    Create a tool for parsing C into sexp's with an eye to auto-generating UFFI or CFFI bindings.

    Some unspecified Java app, just to keep my hand in : possibly a Blogger to Live-Journal migration tool.

    Some more games that have been bubbling under the radar for what seems like years.

    Lunch with Laura - a graphic novel. Nothing to do with coding, but it competes for time.

Clearly, something has to give, somewhere..