New features in languages are great. However, I think we’re going the wrong direction when we see features which are not easily readable — and when we go away from more visual programming methods which are accessible to non-programmers. I am a software developer, and I say this.
As an industry, I believe it helps when we balance each new feature against how it affects readability, maintability, and durability.
While the very idea of competing languages/toolsets [new names and use cases each month] creates incentives to evolve language features and tools for sophisticated use cases, using the power of recent computing developments as their backbone, it also:
a) creates an exclusionary environment where otherwise good developers do not get hired because their roles pigeonhole them, even though the new languages/tools are easy to learn
b) creates costs for companies as they try to find and retain talent who know their particularly specialized stack
c) adds risk in terms of languages, versions of languages, or tools going out of fashion [or, even worse, support] — leaving the company forced to retool or rebuild with a new language.
Thanks for this article. I’m learning kotlin, and I want to learn the other languages here.
Unfortunately, it is more than just a fun academic exercise for me.
As a 20 year veteran software developer with 18 years of solid Oracle development experience, I don’t get career opportunities with languages which allow access to new tech like machine learning libraries, data science methods, blockchain, etc. My day job as an Oracle ETL team and project lead does not expose libraries which will keep me relevant for the next 20 years, and companies using tech which would keep me relevant look at my experience and don’t consider me a good fit — even though I learned Oracle Applications development from scratch [without knowing SQL] so quickly I helped replace a knowledge hoarding Senior Developer in my early days.
I can still learn quickly, and I do, but I’m fighting a battle of relevance because the industry is switching to greater specialization with less traditionally readable code, tools forking off faster than cryptocurrencies, and skillsets critical to a developers relevance to retirement inaccessible except via those new skills not offered in his or her job.
I’d love to be writing my collection of short stories in my spare time, not spending 9 hours on the job and then 2–3 after work learning new tech most nights and hours on the weekend, but I need to in order to keep up with the great new features making my future as a relevant software developer in the career I chose 20 years ago farther and farther from grasp.