I would love to know what books you guys recommend both applications and theory for mathematics majors.
From programming languages to implementations to automata theory.
CS major here, you should look into this book.
The Art Of Computer Programming will also improve your skills immensely if you're willing to learn MMIX and do the exercises.
Math and bio dual major. Unfortunately I have no coding experience, but I would like to learn R (and just how to code in a couple languages in general). Should I try to learn R first or something else? I would also like to learn C, and I've heard its a good one to start with if you're mathematically inclined.
C doesn't really have anything to do with math. Mathematically inclined people might like a functional language like haskell, though.
C is really bare-bones and has very little abstraction.
You should probably learn C anyway though, since it's kind of a lingua-franca in the programming world, and is fairly simple (but doesn't hold your hand as much as a higher level language).
Pre-CLRS book. Written by one of the CLRS books. Mathematical, doesn't assume you can program. Exposes you to the ideas of mathematically reasoning about efficiency, introduces asymptotic notation (big oh, etc), correctness, etc. Introduces sorting algorithms, etc. Teaches you from a programming independent view.
Next after that book dive into
Solid book on algorithms. Should have a better understanding after reading algorithms unlocked
Or move into some programming specific book on implement of algorithms. Segewick or whatever his name is is a good start.
Learn C++, C is outdated and only shilled by 40 year old autistics that hate change. C's benefit over C++ only appears in really niche areas that a mathematician will never fall into.
Yes but the learning curve for writing C++ is much higher. There's a lot more features and there are also a lot of things that you need to watch out for before you can write C++ that isn't shit.
If you do learn C++, make sure to read some of the Effective C++ books though.
R it is then
>I've heard its a good one to start with if you're mathematically inclined.
programming in general is aided by mathematical aptitude.
Python is a good bet too, then move onto C (and Cython) if the interest is still there.
>Yes but the learning curve for writing C++ is much higher
Do you say the learning curve for a graphing calculator is higher than a scientific? Just because there are more features doesn't mean you need to master them all before you can start adding numbers, same with programming.
Honestly, I say the learning curve is lower (but longer) for C++. You can avoid a lot of the nastiness of C until you're ready for it.
>a lot of things that you need to watch out for before you can write C++ that isn't shit
You either have to watch out for them too in C or involve something that can be ignored by the beginner.