Ranter
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Comments
-
atheist99815yI mean, as a language I think it's good, but can be used in ugly ways. As with any language, I'd question the dev!
-
Kinda slow, bad package system, dynamically typed, bad standard documentation support (no way to use docstrings on variables), bad/flaky documentation of the standard library, bad OO support (no interfaces, no proper abstract classes, no visibility modifiers only weird underscore prefixing stuff), lambdas suck, it's badly abstracted (some features are direct wrappers OS concepts which depend on how it was compiled or what platform it runs on), inconsistencies with mutability (not that bad, but still), ugly underscore magic functions, sometimes procedural len(list) sometimes OO whatever.size(), problems with lack of forward declarations (including classes not being able to use themselves as type hints, atleast that's fixed in the newest version), and general inconsistency/unpredictability because it's dynamically-typed (I've said that already but it bears repeating). These are the ones from the top of my head
-
gat0r485yAll I'm hearing is a bunch of whiny Java devs who think OOP is the only way to approach a problem.
-
@gat0r Not only do I like Java but I also love C. I just don't like sloppy, badly designed scripting languages. Proper OOP and procedural are both great. Python does neither well
-
@12bitfloat
Visibility modifiers? Double underscore is private, that's it. Simply different, but not missing. "Protected" is debatable.
Interfaces? Abstract base classes.
Using themselves as type hint? You can use a plain string with the name as a type hint, which is replaced at runtime. No ideal, though.
What don't you like about the existing standard library's documentation? Yes, some modules (e.g. msilib, fcntl to name a few) are hardly documented, but the most modules are.
Len(obj) calls OP obj.__len_()_, when obj.size() is implemented, it usually is older code.
The underscore functions try to separate "normal" methods and "special methods", preventing one developer to write .length() and another .size().
The abstracting to underlying OS functions are getting less (e.g. UTF-8 should be mostly the default mostly, pathlib replaces / and \ misunderstandings).
Of course some explicit platform specific modules will remain platform specific (pwd, spwd, fnctl, winsound etc.).
I'm open to hear more platform specifics.
About lambdas: They suck, but I'm not sure what would be the alternatives. -
@sbiewald You can make excuses for all of my points, that doesn't change the fact that all of these are slight annoyances that add up
-
Wait, why do we need lambdas at all?
def function(arg):
def anotherfunc(arg):
print("Yay!")
anotherfunc(None)
You can just make a function at any time. And functions are objects too. anotherfunc.attrib = 1 is a thing.
Is there a [code] tag? My spacing is all crap now. -
@Demolishun There isn't a code tag - in fact there is no formatting at all.
Would be useful sometimes, but the reason is that overused formatting can be distracting - something I can support. -
@sbiewald <cries into hands> But, but, but my python code needs formatting... <sobbing>
Thanks for the info! -
C0D4669025y@Demolishun you can make use of Highlight Bot:
@highlight
def function(arg):
def anotherFunction(arg):
print("yay");
anotherFunction(None) -
-
Everything is a statement (reference?) in Python as well. So that means you can make factories for classes too. Its the ultimate on fly do whatever the hell you want language. The king of introspection. I really miss pythons introspection in C++.
-
@ everyone in this shitty thread, you have all been b8'd. OP hasn't responded to ANYTHING.
-
Pyjong10875y@12bitfloat I like the purpose of js when used for browsers for all the fancy drawing stuff. Servers can this way save performance for actually serving information and offload this to clients. Not as huge fan on using js in cmdline. I'm not too seasoned in js tho.
-
Pyjong10875y@irene Yeah true, but is it really too much js? I'd picture that be caused by too much data put on the site. (Despite the fact that sometimes it helps to disable js because it loads all the ads and videos and whatnot)
Python sucks
That is all
rant
python sucks serious monkey balls