Because I'm learning it, almost done through the tutorial, and it looks great.
Name:
Anonymous2005-12-21 9:35
Everything is an expression... well almost. Whoops.
The worlds most broken OO system.
Guido is insane and wishes to remove any semantic resemblance to Lisp.
Zope.
Name:
Anonymous2005-12-21 10:34
(>>1 here) Everything is an expression... well almost. Whoops.
Yeah, I'm missing C's assignment and conditional operators.
The worlds most broken OO system.
Interesting, could you explain me why is it broken? It looks good in theory. Thanks in advance.
Guido is insane and wishes to remove any semantic resemblance to Lisp.
from MyLispFunctionsLolLol import * ?
Zope.
What about mod_python? (Even so, I'm not so interested on using it for web applications as I am on using it for desktop applications.)
Name:
Anonymous2005-12-21 13:40
>>from MyLispFunctionsLolLol import * ?
you missed the word 'semantic'
Name:
Anonymous2005-12-21 14:20
if you consider namespaces syntax, then python is just perl with another face. all the underlying data structures are exactly the same and the OO stuff is just namespace trickery. it's like guido just decided that perl is too ugly and decided to make it __pretty__.
Name:
Anonymous2005-12-21 16:01
>>5 it's like guido just decided that perl is too ugly and decided to make it __pretty__.
Lol, Perl is ugly indeed (can't stand the syntax, that's why I went for PHP for a scripting language and now giving Python a try), and I did notice __something__ __funny__ about Python.
Name:
Anonymous2005-12-21 21:00
Still wondering what's so bad about Python's OO model
Name:
Anonymous2005-12-22 1:18
Python OO isn't strict OO, basically. That's because Python isn't a very strict language. The three main showstopping errors are typos, type mismatches, and invalid subscripting of a list - all of which happen to be very easy to understand. Errors relating to use of OO almost never occur because the way OO is handled is so lax. It makes one feel at ease to do things considered "outrageous" in other languages because the overhead isn't a major concern. People interested in purity call it a hack, and a slow one. People who Want To Get Things Done Fast generally like Python (eventually).
Name:
Anonymous2005-12-22 5:34
>>8
Thanks for the info! Anonymous appreciates it, it's the exact kind of feedback he was looking for. Yes, it's relaxed, and that's exactly what is looking good to me; I'd rather risk typos in attribute names or stuff like that than cope with an ultra strict, ultra low productivity language like Java (besides the other things I don't like from Java). I'm aware of the fact Python is scripted and it'll be slower, but I'm looking for productivity, both for my personal projects and my work at a company. I want to get it done fast, and well (i.e. easily maintenable), while keeping a reasonable speed (reasonable = ok, it's n times slower, but at least it has the same complexity).
Regarding Python's speed, I think I had seen a benchmark of a few simple things concluding that, out of the big four scripting languages, Python is the fastest followed very closely by Perl, and both of them are considerably faster than PHP and Ruby.
Name:
Anonymous2005-12-22 5:50
def __Many__ (self, Ugly):
"""Symbols"""
Python may get things done quick, but the syntax (and some semantics) is terrible. Worse, it seems to promote dense clusters of horizontal code. After using Ruby, I just don't want to touch Python again.
Except that Ruby is still dog slow. Fuck.
Name:
Anonymous2005-12-22 8:56
>>10
If Python's syntax is terrible, then what about Perl's?
Save for the lack of C = and :?, the __underscores__ (RegularNamesAreFineToo), and the '''stupid quotes''' (quotes in any language and shell should be like Perl's, q{recursive {lol}, to reduce the shitty backslash hell}), I like Python's syntax, it's clean, and I love how it forces you to indent properly. I hate fixing n00b code, so if I'll be doing it, at least it'll be indentated.
Name:
Anonymous2005-12-22 12:19
lol python is fast? please to show me the benchmarks.
Name:
Anonymous2005-12-22 17:48
>>11
Perl's can be pretty bad (worse than Python). That doesn't change that Python's syntax is ugly.
Having said that, I find the perl code I've written looks better than the Python code. Perl is a terse language, while Python decidedly isn't. Python's verbosity is close to Java's, even though its semantics are vastly superior.
python is ok for almost everything, but it has some small problems on gui
- wxpython is bloated and not suitable in linux/osx.
- gtk wasn't good in windows.
- pyobjc is prefered in osx.
- No opinion on QT yet, it may involve a rather expensive commercial license in some cases.
Python is a script language w/o solid gui so it's not a good choice on desktop applications. (However, putting osx aside I think pygtk (+py2exe in windows) is OK for small utilities.)
for web development most people will use zope. mod_python is powerhouse but it is VERY BAD for developers, you may end up using other library and plug it to mod_python.
Also take a look for cherrypy and twisted.
My conclusion is that python is very fun to work with, very efficient and flexible. Great when you don't have much time. For bigger size project and desktop thing Java is probably better.
Name:
Anonymous2005-12-22 20:02
Python has no proper typing. It's like even less than Perl for crying out loud.
That's why I don't like it. It feels too much like a child's toy. Also the current standard implementation does not support a properly multi-threaded runtime.
Name:
Anonymous2005-12-22 22:33
Python is for noobs
Name:
Anonymous2005-12-23 7:42
It doesn't matter if it is for noobs. You may not be able to produce commercial quality products, but maintenance is not difficult and it cut development time.
C++ -> commercial products, need some modification for cross platform compatibility
Java -> internal applications, great for cross platform things
Python, perl, ruby -> speed development, cross platform compatibility
Basic -> it suck. However, it's useful only because Microsoft Produces support it
Name:
Anonymous2005-12-23 9:37
n00b or not, you can find plenty of work using Perl and Python. Hopefully Ruby soon too.
So why you'd want to work on a Java or Basic project is beyond me. Let others take the pain, while you work at some smaller 10-30 person company where they're more flexible. You only live once.
Name:
Anonymous2005-12-28 14:23
you can find plenty of work using Perl and Python
Not where I live :(
Name:
Anonymous2005-12-28 15:43
>>19
>_< You live in the Internet! You should have known.
Name:
Anonymous2006-01-06 7:32
Don't forget that Ruby and Python are awesome languages when it comes to wrapping C libraries, you have the speed of C and the usefulness of your favorite programming language.
Name:
Anonymous2006-01-07 19:46
That reminds me of a pet peeve of mine: what is with the Python obsession with embedding other programs in python, and not the other way around?
If I want an embedded language in my app, I want it in my fucking app, not the other way around.
Name:
Anonymous2006-01-07 20:51
Hey guys, first tell us, what league are you programming and then lament about slowness of some language.
Maybe I should have written that in caps..
Name:
Anonymous2006-01-09 9:18
>>22
there are acceptable scenarios for both cases
Name:
Anonymous2006-01-10 6:44
Python is a brilliant language: I love it's flexibility, elegance-yet-practicality, and the way I can get shit done with less code and have more time for other things.
Name:
Anonymous2006-01-11 8:28
It's a decent language, but hardly brilliant. Cool off.
Name:
Anonymous2006-01-11 14:53
>>25
people who say this generally learned python before learning perl (and now they're fucked because they're attached to python's BASIC-esque syntax)
Python has a fuck ugly syntax, and its verbosity appoaches that of Java, minus the parens. And no, it's not the enforced whitespace (I don't care about that).
__init__()? __call()__? __privateAttribute? """doc string"""? [way too many one-line list hacks, especially with list filtering]? self? u""? lambda x: ? Bizarre and-or hack? _ZOMG__thisMethodIsntReallyPrivate()?
Frankly, Ruby has what Python's syntax should have been, even if it has its own problems.
If you think Python is "elegant", you haven't seen many other languages. It's a decent language, with many nice features, but elegant and brilliant it sure as hell isn't.
Name:
Anonymous2006-01-12 0:16 (sage)
python's list comprehensions are the only feature where i could say "i wish more languages had this"
Name:
Anonymous2006-01-12 10:26 (sage)
>>30
Haskell does. Well, it's more like Python has Haskell's list comprehensions, but still.
Name:
Anonymous2006-01-12 11:16
Haskell can have array comprehensions which is way superior.
Name:
Anonymous2006-02-02 4:14
Approaches the verbosity of Java, wtf?! Nevermind the fact that a Java project will have ten times the lines of code. Python has been around for years, during which developers have really figured out the most practical (not necessarily pure) ways of doing things. As a result of this, IMO it's by far the most readable language of the bunch.
Not that I'm advocating __this__, but at least Python doesn't break old code with every new release. Same reason here. and-or's been around longer than Python and far from perfect, very true. 'self' has spawned great controversies, sure, and there's plenty of good justification for and against it widely available. I've never seen _privateAttributeConvention go wrong in actual code. For that matter, ranting about inconsistencies in the syntax is largely a waste of time; go write your code. Once you get down to that, Python just works.
Name:
Anonymous2006-02-02 5:18
I knew I'd catch someone with that. Took a while, but hook, line, and sinker.
What, have you've tied your identity so much to your favorite language you can't bear to hear criticism? It's just a language.
Name:
Anonymous2006-02-02 6:19
For that matter, ranting about inconsistencies in the syntax is largely a waste of time; go write your code. Once you get down to that, Python just works.
I must say I found the opposite to be true. Looking at Python from a distance it seemed quite nice; once I got into it it gradually started to smell worse until I had to put it in a plastic bag and dump it in the trash.
Name:
Anonymous2006-02-03 14:11
>>33
| Nevermind the fact that a Java project will have ten times the lines of code
Lies. It will only have 5 times the lines of code. Of 3 times the width.
Name:
Anonymous2006-02-03 20:46
I've noticed that python coders write really horizontal code. Things similar to:
self.convertId([(name, uidutil.getId(obj)) for name, obj in container.items() if IContainer.isInstance(obj)])
I see this in pythonic code all the time, and I think it's a really bad idea. On top of that, a lot of python coders seem to think their code doesn't need comments. Maybe they buy into the hype that Python is specially made to be readable (hint: it's about as readable as any other major language).
In general, I find Python is verbose compared to the other scripting languages. It's like the Java of the scripting world: fast (yet with as a long start-up time compared to others), verbose, not pretty, has comprehensive libraries, and with language features made to scale.
Name:
Anonymous2006-02-04 6:19
>>37
That's simply because python relies more on expressions than statements. In my opinion it doesn't take it far enough. "nearly everything is an expression" to me means the same as "this language nearly doesn't suck".
As for readability, I don't like python that much but I have to admit that there's a good reason for not bothering to comment your code. Reading through other people's code after hardly any experience with the language, it was immediately obvious what it did. And I'm not talking about trivial programs here, this was a third party library (PIL in fact).
Perhaps you'd prefer columns of statements. That's cool, just, uh, I dunno stick to BASIC or something.
Name:
Anonymous2006-02-04 7:02
Reading through other people's code after hardly any experience with the language, it was immediately obvious what it did.
If you read every line of code, sure.
What I'd like is sane commenting. You know, a comment that indicates what each paragraph of code does. That way I don't need to get into the minutiae in order to have a general understanding of what is going on.
I couldn't help but have this hammered into my face while writing some adapters between zope3 and a few other third-party python programs. What a waste of my time, all because the authors were too lazy to properly comment. Considering I have deadlines to meet (and a life), it's not appreciated.
Name:
Anonymous2006-02-04 7:06
>>39
Well the problem there is that Zope is insane and tries to make Python into Java. Interfaces? Get out!
Name:
Anonymous2006-02-04 7:13
>>40
I wasn't referring to Zope, although Zope has a mean hump for a learning curve. Zope3 is decently commented in many parts. I was referring to the third-party programs, some of them fairly major. You've heard of Mailman, I presume?
Talking about zope3, did you know that many of the books that are written about it are out of date? Even the ones published just one year ago? It's really fucking annoying wondering why your code doesn't work, to then copy the code straight out of the book and discover that you're not wrong; it's the book.
Name:
Anonymous2006-02-04 13:42
>>37 In general, I find Python is verbose compared to the other scripting languages. It's like the Java of the scripting world: fast (yet with as a long start-up time compared to others), verbose, not pretty, has comprehensive libraries, and with language features made to scale.
It's indeed verbose and I wouldn't use it for quick scripting (I use PHP CLI and Perl for that), but I would use it for applications and prototypes. It's definitely prettier than Java, and way prettier than Perl too. I don't have experience with its libraries, but I hope they won't be overengineered to the point of being useless as Java's.
>>39 What I'd like is sane commenting. You know, a comment that indicates what each paragraph of code does. That way I don't need to get into the minutiae in order to have a general understanding of what is going on.
I agree with this too
>>40
Yeah, for what I've heard, Zope sucks. I'll be sure to stay away from it.
Name:
Anonymous2006-02-04 18:08
I hope they won't be overengineered to the point of being useless as Java's.
Ah, Java. I hate that language.
No matter what gripes I have about Python, it's way better than Java. The libraries don't feel overengineered, and you don't need to jump through ten hoops to get something simple done. Even not-simple things are often simple in Python.
And then of course there is the object model. Message passing >>> static class hierarchies.
Name:
Anonymous2009-01-14 5:08
Python is slow,bloated,FIOC and its bad OOP
Name:
Anonymous2009-03-06 12:16
It which is what women do It is move a count into e cx and proceed cautiously with care and attention to what letters would by typed by that series of prelude short scenarios.