|
I've been using C++ almost exclusively for over a decade. C++ is wonderful, powerful, ugly, and dangerous. It's entirely dependent upon the developer, and it varies with popular trends. Just when you master something like Boost, you move to a new company where you aren't allowed to use it. Everyone preaches his own religion of whitespace, best practices, and patterns. Lately, I've found the ugliness inescapable and deeply irritating: for (std::vector<mytype>::const_iterator i = myinst.begin() ...
The repurposing of the 'auto' keyword in C++0x can greatly reduce this ugliness: for (auto i = myinst.begin() ...
But, of course, people will abuse auto and have "auto n = 5;" (a 'foreach' makes this even cleaner, but the above syntax exemplifies other situations as well)I've recently been doing a bit of C# coding again. I'm stunned at how quickly I get get stuff working, mostly because .Net contains all the boilerplate I would either write myself, or have to track down in 3rd party libraries. I wrote a page scraping tool the other day in C#, on my Mac, in vim, with the Mono C# compiler. I had it done in under an hour, and it runs on both platforms I use. My productivity increased by about 8x (clearly not universally applicable), and my enjoyment increased even more. So, no, C++ probably isn't the future. The future probably looks like Python and Javascript on the web, C# in business applications, and plain C at the bottom. |