Python is now Blub! Run!
arvindn.livejournal.com
arvindn.livejournal.com
I [am a much better coder | have way better taste] than those other people anyways.
Javascript/Rhino would be also a cool choice, but I think that is what Steve Yegge is working on.
Uhh... what? Who said that?
The programmer's aptitude is probably the biggest factor, and in the case of the most talented coders, probably swamps the choice of language by a large factor.
Being several times more productive is not going to benefit you so much if you are working on the wrong things.
Also, there is a lot of really bad code and really bad practices out there in different niches. There are still plenty of places where you can bring in test driven development and a language like Python and kick ass. In fact, I bet some of those niches will even have competitors who are backwards Python coders ripe for takedown.
Maybe thats why, haha.
wow.
there goes a loser.
well, if i look on the situation more seriously, python is more popular than ruby, and ruby has some features that make it a tiny bit more powerful in some situations so if the author if such an underground freak, he can use ruby for a few months until it becomes Bluby too.
Unfortunately, it isn't true at all. As it stands, no one but hardcore web app enthousiasts use Google Apps. That hardly makes it mainstream, I should think.
For example, an argument could be made that Lisp is a blub, because of the libraries problem. I'm not a lisp user myself, though I'm learning Scheme, so I don't know for sure if the libraries problem is an actual problem. But if it is, you could say that Lisp is a blub for Python, because while Lisp users are spending their time inventing a DSL that's incompatible with everything else, Python users type 'import awesomelibrary' and get the job done.
So, really, it depends on your notion of power. In pg's original Blub essay, power is Lisp-y-ness (or macros, perhaps), so by definition Lisp can't be a blub. But if your notion of power is something else, maybe it can be.
On the other hand, Lisp isn't at the top of the theoretical Blub hierarchy. Users of erlang can to some degree look at lisp as a Blub - what do you mean there's no lightweight concurrency, and you can't start millions of threads and have the messaging just managed? Lisp is broken! A language with Lisp's (lack of) syntax and erlang's concurrency might be able to look down on both.
Then why doesn't someone do so?
What libraries does he need that "just aren't there"?
Therefore many developers think they are using the most powerful language in the world ("Blub").
So if Python is the most powerful language you know and you don't understand the power of eg. Lisp macros or the Haskell type system, then Python is Blub for you.
If Lisp is you favorite language and you don't understand the power of the Python readability, the concept of "one obvious way" and so on, then Lisp is Blub for you.
my question is, what leads people to believe lisp is so high up on the language power scale?
ps: incidentally, macros are all about readability. if you took all the macros out of your program and substituted them by their macro expansion (by copying and pasting) you would end up with exactly the same program. exactly. it would just be less readable ;)
So measured by what the programs do - they are the same. Measured by how well you can evolve the program, the not-expanded version will probably fare better.
I don't really believe in a linear power scale though. Some languages are strictly more powerful than others, but there are also (i believe) different axes of power. I mention Haskell, Lisp and Python because they are three very powerful languages, but powerful in different ways. If you think that any one of them are strictly more powerful than the others, then its probably because you don't understand the power of the other.
Related languages like Perl or Lisp with a focus on TMTOWTDI are more immediately gratifying because you can easier tailor the look of the language to your personal preferences. This however have a long term cost to maintainability and sharing in the community.
The power of Python is an emergent property caused by readability and clarity combined with the network effect in the community.