Python is the 2nd best language for any task.
You can learn niche langs for specific cases. Go for it.
Me, a python dev, will find an API to your subroutines.
PS. import antigravity
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Follow the wormhole through a path of communities !webdev@programming.dev
Python is the 2nd best language for any task.
You can learn niche langs for specific cases. Go for it.
Me, a python dev, will find an API to your subroutines.
PS. import antigravity
OP must be cold because he seems to really like flame wars
This is your second post about this and you got the same response last time.
Try a third post, maybe it'll go differently next time.
Betteridge's law of headlines:
Any headline that ends in a question mark can be answered by the word no
Demonstrably false, there are many cases where the answer is yes... it's just that there's also a lot of no.
Obviously. It is, however, a good heuristic. The headlines that can be answered in the affirmative are very much in the minority
The headlines that can be answered in the affirmative are very much in the minority
Not according to several different studies: https://en.wikipedia.org/wiki/Betteridge%27s_law_of_headlines#Studies
…Have you tried ML projects in Rust?
I mean, ML/data science devs use Python because the bajillion underlying libraries and implementations are already there.
It’s not perfect. But that’s fine, because it’s a pretty good prototyping language for researchers, and anything performance sensitive is done in libraries anyway.
If you want a real world example, see: Mistral.rs vs vllm.
PyTorch in particular is literally just a dispatching front end for CUDA anyway. It's actually an incredibly powerful tool for GPGPU development, and you will struggle to make faster GPU DSP by hand.
People making these arguments are just incredibly out of date. You can basically use python to trace super optimized GPU compute kernels and then drop them into whatever language you want via torchscript, onnx, trt, whatever.
Saying one programming language is better than another is ignorant; it's like arguing a screwdriver is better than a wrench.
Each language has their strengths and weaknesses that make them better at some tasks and worse at other. Python's strength is ease of development. Performance isn’t a big concern if you just want to quickly develop the app you want.
Rust might be more performant, but if development takes twice as long and the app only runs once or a few times, that benefit is unrealized.
Please point at the strengths of BASIC and Forth over, let's say, C++.
Forth is powerful while still being very easy to interpret. This makes it a great bootstrapping step.
It's also used as a scripting language in some embedded system, it might be telescopes but I'm not sure. While forth wouldn't be my first choice there, I don't want to be able to crashed the device because I have hot swapped in a binary, compiled with the wrong flags.
You can finish learning basic or Fortran. You will still be learning cpp in a decade.
"Python’s strength is ease of development"
That's what I usually see with Python. I think that's the reason people should choose it.
"Performance isn’t a big concern if you just want to quickly develop the app you want."
You're correct with that, but if your project is to make a touch screen app for fast food restaurant, now you're wrong because of Python's performance.
Python is very much "good enough" for that kind of environment. The touch screen drivers on the other hand, yes, should probably be rust/c.
Yeah, I've heard C is used for this kind of stuff, maybe also rust.
I don't like python personally, but saying its useless is quite far detached from reality considering all the python projects.
You can argue its slow and i would agree, but if people make alot of stuff with it its clearly not useless.
A programing language cannot be better than another one because its personal opinion.
you can’t make games or even big projects for GUI
Oh no? Someone should probably tell the people who made Eve Online.
they don't run the standard Python. because its unusably slow. Your examples proves the counterpoint
No. They chose a nonstandard Python because they wanted to use coroutines before standard Python had coroutines.
Your No True Scotsman argument is not only fallacious, but just plain incorrect.
And plenty more games are mainly or partially using python like Civ 4, DDLC, World of Tanks or Guild Wars
No. Next question.
(insert spongebob meme showing the fat dude a bunch of big python projects upon which many things run in this world)
Yes. I dunno about Rust, but Julia is a very similar to Python but much better.
But does anyone use Julia?
It's very popular in scientific computing
Python obviously isn't useless, but it is both slow, and if you're making serious software, the worst developer experience I've ever had to deal with. It makes the easy things easy and the hard things hard, so to speak
No games? Mount and Blade was written in python
Was it though? Or is it like other things "written in Python" where all of the heavy work is handled by C libraries?
Python itself is just a program written in c, every time you do len(string) you are calling out of the python interpreter into compiled c code. The distinction between python wrapped c library and a python lib can be fuzzy.
I hate this argument on principal, if I write a game with Pygame, it's written in Python not C.
Balatro is written in Lua not C just because Love uses SDL.
This is like saying Python, CPP, JS, PHP, LUA, Perl, Dart, C# and Java are just written in C.
This is like saying Rust isn't a real language because it relies on LLVM which is written with C/CPP.
If I split the lua code in balatro from the SDL library, I don't have a game anymore.
Why do you feel a need to be able to claim that something is "written in Lua" or "Python" when it's using native libraries? Many games are using a mix of languages these days. There's no shame in it and I didn't imply there is.
People get very confused over this thinking that "Python is very fast at number crunching" because of things like numpy which is written partly in C to achieve that performance.
This is like saying Rust isn’t a real language because it relies on LLVM which is written with C/CPP.
That's entirely different - I'm not talking about the interpreter or compiler. Just the runtime code.