Other programming languages I like
This is about programming languages I like as well as Go (but not quite as much!)
- Tcl. I used this a lot for IRC related programs, and continue to for that purpose. I stopped using it as my go to language around 2011. Mostly fell out of favour as while it is easy to use it has several annoyances such as the information provided on errors.
- Perl. I started using this in school and more heavily for work. While I am productive in it, there are several issues I have with it. One being I sort of feel the world has moved on from Perl. It's a bit of an antique. It's good but perhaps too flexible, and in many ways I feel like I need to delve too deeply. I ran into several cases of memory leaks due to circular references.
- JavaScript. I got interested in Javascript and read a book about Node.js. However in many ways it seems like a step backwards and too much like a clever hack. Single thread. All the complexity of a large language.
- PHP. Never really a serious contender for general use but I did use it heavily for some websites. It's good for getting things up and running quickly and I am still proficient in using it for those purposes. But this language is flawed.
- Haskell. I find this language beautiful and I enjoy the idea of functional programming. I feel clever using it and in many ways this language and its paradigm require good practices. However I never really wrapped my head around using it for things like socket programming and simple script like programs that I can whip up in Perl in minutes, nor use in web apps. I know it can be used for these things but the fact that getting up and running with them is non-trivial is a negative for me. I wanted really a language I could even introduce in the work place and I never saw this one as practical for that. Maybe in some workplaces though.
- Erlang. An ugly language in many ways but beautiful in others. Its concurrency model and crash first philosophy are very attractive. And it being functional too. The issue I take with this language is more its tooling. I found when trying to deploy it there were many uncertainties. Having to secure the VM. How to connect up VMs. How multiple programs interact.
Other languages I considered:
- Ruby. I liked Ruby on Rails for a little while but considered there to be too much magic. It is too bloated.
- Python. I looked at this at close to the same time as Ruby. Discarded for similar reasons. Also Python 3 vs. Python 2 turned me off a bit.
- Rust. I really only started looking into this language after I got into Go. It seems interesting but less simple and I don't see a great benefit in contrast. It seems more complex and I believe simplicity is more important.
- C. While I consider C kind of inefficient for use in most things - it takes a long time to get up and running and there are a lot of bookkeeping minutiae - it does have the benefit that it is the kind of language that you don't have to worry about disappearing. Go and Ruby and Perl 5 may one day fall out of favour and I would have to translate my programs to even run/compile them, but that seems very unlikely to happen for C. It's the stable and safe choice. But not the efficient (my time wise) one.
- C++. I used this more in school and it is in many ways a more efficient C due to its larger standard library. I've read too much about it being a bloated and overly complex language though which turns me off.