this post was submitted on 11 Jul 2023
25 points (96.3% liked)

General Programming Discussion

7785 readers
12 users here now

A general programming discussion community.

Rules:

  1. Be civil.
  2. Please start discussions that spark conversation

Other communities

Systems

Functional Programming

Also related

founded 5 years ago
MODERATORS
 

I don't really want to go in depth into programming, I just want to know what I'm looking at if I ever come across anything like that at my job (mechanical engineering) and maybe solve some simple problems.

I learned C and Java in my first year in college, but it's all mostly forgotten. I'm leaning towards Python since I read it's relatively simple and used a lot nowadays, and it's what my teachers used later on in college anyway.

What do you guys think?

Thanks in advance!

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 1 year ago

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.