Re: The Next Move in Programming

From: Dave Roberts (ldave-re-move_at_re-move.droberts.com)
Date: 02/15/04


Date: Sun, 15 Feb 2004 20:12:04 GMT

Kenny Tilton wrote:

> btw, I had a "bug" this morning a compiler would have caught, passing a
> number where a point (a structure of two numbers) was demanded. But! The
> bug was simply because I had changed an API so that it no longer
> tolerated either a number or a point, and I was working my way thru
> various Cello demos propagating the new state of things.

So this brings up a good point. One of the ways that I typically work
through API changes in C/Java is just that: I recompile and let the
compiler tell me all the places that are now broken. With Lisp, do I have
to go through a complete re-test cycle?

> With a compiler checking my code, I could not even have tested the
> change without first changing all the demos to suit, or I would have had
> to leave in place code which accepted a number but threw an error, so
> the compiler would see a suitable overloaded function for code I had not
> yet refactored.
>
> In Lisp I just leave hopeless code sitting around until I get back to
> it, and if it turns out I decide a given refactoring was a mistake,
> boom!, out it goes and no time was wasted on propagating a doomed change.

Hmmmm... my reaction to this is actually negative in the sense that I get
nervous about forgetting things that I haven't yet done. If I was using
Java with Eclipse as my IDE, I'd just back out changes using the IDE and it
wouldn't be a big deal either. That isn't a language thing, it's an IDE
thing. Speaking of which, is there a good IDE for Lisp with refactoring
support? Emacs is great, right up to the point where you want to do some
massive code reorganization or function/variable renaming, then I find it
painful (go back to search/replace). I would think this would actually be
pretty easy for a Lisp to do given the simple syntax.

-- Dave



Relevant Pages

  • Re: cl-sockets, Google, Lisp-NYC, and The Savages of c.l.l
    ... > the nine Summer of Code projects Google sponsored through Lisp ... this common networking API for Common Lisp. ... Of the sockets functions that I consider essential, ... I assume that in "real" Lisp networking APIs, stream sockets can be ...
    (comp.lang.lisp)
  • Re: Experience with both LispWorks and OpenMCL ObjC bindings?
    ... bottom line for lisp is that the lisp runtime cannot know how to deal ... isn't intel native at this point looks like a poor bet for the future. ... Non existent IDE ... OpenMCL seems to want to unify Cocoa and CLOS "whatever that may ...
    (comp.lang.lisp)
  • Re: Still clinking to Java?
    ... , and people come here for help with Lisp development, so I tell them the best IDE. ... this won't be helpful - neither for CL in general nor for Franz in particular. ... The last person upset by my praise for ACL like you ignored the facts of the matter and resorted to personal defamation. ...
    (comp.lang.lisp)
  • Re: Beyond CL?
    ... >needs sockets, threads, Unicode and an FFI. ... If a newbie discovers all of the wondrous properties of Lisp ... all vendors and implementors should agree ... codified subset of the OS API. ...
    (comp.lang.lisp)
  • Re: Making Lisp popular - can it be done?
    ... say that they now program in Lisp because of ABLE. ... development environments when discussing Lisp's "popularity". ... Even if Lisp had the best IDE ever ... If developers build such IDEs and try to reach those users, ...
    (comp.lang.lisp)