Diff: [root] @ 53cb34cc1ee | faq | css

+ nopython

File created: nopython [Diff]

-- /dev/null++ b/nopython
@@ -1 +1,59 @@
h1. [ No Python ]

Python is a broken programming language. Why broken?

h2. Python brokenness from user's point of view.

Have you ever tried to use Python app? For example, Gajim, lastmp, debtorrent, deluge?

If you didn't notice that these programs are sluggish and consume much memory, -you are a moron- even now you can still be healed.

Lastmp, for example, crashes "wherever it encounters broken Unicode":http://bitcheese.net/vlog/post/580. Looks like you need to surround every string loading with try..catch in python for that not to happen. Good design, eh?

h2. Python brokenness from developer's point of view.

h3. The beginning

What does every .py file begin with?

bc. # -*- coding: utf-8 -*-

What the fuck are those? Pseudo-graphics to entertain a coder?

Ruby 1.9 has to deal with this problem too, but

# It's considered temporary
# It's plain "coding: utf-8" without those idiotic dashes or asterisks.

h3. Indentation

Indenting code properly is good. But why make it part of syntax? To understand codemonkeys' code? They can write in one line anyway, and while you can convert this to proper indentation, you cannot do that vice-versa if indentation is wrong, and compiler wouldn't even complain.

h3. __fuck__(self, brain)

Python treats objects as hashes (dictionaries), but this approach is flawed. You still need those 'blessed' methods, and python surrounds them with double underscores as distinction measure. Hell yeah! When in future even more kludges will be required for Python OOP not to fall apart, coders will learn to tell apart three and four underscores with normal font.

Every object method is passed with *self* as first argument. Omg why? So you could call it wtfmycoolvarname and ruin the code understandability? So much for indentation and shit. Anyway, official python book says it's strictly discouraged, so type (self), monkeys. Hell, you don't get so deep in shit even when coding C++.

Speaking of unnecessary chars, you need those parentheses everywhere. If you omit them, you get "Invalid syntax" from python. Gee, that really helps, my syntax is incorrect.

So let's count chars. Here goes class initializer definition in python:

bc. def __init__(self)
return 0;

Same in ruby:

bc. def initialize

36 chars against 18. And this code isn't doing anything worthly anyway.

h2. Conclusion

Python is totally broken. If you still think it's a really good language, ask yourself:

# Haven't I been using C++ for ages and now is blinded with ads & PR?
# Did I try other dynamic languages? Ruby or LISP?
# Am I a moron?

By Voker57 on 2009-04-12 10:38:14 +0000