Last Updated: September 09, 2019
·
3.493K
· alexanderbrevig

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.

4 Responses
Add your response

Metaprogramming: think c macros

OH PLEASE! :)

over 1 year ago ·

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).

over 1 year ago ·

@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!

over 1 year ago ·

Metaprogramming, think c++ templates, M4, Ruby monkey patching etc
Fixed you.

over 1 year ago ·

Have a fresh tip? Share with Coderwall community!

Post
Post a tip
Did you know?

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