Listing all of the recent advances in programming tools/technologies would be a daunting task; by the time you finished your list, there would be more to add to it. Peter Wayner of InfoWorld published a short list of “15 technologies changing how developers work.” While the article has some spot-on remarks, much of it feels outdated and/or pointless. Because a comprehensive list of modern developer technologies would be crazy long, I’m only going to comment on what the author has listed.
The intro that explains how programming is markedly different than it was even five years ago is accurate for the large majority of today’s development work, but a “Rip Van Winkle-like developer” could wake up to the same job maintaining assembly code that was written 30 years ago. Many developers would argue that most of the technological changes amount to semantics; frameworks, libraries and APIs are not new, but the names and terminologies have changed.
Many of the tools listed are a natural consequence of advancements in hardware and the growth of large applications. Continuous integration, infrastructure as a service and virtual machines are not new, but they are better and more prevalent due to advancements and price drops in silicon. Software has grown much more complex over the years, and predictably frameworks, libraries, APIs and browsers have become more rich and complex. A large proportion of development projects today are architected from those frameworks and libraries instead of from languages or platforms (e.g., operating systems).
The author’s list includes only two technologies that are not direct descendants of technology that’s over 20 years old: Node.js and social media portals/APIs. I agree that JavaScript is quickly eating up the programming tasks that used to be performed by other languages. For example, there’s no more need for PHP or Java running on the backend web server; Node.js can fill that role with less overhead. Silver bullet languages are not new, but JS is quickly becoming king. Social media portals such as Facebook are offering APIs that facilitate communication and user data storage for apps—features that used to be costly to develop and had to be programmed and managed in-house.
For all the time that computer programming has been around, the real shocker may be how very little the tools have changed. I feel that I could have accomplished the exact same apps that are programmed today, albeit 20 years ago it would have been a lot slower.