James Stroud <[EMAIL PROTECTED]> wrote: > André wrote: [snipping total repost of André's post]
> > I'm really annoyed at Python - and not for the reasons already > > mentioned on this list. > > > > Everyone know that programming is supposed to be a dark art, nearly > > impossible to learn. Computer code is supposed to be something > > impossible to read to the common person and yet reveal their secrets > > to the initiated - just remember the code displayed in the Matrix... > > > > Python takes all of that away. It is just too readable. Even > > beginners can quickly learn to read code written by experts. > > > > To make it even friendlier to beginners, Python uses ugly double > > underscores both as prefix and suffix on "magic methods" to be invoked > > only by more advanced programmers. What's the fun in hiding the > > complexity so that beginners can stay away from potential problems. > > > > And why, oh why, does raw_input() have to go? Here was at least one > > good example of something that gave a hint (what does "raw" mean?) at > > the underlying complexity. Combined with the evil of the hidden eval > > in the more obvious input(), there was at least a chance to trip > > beginners into doing something "dangerous". Alas, that will no longer > > be the case... > > > > Python does not even make good use of weird symbols like $ and @ and % > > to define variable types like Perl does. Now, that's a language to > > learn if you want to be respected. I think that Georg Brandl had it > > right in his recent proposal: > > http://mail.python.org/pipermail/python-dev/2007-April/072419.html > > > > If not Perl, perhaps Python should be inspired by a language like C++, > > full of arcane stuff and, thankfully, requiring typing declaration. > > This dynamic typing thing makes it just too easy to write working > > programs quickly, especially combined with the ease of use of the > > interpreter. And this other thing called "duck typing" is just too > > flexible to use. > > > > No, Python should be more difficult. It should take a full two > > minutes to compile a "Hello World" program on a modern computer. > > > > Also, this "docstring" business has to go. Any programmer should, as > > a rite of passage, have to spend countless hours reading obscure > > documentation to learn other people's code before finding out what > > methods can be used and how they should be used. Having to use things > > like "dir" and "help" just makes it too easy. > > > > And don't get me started about the absence of curly braces to define > > blocks of code. What's the fun in making it so darn visually easy to > > define such blocks of code, removing the possibility of creating > > subtle bugs due to the misplacement of a curly bracket. No sir, with > > Python, the structure has to be obvious at a glance - newbies can see > > it just as well as experts, thereby decreasing the aura surrounding > > the latter. This is not fair for people that have spent dozens of > > hours in learning to program using Python! > > > > And don't talk to me about functions, classes and methods, not to > > mention modules. Python makes it too easy to write code in many > > different styles, trying to please people who like to write only > > object-oriented code as well as those that follow the more traditional > > procedural approach. Even "functional" type people find their way to > > write code in their preferred method using Python. This is not right. > > > > Fortunately, Python has incorporated some newbie-unfriendly features, > > like metaclasses and, to a lesser extent, decorators which, at last, > > make use of a special character. There should be more of these, to > > make Python something more challenging to learn. > > > > Programming should be more difficult than this - otherwise, how can > > programmers be respected by the common folks? > > --- > > André > > > > I want to complain about the fact that I wrote 200 lines the other day > and it worked first time. Problem was, I spent 20 minutes before I > realized that the lack of errors was a result of the lack of bugs. -- http://mail.python.org/mailman/listinfo/python-list