Monthly Archives: October 2014

Computer languages: ordering my favourites

This isn’t even remotely supposed to be based on facts, evidence, benchmarks or anything like that. You could even disagree with what are “scripting languages” or not. All of the below just reflect my personal preferences. In any case, here’s my list of favourite computer languages, divided into two categories: scripting and, err… I guess “not scripting”.

 

My favourite scripting languages, in order:

  1. Python
  2. Ruby
  3. Emacs Lisp
  4. Lua
  5. Powershell
  6. Perl
  7. bash/zsh
  8. m4
  9. Microsoft batch files
  10. Tcl

 

I haven’t written enough Ruby yet to really know. I suspect I’d like it more than Python but at the moment I just don’t have enough experience with it to know its warts. Even I’m surprised there’s something below Perl here but Tcl really is that bad. If you’re wondering where PHP is, well I don’t know because I’ve never written any but from what I’ve seen and heard I’d expect it to be (in my opinion of course) better than Tcl and worse than Perl. I’m surprised how high Perl is given my extreme dislike for it. When I started thinking about it I realised there’s far far worse.

 

My favourite non-scripting languages, in order:

  1. D
  2. C++
  3. Haskell
  4. Common Lisp
  5. Rust
  6. Java
  7. Go
  8. Objective C
  9. C
  10. Pascal
  11. Fortran
  12. Basic / Visual Basic

I’ve never used Scheme, if that explains where Common Lisp is. I’m still learning Haskell so not too sure there. As for Rust, I’ve never written a line of code in it and yet I think I can confidently place it in the list, especially with respect to Go. It might place higher than C++ but I don’t know yet.

 

Advertisements
Tagged , , , , , , , , , , , , ,

Summary of CppCon videos I’ve watched so far

There seemed to be a theme going at DConf 2014. Or a few. Lots of “metaprogramming is great but hard” (including my talk) and also lots of “the GC got in the way somehow”.

After watching a few of the CppCon videos from this year, it seems to me that it also has a few recurrent themes. Quite a few talks mentioned using custom allocators but completely doing away with exceptions and/or templates. It seems these practices are more widespread than I thought. It still troubles me that nobody seems interested in measuring what the effects would be. I hear a lot of “exceptions would slow this down”, but no measurements. “Template bloat” shows up a lot but I don’t understand how the code woudn’t be just as large if doing them by hand, bar pathological instances of generating code for int/uint and the like. Besides, isn’t that premature optimisation anyway? Write it neat, then cut down on memory usage if using too much.

Really interesting talks, I recommend everyone to check it out.