this post was submitted on 11 Jul 2023
25 points (96.3% liked)
General Programming Discussion
7785 readers
17 users here now
A general programming discussion community.
Rules:
- Be civil.
- Please start discussions that spark conversation
Other communities
Systems
Functional Programming
Also related
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Another vote for Python. It's quick to learn the basics, and there are libraries available to let you achieve most anything. You can program it in a procedural, functional or object-oriented way, and if you understand those, you'll be well set-up to learn any other language. You may not need to learn any other languages - Python is both comprehensive and available in most places, and you can make a career out of it.
My primary problem with Python is that its unstructured nature causes bigger projects to collapse into a big ball of mud after a while - any function being able to accept any argument is more of a curse than a blessing. And I wouldn't want to code collaboratively in it - Java, for all it gets shit, is blessfully limited in what nonsense my coworkers can get up to.
It's also not 'fast', although it's made great strides. I did Advent Of Code in Python this year; a simple rewrite in C++ only acheived about a 4× speed-up, when it used to be 10× a few years ago, and that's for some very algorithm-heavy code. Python multithreading is still pretty terrible, though, so if you're really wanting to get the best out of your computer you'll want to use a native-code library like NumPy, or use some other language.