When you learn a new speaking language (English, French, Spanish, Hebrew, Afrikaans….) you generally find your course or program is broken down into scenarios. For example, mostly all books, audio or videos will have the topics: Greetings, At The Airport, Public Transport, At The Hospital, Hotel, Restaurant and so on. Essentially, everything you need to “get going”. Of course, a lot is assumed, but the assumptions cover 80% of the market picking up a new language. Is it different with programming?
I think not. What we don’t always have is a “program” of topics to cover that can be referenced- or at least, not one readily packaged. There are many reasons for that being the case, but this post is not about that. So what are the topics….?
For me, that is, i find going back to good ol’ One-Oh-One basics of data structures a really useful way to learn the ins and outs of a language. This is not a new idea by any stretch of the imagination. But take a list like this, and tackle the structures one by one in your new language. Pretty soon, you get to figure the language out in the detail you need to get on with the job.
Of course, the bonus is that you’re going to need a variation of one of those implementations somewhere in some form or another (even if your framework provides native implementations). But building data structures from the ground up teach you all the essential scenarios: How to define a class, inheritance capabilities (if applicable), methods, signatures, variables… And provided you are (should be) familiar with the details of the requirement, you can free your mind to focus on the language, and not a new problem at the same time.