
Python for Lisp Programmers - martian
http://norvig.com/python-lisp.html
======
jcromartie
I would imagine that the population of Lisp programmers who need a hand in
learning Python is negligible compared to the other way around.

~~~
mojuba
If that's true, it's a pity "the population of Lisp programmers" think they
don't need to learn any new languages, even if they won't use them.

With all my disrespect to Java and C#, for example, I did study them and tried
to code to see myself what's right and what's wrong with these languages. Once
I even used C# in production. And definitely it wasn't a complete waste of
time.

~~~
greyman
Just curious: What you think is a better alternative to C# for developing
software C# was designed for?

~~~
martian
My experience with C# suggests it is extremely tied into the Windows world,
and for some tasks -- like building a plugin for Internet Explorer -- you may
be best of with one of the MS languages (VB or C# being the most prominent).

For more general-purpose desktop development, Qt is pretty good. It's mostly a
rich set of GUI libraries on top of C++, but is packed with features like
integrated WebKit browser, OpenGL, SQL, networking libs, etc.

And if you develop with Qt, you get Mac and Linux versions for free.

~~~
greyman
This is interesting. I work on a large medicine software, and after 10 years
of development in C++, we switched to C# about two years ago. Overall, my
feeling is that the development process is quicker and the libraries support
(.NET) was also improvement, along with the IDE (Visual Studion 8). To sum it
up, the whole experience have been positive.

Of course, our product is tied to Windows platform. But living with this
restriction, I'd say C# is a good choice.

~~~
mojuba
Which means, you probably never really needed C++.

No doubt, Visual Studio shines and is probably unbeatable as an IDE. No doubt,
.NET will become more and more solid as they are trying to catch up with Java
VM in performance and robustness.

But unfortunately C#, the language itself, is restrictive and is trying to
protect the programmer from him/herself, same way as Java and Python.

------
jrockway
_and you don't miss macros all that much because it does have eval, and
operator overloading, and regular expression parsing, so you can create custom
languages that way_

How does the author know what I will miss? Maybe he thinks that Python
provides enough features to live without macros, but that's not necessarily
true. Also, macros aren't just for "custom languages"; sometimes you need to
make the details of your programming language (or API) go away for various
reasons. Macros let you do that.

Anyway, I've found the lack of macros in other languages unsatisfying. I can
use those languages, and I can build similarly-powerful abstractions... but
they don't turn out the way I really want. So while it's certainly possible to
work around the lack of macros, it would definitely be better to have them.

------
pavelludiq
"Although it wasn't my intent, Python programers have told me this page has
helped them learn Lisp." Yes it did in my case it helped. Im reading SICP
right now and trying all the stuff in python and in scheme at the same time. I
am still at the beginning, but i already have some knowledge of scheme from
another book and it seems fun. Python and scheme are both my favorites.

