[Openmcl-devel] Objective-CL

Pascal J. Bourguignon pjb at informatimago.com
Fri Dec 24 05:51:33 UTC 2010


Alexander Repenning <ralex at cs.colorado.edu> writes:

> I guess I would like to hear more about why adding an Objective-C like
> syntax to Lisp is a good thing. No flame war please, I am not saying
> that there could be no good reason but I am not quite sold. As many of
> you know Lisp itself is not generally considered a great programming
> language from a syntactic point of view due to parenthesis
> paranoia. 

I totally agree that lisp syntax is nice, it's my main programming
language.

Unfortunately, I've been a Smalltalk and Objective-C programmer before
being a Common Lisp programmer, so I find it easier to use the
Objective-C-like syntax to write code using Objective-C classes.  Also,
it might be advantageous when using the documentation and examples from
Objective-C.

Notice that the intend of my reader macro is to let you mix Objective-C
and Lisp syntax, like in Objective-C you can mix Objective-C and C.
Otherwise, one could just use the Smalltalk syntax, which would be the
more natural syntax other than Objective-C to interface with it.

In any case, it's an alien syntax and it would be used only when doing
the FFI to Objective-C.  The core of the application is to be written
in Lisp, otherwise there would be no point.


> However, if I would be asked to point to one programming
> language disliked by todays students even more it actually would be
> Objective-C. BUT, the students do use Objective-C + Cocoa because they
> can make cool iOS apps, e.g., games they can actually make money with,
> IN SPITE of the Objective-C syntax not thanks to it. 

I don't dislike Objective-C.  I'd guess if anybody dislike it it's more
for the same reason they'd dislike lisp too, because it's not C++ or
php.

By the way, if you really dislike Objective-C, Apple's proposing a C API
to all its core functionality.  From the point of view of FFI, it would
probably be advantageous to interface this C API rather than to the
Objective-C layer.  It's true that some newer features are available
only from Objective-C, but IIRC I've read that Apple intended to move
down the features to let them be accessed from the C layer.  There's
probably a way to propose a lispier cocoa experience defining a FFI on
these non-Objective-C layers.

-- 
__Pascal Bourguignon__                     http://www.informatimago.com/
A bad day in () is better than a good day in {}.




More information about the Openmcl-devel mailing list