“Plus ça change, plus c’est la même chose”
(The more things change, the more things stay the same)
— Jean-Baptiste Alphonse Karr
It has been more than 20 years since the launch of Visual Studio 97, that long-vaunted IDE of yore. In it’s day, VS 97 was hailed as a panacea to all the previous woes of traditional C++ / VB development. It was the first attempt to bring together all the disparate tools into a single integrated development environment (IDE).
Now, leaving aside the fact that as per classic corporate nonsense, VS 97 turned out to be a quintessential pain in the ass to use in real-world development, it was a huge improvement over how things got done prior to that. If you had to do any development way back when (and I did), having your compiler in one place, and your visual editor in another, your debugger over here, and your imported DLLs over there, was painful to the point of requiring therapy after a day or two of development. IDEs were the answer to what we all knew for a long time but just never knew how to put into words:
It’s better to have all the dev tools you need in one place, rather than scattered all over your PC.
While VS 97 was fraught with pain points, it was surely a sight better than the old ways. We now had all the tools we needed to do our job as developers brought into a single place.
This is why developers love IDEs. Even if you have never known the horror of the old days, you must understand implicitly that as a dev, you don’t want to have to jump about all over the place to do your job. The IDE is your home. Context-switching only slows you down. This is why more and more IDEs come with command line tools, source control consoles, even web browsers built in.
And yet some things refuse to change…
Here we are, in the pretty, futuristic days of 2019, and so much has moved on, and yet somehow, we are still stuck in so many way.
How do developers communicate?
Even with modern IDEs, with all their tools and plugins, the way most developers communicate with one another during their day-to-day development can be broken down into the following crappy ways:
- not at all (we all know that dev)
- in person
- via email
- via chat / skype
Now these seem perfectly legitimate ways to communicate…if you’re calling your mom. If you are working in a high-paced development shop, with so many developers working in shared code, why are there not better ways to keep each other informed on what we’re up to? Why exactly do developers have so many tools at their disposal, particularly in their IDE, and yet have no real tools for communications? It’s a wonder. Given the critical importance of knowing what is taking place in the codebase, even in real-time, it seems rather incongruous that this most important aspect of the SDLC has somehow not been addressed, particularly in developers’ tool of choice.
And we’ll dive more into that in future posts…(buckle up, buttercup. We like to rant)