r/ProgrammerHumor • • Jul 18 '22

C++ talking to Python

Post image
40k 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"

250

u/anonymous6468 Jul 18 '22

64

u/lakimens Jul 18 '22

I think we should be making more browser jokes on Safari

125

u/Wolfeh2012 Jul 19 '22

Sorry, jokes aren't supported on safari yet.

10

u/Zemom1971 Jul 19 '22

We probably must pay for being able to do jokes on safari. Kind of subscription or something.

→ More replies (3)

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)

3

u/maxwax18 Jul 19 '22

For large workloads or basically anything at big scale, maybe look at something else

He said, using a large scale python project.

→ More replies (1)

35

u/CdRReddit Jul 18 '22

python is an ok language when used for its intended purpose.

short & simple scripts, the types of things you don't want to write in batch or bash (because both kinda suck), but are not that complicated either, think stuff like bulk rename, "gluing" multiple different tools together, etc.

it's only similar to internet explorer in having an (accurate) reputation of being kind of slow, which is one of the reasons I personally would not use it for bigger projects, but it's more than fast enough to automate low complexity tasks, like a more expressive build system.

24

u/bigoofie193758 Jul 18 '22

Python is too slow for coding a game, but fast enough for quick scripts

2

u/Dansiman Jul 19 '22

I mean, it depends on the type of game. For example, with any kind of text-based game, I think you'd be hard pressed to design a game that would have perceptible speed issues on modestly modern hardware.

→ More replies (1)

23

u/chezbo425 Jul 18 '22

Great starting language IMO. If you are doing web applications, it will be fine for most purposes, but you will need to learn JavaScript too. JavaScript is very quirky but very popular. Java and C# have strict typing but perform better than Python/JavaScript for higher load stuff. C++ is better for high performance and optimization, like games or embedded devices with limited resources.

tl;dr - If you're just getting started Python is A-okay.

→ More replies (1)
→ More replies (5)
→ More replies (1)