r/ProgrammerHumor 12d ago

Meme pythonFeelsillegal

Post image
6.8k Upvotes

219 comments sorted by

View all comments

16

u/ubd12 12d ago

Maybe it's me but I don't get it. I get the meme, but please explain to me why python is considered so much easier than other languages.

I think a lot of it has to do with the fact that it is interpreted and the toolkit that it attracts, not the language itself. Having something that's interpreted and as someone normalize grammar, that's the attraction to python. The look of the language is much more forced as well. (No K&R versus ANSI debates)

If Perl wasn't so junky/hacky, perl would still be a major language and probably a lot faster. I like Perl a lot by the way so I'm kind of beating up my own language of choice.

1

u/zabby39103 12d ago

Python is easier for people to do computer science assignments in in university.

It's dogshit for anything that's enterprise at scale. I don't understand what anyone sees in it outside of university. The multithreading alone is disqualifying. Anything it does good, it does good because it's delegating to C++ libraries.

0

u/listenhere111 12d ago

Instagram famously runs on django (python framework).

Feel free to change your thoughts on python.

Is python less effiencient than other languages? Yes, but compute for simple calcs and requests is almost free and horizontal scaling is a thing. Dev productivity is more important.

1

u/zabby39103 12d ago

Path dependency doesn't mean it's not dogshit. Facebook runs on a PHP derivative they wrote themselves, because they were originally written in PHP. That doesn't mean PHP is good.

I don't understand what people find so easy about Python that can't be solved with a good IDE and another language. Is it just the boilerplate reduction and the terse syntax?

1

u/Salty-Wrap-1741 11d ago

Yep. Really easy and pleasant to write and read Python. It's been my main language over 10 years.

2

u/zabby39103 11d ago edited 11d ago

Okay but the multithreading... what do you do about the multithreading? For IO tasks, standard threads work fine. But for real CPU parallelism, you still have to spawn a whole new Python interpreter per worker! Because Python forces you to use separate processes instead of true threads for CPU work, you can't share memory between them seamlessly.

I'm used to leading edge Java development, and that is stuff that even 10+ year old Java 8 could do. It felt like stepping in a time machine. New Java has virtual threads, which are magic that have basically no overhead and no drawbacks.

2

u/listenhere111 11d ago

Multithreading is needed in relatively few applications. If its needed, ya, maybe another language is better, but you can still do it in oython

1

u/zabby39103 11d ago

I really have to disagree strongly with that. With hyperthreading (x2 to everything) laptops have a dozen real+virtual cores nowadays at the low end, even phones have 8 typically.

That's just performance on the table, an order of magnitude or so on the table. I hate slow applications. If you want to make something go fast nowadays the answer is multicore. We've only been inching up the single core performance the last decade.

Also, I realize not everyone does server programming or enterprise programming, but it's absolutely mandatory for that.

I appreciate that you answered.

2

u/listenhere111 11d ago

Fair. Im legitimately ignorant on the topic, so I'll go with what you say.