Become a polyglot
Try to gain experience in as many programming paradigms that you can.
In my opinion you should at least understand the following paradigms:
- Imperative paradigm, most common languages
- Logic paradigm, such as prolog/datalog
- Functional paradigm, think haskell/f#/clojure
- Object-oriented paradigm, think c++/c#/java etc
- Metaprogramming, think c++ templates, c macros etc
If you have dabbled in all those paradigms I think you have the best toolkit for solving problems in your mind - and for making the computer solve it for you.
Written by Alexander Brevig
Related protips
4 Responses
Metaprogramming: think c macros
OH PLEASE! :)
For functional programming I would say "haskell/f#/clojure", not "lisp/f#/clojure", because clojure is already lisp. You won't gain much learning different flavours of lisp (at least, comparing to some really different functional language, like o-caml or, as I said haskell, which enforce you to think in pure and lazy manner).
@om-nom-nom although I selected the examples I did because I thought they might reach the most people with a feeling of "I've head about that" you make an embarrassingly good point. I updated the protip to reflect your comment. Thank you!
Metaprogramming, think c++ templates, M4, Ruby monkey patching etc
Fixed you.
Have a fresh tip? Share with Coderwall community!
JavaScript on a page runs with the privileges of that origin. One altered library, tag manager, or snippet can read inputs, change what people see, and call your APIs as the user.
Security insights from Cside