You're looking at Less Wrong's discussion board. This includes all posts, including those that haven't been promoted to the front page yet. For more information, see About Less Wrong.

fubarobfusco comments on Open thread, Sept. 29 - Oct.5, 2014 - Less Wrong Discussion

6 Post author: polymathwannabe 29 September 2014 01:28PM

You are viewing a comment permalink. View the original post to see all comments and the full post content.

Comments (339)

You are viewing a single comment's thread. Show more comments above.

Comment author: fubarobfusco 30 September 2014 03:43:29AM *  6 points [-]

I don't know that I have a "favorite" programming language.

What I use for getting everyday things done: Python, with a bit of shellscript for the really quick things. Why? Because I know it well. I learned Python years ago because it had libraries I needed, kept using it because it got the job done, and then worked for many years at an employer where it was one of the Officially Approved Languages.

What I mess around with, when I'm messing around with code recreationally: currently Elm. Why? Because functional reactive programming is a freaking awesome idea, and Elm makes it actually make sense. Also, whereas Python supports antigravity out of the box, Elm supports time travel.

What I would use if I needed to write code that would run fast and handle user traffic: Go. Why? Because it is efficient, safe (from buffer overflows and the like), and makes concurrency really easy. There's not really any such thing as high-performance code without concurrency these days. Safety matters a lot, too — the last project I wrote in Go was an SSH honeypot to log the usernames and passwords that attackers try. It helps that Go code is clear enough that I could actually read enough of the crypto libraries to have confidence that I wasn't going to regret it.

Other languages I like for one reason or another: Haskell and Lisp, for expressing two deeply contrary ideals on what programming is.