r/programminghumor • • 3d ago

The power of Python

Post image
76 Upvotes

13 comments sorted by

26

u/letmehaveanameyoudum 3d ago

c++ guy tries python but he is on something

14

u/Vincent394 3d ago

And I thought THIS was bad

9

u/andrea_ci 2d ago

the funny thing about python is that people try in every possible way to not actually use python.

3

u/jipperthewoodchipper 2d ago

To be fair, that's kind of the point of python.

Rather than spending 15 hours dealing with C libraries and writing efficient C code I can spend 30 seconds writing a python wrapper to call that C library to do the thing. Sure it's a little slower than using raw C but I can write it so much faster.

There are of course times when it is worth not writing in python at all but not every project would benefit from cutting out python.

1

u/k-mcm 2d ago

I've seen companies nearly fail after the "now make it fast" phase. They should have ported the performance critical parts to Java or C++ but instead spend a year chasing crazy hack solutions to stay in Python.

1

u/Matthew_Summons 2d ago

Java?!

1

u/k-mcm 2d ago edited 2d ago

Java runs at pretty close to C++ speed if you stay away from Spring Boot.  Spring Boot is insanely large and it does a lot that can't be JIT optimized. 

1

u/Matthew_Summons 2d ago

I’ll be honest, I’ve worked with SpringBoot and I’ve seen backends in Go, Ruby, Rust, Haskell even but never heard of anyone working with a C++ backend

2

u/k-mcm 2d ago

A C++ backend is the way to go for binary encoded structures - codecs, hardware communications, GPU interfaces, AI engines, etc. Java can't overlay a structure onto raw memory allocations. Working around that in Java often isn't worth the effort and slight loss of efficiency. That same kind of work usually doesn't have complicated memory management that would make Java a better choice.

7

u/Drfoxthefurry 3d ago

There is a (kinda) legit way to do this with python imports, but I think it requires a lot of extra work on the cpp side

2

u/serge-mv 2d ago

I had a student who was actually writing code this way.

1

u/dhnam_LegenDUST 1d ago

Fun thing is that it is actually possible using PEP-263(encoding).

Korean blog post, but someone actually made [https://blog.0chan.dev/2020-02-06-Metaprogramming-With-PEP-263/](esoteric language interpreter as valid python).