I am so over compilers

I’m planning on doing something new on Mac OS X in the next few months, but I’ve been off in Python-land for almost an entire year now. I’ve been thinking long and hard about the things I’ll want to bring back with me, things that I don’t think I want to live without anymore:

  • Python array comprehensions. [x for x in iterable if expression]
  • Lambda functions, map, and reduce. map(lambda x: expression with x, iterable)
  • Guess this is a superset of the above, but functions and methods as full objects. Function decorators. @decorator; def function(x) == function = decorator(lambda x:)

I guess I could just use py2app, but I’m not sure how complete it is; py2exe on Windows is a bit of a different beast because the APIs suck so hard that we just use plain old ctypes and direct Win32. On Mac OS X, a lot of the quality of your application comes from how well you can leverage the great stuff that Apple builds for you, so complete and reliable access to all Objective-C and C based APIs is pretty important.

I also wonder about RubyCocoa. I feel like going Python for a while made me a much better programmer, maybe going Ruby will be an additional mental workout.

The last thing I realized: I am so over compilers. It’s funny because I talk to some ActionScript guys and they’re all atwitter about AS3 and static type checking[1] — just when I’m pretty sure I don’t ever want to work in a language that involves a compiler again.

Suggestions? I wonder.

[1]: AS3’s type system is very similar to Objective-C; it’s optional and only really exists at compile-time. It’s pretty nice, IMHO, as far as hybrid static/dynamic systems go, but they do make it more awkward to cut back to full dynamic mode than Objective-C does.


About this entry