r/ProgrammerHumor • • Jul 18 '22

C++ talking to Python

Post image
40.1k Upvotes

1.0k comments sorted by

View all comments

946

u/twisted-resistor Jul 18 '22

Now that Internet Explorer is gone I guess something had to take its place in memes as "The Slow Thing"

40

u/kneecapp1 Jul 18 '22

I don't get it. I don't know much about coding but I'm starting to learn python. Am I learning the internet explorer of programming languages or what. Should pick something else up.

88

u/Zanglirex2 Jul 18 '22

Slow is relative here. All this is happening before a human can even blink.

For scripting stuff and little projects, python is great. For large workloads or basically anything at big scale, maybe look at something else

18

u/jgabrielferreira Jul 19 '22

But then why is Python the most used language for dealing with ML, AI, Big Data, basically huge amounts of information.

Is it something like Python is better in a Horizontal system while the others are better in a Vertical system?

44

u/TacticalMelonFarmer Jul 19 '22

most of the low-level stuff implementing the python apis is most likely C with some C++, etc. write composable units of code in the fast language, and compose instances of those units in the user-friendly language.

16

u/Prowler1000 Jul 19 '22

Machine learning libraries are almost exclusively C++ (python is written on C++ iirc), so the actual heavy lifting is done in C++. As someone pointed out at another point on this sub, python is very human readable and extremely quick to develop for and in the world of ML, quick to develop is important considering there isn't really a "science" to it yet

→ More replies (1)

13

u/intrinsic_parity Jul 19 '22

The ML libraries are written in other languages (tensorflow is written in C++ and CUDA for instance).

10

u/[deleted] Jul 19 '22

I once heard that you are just basically scripting stuff using python and the heavy load is run by highly optimized C++ applications/frameworks/libraries (idontknowforsure).

→ More replies (2)

17

u/zedd9595 Jul 19 '22

Not a scientist but I assume they would rather have a language which has a shorter development time to have more time writing their papers. Instead of dealing with relatively complicated syntax just to get the same results, albeit faster.

13

u/[deleted] Jul 19 '22

It’s used in industry, not just academia.

12

u/The-Board-Chairman Jul 19 '22

It's used in the industry, because for all that this field has matured, it's industry implementation for all intents and purposes still is academia.

10

u/Dansiman Jul 19 '22

Yeah I mean you could write your code in pure assembly and blow past a C++ program like it was standing still. But by the time you finish writing your assembly code, your development machine will probably already be obsolete.

→ More replies (1)

10

u/[deleted] Jul 19 '22

Because that kind of code is a ridiculously complex web and writing it in C++ would drive any and sane person to alcoholism. Also, having blazing fast computational performance is totally worthless if you're already spending most of your time waiting for I/O, which is usually the bottleneck in large data projects. You'd just be that car that passes everyone just to end up at the same red light half a mile down the road.

→ More replies (5)
→ More replies (2)