Its been sometime..

It's been some time since I worked until 04:20:28. I had some discussions with friends, completed my work, and handled project management tasks as well. Python is catching up well—it's really a cool language. Once I become sufficiently familiar with it, writing Python should feel like writing English.

Questions to myself:

  • Find the difference between re.search and re.match.
  • Read the Python FAQ.

Some Python Notes

Part 1:

Is Python "powerful"? :-)

http://www.paulgraham.com/power.html

Part 2:

Something to think about... Every new release of Python implements more and more features of Lisp. So, why not just use Lisp now instead of waiting for the developers of Python to slowly make Python into Lisp?

(adapted from 1(pg's arguments))

Part 3:

What is your opinion on Python not having higher order functions? Do you think programming languages need to be dumbed down so that some users of the language (ie.developers) don't shoot themselves in the foot?

kulalosai


Re: Some Python Notes

yep i've read this article b4, when i was evaluating different languages to use for webapp.

so far, my belief is that lisp is superior to everything else. pretty soon i think (and i hope) i'll know for sure. i'll keep u posted on what i find out ( subjectively... can't assure an objective view... :-) ). i'm very curious about what u find too...

kulalosai


Re: Some Python Notes

I read the article last week. Though it was thought provoking, it did not much disturb me as not to dive deeper into python. I dont know, sometimes I stumble upon few limitations but they are more due to lack of knowledge than anything else. Python I have found to be easy to write a program in. esr has some of his thoughts on python here.




An important measure of effort in coding is the frequency with which you write something that doesn't actually match your mental representation of the problem, and have to backtrack on realizing that what you just typed won't actually tell the language to do what you're thinking. An important measure of good language design is how rapidly the percentage of missteps of this kind falls as you gain experience with the language.







When you're writing working code nearly as fast as you can type and your misstep rate is near zero, it generally means you've achieved mastery of the language. But that didn't make sense, because it was still day one and I was regularly pausing to look up new language and library features!







This was my first clue that, in Python, I was actually dealing with an exceptionally good design. Most languages have so much friction and awkwardness built into their design that you learn most of their feature set long before your misstep rate drops anywhere near zero. Python was the first general-purpose language I'd ever used that reversed this process.







Not that it took me very long to learn the feature set. I wrote a working, usable fetchmailconf, with GUI, in six working days, of which perhaps the equivalent of two days were spent learning Python itself. This reflects another useful property of the language: it is compact--you can hold its entire feature set (and at least a concept index of its libraries) in your head. C is a famously compact language....



Let me put somemore points. Btw, try the Trip on the funny boat. That was a nice one.

Senthil