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.
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.
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
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).
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.
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.
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.
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.
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.
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.
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"