Oh, I'm all for getting the job done. That's why I want consolidation. Since you run a consulting firm, how much of your code is actually customer specific? Like I said, schemas and logic changes, but I bet if you look across your customers, you'll find about 20% of your function is duplicated between unrelated projects. You don't care because its billable hours. Maybe you copy and paste? I don't meant hat in a bad way. But when you stop looking at billable hours, and focus just on getting the job done, I don't want to duplicate other people's work.
Let me give you an example from this very weekend. I needed to get the distance between two GPS coordinates. Googling for it I found javascript code that I then copied and converted to C/C++. In an ideal world, I'd just get the library and be done. But there are different implementations. There's Haversine, and 2 other ways to calculate the distance, each with nuances of implementation. Now, in my ideal world, I wouldn't matter what language it was done in (this was .Net's promise) Instead me and everyone else does the same conversion from the JS to our language. You as a consultant should love the idea that the body of programmed knowledge is available to your developers regardless of choice of language.
I want to make it clear that I am not arguing that we should only have C++. I was arguing that everything we've come up with since C++ (Java and .NET) have only served to fragment and divide. Now we have 3 major ecosystems all being maintained separately. Who wants to maintain 3 code bases that do the same thing? Billions of dollars poured into the maintenance of these toolkits a year. Hibernate and NHibernate. Dozens of SQL drivers on dozens of systems. The work expands exponentially. All to do the same thing. To keep their ecosystems on par with each other. Imagine if we just poured the same into one project, how much more we could accomplish. I don't suggest C++, though it has a fantastic track record. Managed memory systems are all the rage. I've done Java, Python and C#. I don't want to pick one. I but I want all of them to use the same platform. I'm hinting that C++ is it, because Java has JNI, .Net has the C++/CLI and Python has C/C++ wrappers. Imagine if we promoted the common stuff to a common universally maintained C++ package.
I also think we need side projects to experiment. NodeJS is very cool. And we need to explore our itches. But by t he time we start to develop these things into ecosystems, we should focus on consolidation so that everyone can benefit. Yes, it'll be an effort, but less effort than continually maintaining separate code bases.