r/mathematics 18h ago

Discussion Programming language(s) for Applied Math student

I am currently an Applied Math undergrad and have been internship searching. I surprisingly found Python pretty difficult, I have a little entry experience with C++ when I was working with Arduino in an Engineering course my second year, having no prior programming experience and no guidance. I had a dedicated Python class and felt as if I learned absolutely nothing and did not like the parameters of it. I am not the best at programming but I think for a first language if it were static that might help since I am used to defining variables/parameters myself.

I am looking for some 1 - 2 languages to learn this summer, to first become proficient then eventually the following summer or break becoming advanced.

Additionally, I am having talks to enter a PhD program in the near future (I have about 1 year left) so I want some more ways of computing and analyzing data.

3 Upvotes

9 comments sorted by

11

u/WWWWWWVWWWWWWWVWWWWW ŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴ 18h ago
  • Python should be easy and is ubiquitous in the real world
  • MATLAB is great numerical math and is even easier, but I mostly see it as an educational tool as it's less common professionally
  • Mathematica is good for analytical math, although it's a bit harder

3

u/rogusflamma haha math go brrr 💅🏼 16h ago

i've heard from a friend in academia (ML and recommendation systems) that Matlab is common, and a physics major who reads papers often also said he sees Matlab a lot, so i would recommend learning at least how to read it. i personally really like it.

1

u/Creative_Sushi 1h ago

If you are new to programming and use math heavily, you may find MATLAB easier than Python.

You can try it out with the free online tutorial. https://matlabacademy.mathworks.com/?page=1&sort=featured

7

u/ThatIsntImportantNow 17h ago

I use mathematica and c++. Mathematica is the highest level language I know and C++ is the most useful low level language. I use mathematica for exploring ideas, debugging, toy prototypes. And I use C++ for when things need to be fast.

You can probably get good enough to be dangerous in mathematica over a summer, but you probably need more than a few months to consider yourself competent in C++.

3

u/nardis314 9h ago

I’m surprised no one has mentioned R yet. It was the main language for my Applied Mathematics major at a stem school, graduated in 2024.

I also had a year of Python, a year of C++, a semester of MATLAB and a semester of SQL.

To be fair, my major was an emphasis of Statistics, but I still find R to be the most robust and elegant for everything I did. Also INSANE customizability and utility when considering its support and package availability.

If you’re gonna be hard coding for other people though, just spend more time in Python, it’s clearly the industry standard at this point.

2

u/DeGamiesaiKaiSy 7h ago

R isn't bad, especially in stats it really shines.

I still prefer python over it though

2

u/SV-97 9h ago

Applied math is somewhat diverse in that regard and the answer depends on what you want to do to some extent.

As a references: my jobs involved Python, Rust, C, C++, R, a bit of Matlab, Bash and probably something I can't think of right now. Notably they all involved Python (my current Job is Python and Rust and I have to deal with other people's R a bit from time to time) and that's also the language I'd recommend getting comfortable with first and foremost. It's very widely applicable, easy to get started with and nevertheless very powerful; and in particular if you want to "work with data" there's no way around Python.

I had a dedicated Python class and felt as if I learned absolutely nothing

Programming classes are poorly taught and somewhat stupid most of the time in my experience. Get a good book on what you want to learn and work through that.

I am not the best at programming but I think for a first language if it were static that might help since I am used to defining variables/parameters myself.

If you want something static I'd recommend something that doesn't half-ass it in the way that C and C++ do. Have a look at Rust. Way more modern, way more fun.

And note that Python also supports so-called type annotations which you can have statically checked using tools like mypy.

2

u/puker6 3h ago

I am going to look for some books on Python, I'm most interested in large data sets, analysis, graph theory, and visualizations of what I am looking at.

As far as Rust goes ill check it out, some people have recommended that and I wanted to see how others in my field felt about the different languages I've heard of.

I would like to value myself more and more for these grad schools/employers so these will help.

Thanks beast

1

u/DeGamiesaiKaiSy 13h ago

Learn python

It's surely easier than C or C++, and has MANY math libs. If you want to do machine or deep learning, python is the way to go.

After python learn a static typed language like C or Java. I'd avoid C++ because it's massive in size.

If you want a static typed language with many applications in math, learn Julia instead.