Is it?

- 1 min

Easy to pick up? Is it easy to get started fast? Is it necessary to learn? Is it beginner friendly? Is it fast?

The above are all questions that are asked frequently when deciding on whether to learn, use or teach a programming language. Very often if the answer to one of those questions is yes, then a no will most likely be the answer to another one of them.

Take Ruby for example. It probably scores a yes to most of the questions above, however Ruby comes with a tradeoff; Magic. It does so much for you on the background so that it can answer a yes to those questions but the price you pay is that often you don’t really know what’s happening until you get bitten by nasty bug.

Earlier today I was talking with some apprentices about Java and their experiences working with it. One of them said she would prefer working in Java over Ruby. That didn’t surprise me because Java does not ship with Magic. It ships with just nuts and bolts and you have to do the rest. As a result you end up learning a lot more about the inner workings and trade offs of the program you’re building. You get to feel more like a carpenter instead of a wizard.

Whether you get to be a carpenter or a wizard, you will still learn a lot. Choose your tool and make sure you understand it’s capabilities, magic or not.

author selfie

Personal blog of Makis Otman

Get my latest content by email. 100% spam-free.

    rss facebook twitter github youtube mail spotify lastfm instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora quora