Language Independent Good Coding
So the main theme of this blog is “Language Independent Good Coding”, and this post is an introduction to what I mean by that, why its important and a little more explanation of what I intend to talk about in that space.
The title is intended to be a little provocative and humorous, however my point is that to be skilled software engineers there are skills that are completely independent of the programming language we use, or the frameworks we use in a given language, and focussing on those will be a theme of this blog.
Some skills I can think of …
- The art of Writing Clean Code
- Modelling your Problem Domain
- Design Principals
- Understanding Different Programming Models (OO vs Functional for instance)
- Good Testing Practices
- Design Patterns
- Application Architecture
- Problem Solving
So seriously, why the title?
Well just type into the browser “Why is X better than” replace X with any programming language you like, and I’m sure something will come up (well thats an exaggeration, it didn’t work for Algol.) But yes for any language or a tool we choose, there is a better X coming along soon, usually just after we reach that point of no return and can’t change.
This doesn’t worry me so much because over time I’ve never seen the X really deliver on its promises … and its not because the language or tool isn’t better than what we have had previously, its because for me the hard isn’t converting my ideas to code, its having the right ideas and structuring the code in the right way. What I find in every language or major framework that I use is the hard things are still hard and to butcher that 80/20 rule … I find the same 80% hard regardless of language, while 20% is about how much changes by an improved language or framework (and its probably a different percentage). Thats why I want to focus on the concepts that are language independent.
… All that said I really enjoy taking new languages and frameworks for a spin, so I’ll be writing about those as well, and part of the reason I’ve formed this opinion is I’ve played with so many …
… Now if you’ve got those things mastered (though I’m sure theres more), and THEN you choose a really productive language, you’ll be unstoppable I reckon, I wish that was me … so thats my theme.
What do you think?
Till next time.