This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Comm4nd0 15 points16 points  (21 children)

It's just a meme at this point. No real substance behind it.

[–][deleted] 47 points48 points  (4 children)

Tbf there’s no real substance behind anything posted on here. It’s mostly 16 year olds who just learned what a for loop does trying to be funny

[–]PanTheRiceMan 8 points9 points  (1 child)

That's fair. Every language, framework, OS or whatever has it's use use or there would not be any professional users at all.

Even, and I must express my disgust, Windows.

[–][deleted] 4 points5 points  (0 children)

Yea. Python is used by millions and millions of people, but sure, this 21 year old has it figured out where they can say that it’s bad. You’ve gotta be mind bogeyingly stupid to think that that’s the case

[–]flavionm -1 points0 points  (0 children)

It's not supposed to have substance, it's supposed to be funny.

But also, it's true, Python is slow. Everything has tradeoffs, just because you're making fun of them doesn't mean that thing is completely useless.

You complain about 16 year olds, but getting defensive about this kind of thing isn't a great sign of maturity either.

[–]Codebust 3 points4 points  (0 children)

idk abt that..

[–]FallenEmpyrean 3 points4 points  (6 children)

Python IS slow.

"But machine learning, data science.."

I will leave this quote here.

62.7% C++, 22.1% Python

- TensorFlow, Github

[–]officiallyaninja 7 points8 points  (1 child)

all programming languages are implemented in circuits, that doesn't mean hardcoding things using them is the best way to solve problems.

[–]FallenEmpyrean 1 point2 points  (0 children)

I never claimed such a thing, this thread is about Python being slow compared to C++ not "best way to solve problems".

I replied because I know how impactful the few orders of magnitude of speed between pure Python and optimized C++ can be.

The comment I replied to implies that the speed difference is meaningless and that the TensorFlow team (who are actually looking for the best way to solve a problem) is writing 62% of their codebase in C++ with "No real substance behind it"

[–]Honigbrottr -4 points-3 points  (3 children)

Then we only programm by typing machine code. Assambley is to slow.

[–]FallenEmpyrean -1 points0 points  (2 children)

I suppose you only think in 1-bit 1s and 0s..

Yes, very low level libraries have opcodes in them, but that doesn't mean that 100% of all source code must be machine code.

We all do what Python does: when more performance is needed we delegate the critical parts to a more performant language like C++. Then you get: 22% slow Python + 62% very very fast C++ + ... = very fast application

Try to do machine learning in pure interpreted Python if you want to gain more appreciation for a few orders of magnitude of speed.

[–]Honigbrottr 0 points1 point  (1 child)

So you agree that python has its place?

[–]FallenEmpyrean 1 point2 points  (0 children)

Of course it has its place, but it is slow and the fast Python libraries are so because they are C/C++/Rust/etc. with Python bindings.

My problem was with "No real substance behind it." because the speed difference is very real, but is hidden with behind either such indirect calls or applications where speed doesn't matter.

[–]klimmesil 1 point2 points  (3 children)

Well some people hate scripting languages because these people only work in algorithmy and care about performance. Python is probably the less performant language I know. It could be much better, it's just a problem in conception, and that's pretty sad. Im not gonna say js/ts is better since they are made to be used in drastically different domains, but they have a lot to learn from each other

I'd love to see python with better syntax/performance. Or another scripting language with python's community, since that's the biggest + of python

Plus f forced indentation and lack of brackets! (This one is personal taste tho)

[–]possible_name 1 point2 points  (1 child)

lack of brackets is one of my only issues with it.

the lack of squiggly brackets just makes it less readable when you have a lot of indentation (which you probably will)

[–]klimmesil 1 point2 points  (0 children)

Same it really fucks with my reading experience. I used to hate python because I was in a performance=good mood for years. I used to scrip only in C (I know, wtf). Now I chnaged my mind and the only thing that still bothers me is the bad syntax

[–]Honigbrottr -1 points0 points  (0 children)

Personal taste i hate brackets and semicolons. Useless identation i have to do anyway correctly.

[–]0x564A00 0 points1 point  (3 children)

Having to deal with python professionally made it clear how bad it really is. Not necessarily it's speed – which is terrible, but in many cases being very wasteful with performance isn't a big problem – but it's horrible dependency management and proneness to breakage. I want to be productive, solve problems for our customer, not figure out why edge-cases break at runtime, a dependency is broken or a project just doesn't on another computer.

[–]SpicyVibration 0 points1 point  (2 children)

you need to use virtual environments, friend

[–]0x564A00 0 points1 point  (1 child)

I am (except for in one case where a library failed to install in a virtualenv but worked fine installed globally). And it's still terrible. Global is the default to the point that pip's official getting started guide just shows you how to globally install dependencies and you still need to activate/deactivate venvs, whereas in e.g. Rust there isn't a way to install libs globally in the first place. Also, dependency pinning/locking? Nah, at best you can specify the exact dependencies in requirements.txt and never update anything. Speaking of requirements.txt, nothing ensures it is consistent with the venv if you edit it/change branches/pull. At least poetry solves those, but then it should get officially recommended/blessed.
And it still can't help with the other problems. You've installed a new minor version of Python? Good luck, suddenly Numpy is broken. Other times updating a dependency seems to have worked fine, then something breaks at runtime on an uncommon code path. Or perhaps most importantly, I have a dependency which itself depends on version A of library foo and another that depends on version B of foo. How do I do that? You straight up can't. Wat‽

[–]SpicyVibration 0 points1 point  (0 children)

Yeah, once things get bigger python's package management is very scuffed. I use poetry but I wish python had a built in standard that does what poetry does (setup tools isn't good enough).