What do you really need as a programmer

(written by lawrence krubner, however indented passages are often quotes). You can contact lawrence at: lawrence@krubner.com, or follow me on Twitter.

There is a kind of clarity in a model that simplifies things this much.

What I have found to be useful is to have a set of things that are fairly constant across time, space, and the varying landscape of languages and frameworks. I was recently having an exchange about language choices, and came to the conclusion that there are a couple of things that have been constant for me over the past 25 years of programming.

1) Need a robust string class

2) Need a fast thread safe hash table

There are a vast number of other things that I might need for a particular programming task, but these two have been consistently required across all environments and programming tasks that I have embarked upon.

Recently I’ve been looking at going “cross platform”. Of course, LuaJIT is the answer, so what’s the question really? Well, sometimes the decision is more about what other programmers will feel comfortable maintaining, and not what I myself like as a programming tool. So, this begs the question, what’s the best way to work across multiple platforms? One answer might be to simply switch to JavaScript, but that’s just jumping from one pot to the next really. I think the answer is still “C” as a cross platform language. And by “C”, I mean pick a standard version that is easily supported, and don’t use any fancy stuff. How about ISO C99? Then of course you need to pick a ubiquitous compiler. You could go with GCC, or LCC, or whatever you can get out of CLang/LLVM. But, basically pick one that covers all the places you’re likely to want to go.

Post external references

  1. 1
    http://williamaadams.wordpress.com/2012/08/31/selecting-a-programming-environment/
Source