Developer tool No. 1: Continuous integration ...your phone starts pinging you with new emails or text messages from the continuous build mechanism telling you what needs to be fixed. Back to work, slave, the continuous build machine has new tasks for you.
- some sort of flamebait right there, in TFA. If you have something checking your code and raising flags before the code goes into testing (which may or may not catch the errors) and production, you may be spared very unpleasant production issues. When do you feel more like a 'slave', when you are asked to fix the bugs during your normal work hours or when you are woken up at night, and you have to figure out what the hell happened in production, while new transactions are coming through and you have to fix live data?
Developer tool No. 2: Frameworks ...Very little programming begins from scratch these days...
Sure, you could be pioneering and build everything from scratch, but that would be suicide.... You're not a craftsman -- you're a framework-tweaker...
...
Developer tool No. 3: Libraries
- let's hope that you don't have to write everything from scratch, you are much more productive as a developer if you don't have to write everything you need but can use libraries written and tested by others. As to frameworks, nobody from the outside world really forces you into any framework, it's a decision internal to the project, don't have to follow anything you don't like.
Developer tool No. 4: APIs ...The old game of counting bytes has been replaced by parse-able data structures such as JSON or XML...
- not that much different from header files in C, except XML is a dumb way to move data between components in the same application.
Developer tool No. 5: Platform as a service
Who builds their own website anymore? Instead, create an account on someone else's website and customize it.
- Geocities? How is this a new development?
Developer tool No. 6: Browsers
There was once a time when people wrote software for desktops, software for servers, and software for devices, and it would all be different.... Now everything goes through the browser.
- yeah, the browser used to be a dumb terminal and now it is getting more and more 'intelligent'. The browser of today is just a computer, it is the VM itself running your code in it. The browser is the computer and the code you write in it is now as complex as full clients of the past.
Developer tool No. 7: Application containers
Building a server used to be hard work...
most of the incompatibilities between our desktops and the server are gone.
- many apps are just written for VMs (like JVM) that's not a new development, WAR files allowed this for over a decade now.
Developer tool No. 8: Infrastructure as a service
Did I mention the teams of server curators? Those guys were fun to hang out with at lunch or after work, but now they've been abstracted away into the cloud layer..... these IaaS administration Web pages won't buy you a drink after work. Of course, that saves you from ever having to get the next round.
- seriously? That's a concern?
Developer tool No. 9: Node.js and JavaScript
Now it's all done in JavaScript. The browser, of course, still speaks JavaScript, but so do the server layer (Node.js) and the database layer (MongoDB and CouchDB). Even the HTML is often specified with JavaScript code for a framework like Ext JS or jQueryMobile that generates the HTML at the client.
- yeah, yeah, Javascript. I'll be using Node.js in 5 years maybe, when it is already used by a ton of real world services that act as a proof that this wondrous tech can actually pull this off. As to MongoDB and CouchDB, I guess when I lose my mind I'll switch from a relational database to these...
Developer tool No. 10: Secondary marketplaces ...go shopping at secondary marketplaces like the Unity Asset Store and buy up all the pieces you need...
Who needs developers or artists with prices so low?
- sure, unless you actually want to develop or design something of your own.
Developer tool No. 11: Virtual machines ...The Java Virtual Machine, the C#/.Net Virtual Machine, and now JavaScript engines end up being the main target for code... ...Clojure, Scala, Jython, JRuby -- they're all piggybacking off Sun's (now part of Oracle) great work in building the VM....
you could create your own browser and language, or you could cross-compile it to be emulated in JavaScript. That's what the folks did when they built cleaned-up tools like CoffeeScript. If this isn't confusing enough, Google produced GWT (Google Web Toolkit) to convert Java to JavaScript.
- language to language translation, what a concept.... it's only as old as the compilers.
Developer tool No. 12: Social media portals ...Web is being absorbed into big silos like Facebook and Salesforce... all of humanity is clicking away in Facebook or Salesforce...You're either a lackey to the big portals or you're listening to crickets.
- or you actually end up building something that people want to use and not yet another photo wall.
Developer tool No. 13: Devops tools ...Chef and Puppet designed to maintain these servers for you. Push new software to the cloud and these tools handle the job of keeping all the computers running the same code....
Some services such as Google App Engine already handle this internally. All you need to do is give it your app, and the provisioning is automatic. You don't even know what's going on in the background; you merely get a bill for the amount of CPU cycles consumed.
- the amazing world of timesharing.... where have I heard of that one before? Oh yeah, mainframes and supercomputers.
Developer tool No. 14: GitHub, SourceForge, and social code sharing ...Sites like SourceForge and GitHub post all the code for everyone to see and update.... projects see tens or even hundreds of thousands of downloads each week? That would never be possible with the old model.
- sure. I suppose the media is the message, but people used to list their source in computer magazines in the older times. The difference of-course exists, it's your ability to modify the code and the modifications becoming public immediate, so this is a great way of sharing.
Developer tool No. 15: Performance monitoring ...Modern tools track the network calls for the network of software as well as the performance of individual modules. This is the only way to understand what is going right and going wrong....
- the computer is the network, now the network is the computer, distributed logging is useful, no doubt.
My point is, the more things change the longer the articles, the more the things stay the same or almost the same.