I am an enthusiast of mathematics, computer science, and to a lesser extent physics.

My favorite fields of math are, in no particular order: linear algebra, real analysis, functional analysis, abstract algebra, elementary number theory, logic, combinatorics/graph theory, probability, and set theory/category theory.

As for CS: data structures, algorithms, computation/PL theory (in fact I believe that's just about what ALL of computer science reduces to).

I am a huge fan of functional programming, although I am not religious about it. I believe it is a powerful and natural paradigm for understanding and solving problems, which is programming-language-agnostic (although some languages support it better than others, of course).

That said, as a software developer, my self-introduction would be incomplete without mentioning my preferred tools of the trade.

Haskell and Clojure are probably my favorite programming languages. In my humble opinion, they are, in their own distinct ways, paragons of elegance in programming language design. They are my weapons of choice when doing personal programming.

There are also PLs in my toolbox (or soon to be added) that are not as elegant but nonetheless extremely practical for their own reasons (whether they are more practical than Haskell or Clojure is highly subjective):

  • OCaml (F# too, although I have not touched .NET too much)
  • Scala (which I currently use professionally, and am actually most comfortable with by a small margin)

(I also know Java and C#.)

As someone who is always open to better ideas, languages and tools, I am eagerly awaiting the arrival of Rust and Nim, which look awesome.

Top Answers
No answers with score of 5 or more