No Bleeding Edge
This was especially ironic, given in the recent past our roles were swapped and I was the guy tempering his enthusiasm with a conservative eye. The whole conversation though got me thinking about what does “bleeding edge” really mean?
Programming languages are tools for solving problems. I’m a fan of hand tools for woodworking, so I think the tool that best represents a programming language is the wood chisel. A good wood chisel is a beautiful tool. It is able to efficiently carve a block of wood to your vision, similar to how a programming language carves code to meet your technical vision.
Chisels are sharp — scary sharp. An expertly-sharpened chisel makes your typical razor look like a table knife in comparison. Incorrectly using a chisel can result in a nasty cut, in the best case, or a trip to the ER, in the worst case. But that’s the nature of the tool. You need to practice with it a lot to ensure you don’t hurt yourself, let alone get good results.
Programming languages are very similar. Someone inexperienced with a language can end up in the virtual ER of missed deadlines, cancelled projects and unhappy customers. But a master of the language can produce beautiful, maintainable solutions which solve peoples’ problems.
So is the chisel a bleeding edge tool because of the damage it can do? Obviously not. Woodworkers have been using chisels for a millenium. It is the inexperience of the practitioner that can make it, quite literally, bleeding edge.
Programming languages are the same. Putting me on a Python project could end up causing a lot of project bleeding, given I’ve never written a line of Python before. But it doesn’t mean Python is a bleeding edge technology.
There are no bleeding edge technologies — there are simply people uncomfortable with new tools. Usually, someone calls a language or framework “bleeding edge” when they don’t know enough about it to be productive. It’s like picking up a chisel for the first time. That mirror-sharp edge makes it pretty clear you can seriously hurt yourself with it. The master, though, doesn’t look at the chisel as a way to hurt themselves. They see the chisel as a tool in their box for solving problems.