[ prog / sol / mona ]

prog


Recommendations For A New Programmer

10 2024-03-12 08:38

I recommend learning at least 2 different programming languages with different philosophy. I think learning Scheme (start with R5RS) or Common Lisp is important for all programmers (http://random-state.net/features-of-common-lisp.html). After Scheme/CL, I recommend learning something like Prolog or perhaps C. I don't know much Prolog but it blew my mind! I don't know why I ignored it for so long! I actually don't like C very much but it's the standard ubiquitous language of Lunix world. I recommend also learning a bit of C++ because I think you should use C++ style strings instead of C-strings (most of the time) and the STL might be useful (write mainly C code but use some cherry-picked features of C++). But C and C++ aren't very nice languages, in my opinion. Python is also worth knowing because the language has gained so much momentum (it is/was pushed by Google and other giga corporations). As consequence, there are a ton of FLOSS libraries for Python (like Pandas, Scipy, Numpy, PyTorch). You also want to study data structures and algorithms at some point (sooner rather than later). You should also solve problems at Project Euler and Advent Of Code.

Books and other resources:
* SICP
* Little Schemer and Seasoned Schemer (these 2 books are great for quickly gaining understanding of basics of lisp languages)
* Teach Yourself Scheme In Fixnum Days
* The Scheme Programming Language (https://www.scheme.com/tspl4/)
* https://gigamonkeys.com/book/ (Also, check out the Common Lisp Cookbook and optionally Common Lisp Recipes book.)
* https://www.gnu.org/software/emacs/ (Install the GUI version! Work through the official tutorial! Then install SLY and Geiser. Using Emacs is not strictly required but it's recommended.)

* https://www.swi-prolog.org (check out the tutorials section)
* https://www.scryer.pl
* https://www.metalevel.at/prolog
* Art Of Prolog

* (C Programming: A Modern Approach - Second Edition - http://knking.com/books/c2/)
* (C++ Primer by Lippman et al.)

* You can learn Python for free at https://www.mooc.fi/en/courses/

* Bonus: https://skilldrick.github.io/easyforth/ (if you want more, read Starting Forth and Thinking Forth. Then go tinker with Factor!)

>>7
I recommend reading http://stephane.ducasse.free.fr/FreeBooks/BlueBook/Bluebook.pdf

27


VIP:

do not edit these