Hacker News new | past | comments | ask | show | jobs | submit login
Python for Lisp Programmers (norvig.com)
24 points by martian on July 24, 2008 | hide | past | favorite | 9 comments



I would imagine that the population of Lisp programmers who need a hand in learning Python is negligible compared to the other way around.


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.


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


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.


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.


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.


If we are talking only about Windows GUI development, then the choice is rather poor. Microsoft did everything to knock everyone out of competition in the area, so we are left only with .NET and languages Microsoft is kind to support.


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.


"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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: