The sun/microsoft handling of Java and Java standards did nothing to help its adoption.
Yet, it seems Java is one of the most used languages.
This web site, http://www.tiobe.com/index.htm?tiobe_index (seems to be in netherlands and uses search engines to calculate the ratings) lists:
1- Java 21%
2- C 18%
3- C++ 10%
I use C++, and although that's x-platform, its usage is Windows specific (COM, ATL, etc). That's because I don't need a Mac/Linux version of my software. IFF I did, I'd have to either
- manage my C++ abstractions more carefull to avoid os dependencies
- use Java
- Dare I say it,.net/mono
If I had to make some crystal ball 4 year look ahead, I'd say the MS os dominance will increase the use of JIT languages, especially with the runtimes being included in the os (Vista).
First it was C++ World, now CUJ...DrDobbs can be really good, but at times I find it can really suck.
Lets hope it can pick up some of the contributors we have all grown to appreciate over the years, Herb Sutter, Andrew Koening & wife, Lippman (who's doing MSDN mag), etc.
C++ has always taken what's good (STL), and dropped what wasn't (auto_ptr), and now more than ever developers using it will require assistance in understanding some of the latest developments in the language (Template MetaProgramming, concepts).
Sure the web is great, but a mag allowed for a monthly round-up in a easily accessible fashion, of all the language features (and darker corners).
We will have a C++09 standard, and for those of us using the language daily in creating apps that must sell, I believe there is a cross roads: Do we continue on using a very powerfull language, all the while having a harder time to find programmers knowledgeable enough to use it properly, having C++ magazines replaced with.NET magazines; or do we leave the C++ to the library implementors, and use another language without all the C++ bagage but with the wind in its sails (Eg C#).
I'll admit that a team of 6 C# devs may have an advantage over a team of 6C++ devs in the time to create software, to debug and test it, the available documentation, and the power of the language. Sure their code will run slower, but they rely on the Stan Lippman\s and Herb Sutter's @ microsoft to provide a good overall library...
We've used XP-like techniques for some time. We don't call it XP any longer, but we continue to enforce two of the cornerstones;
- Unit tests. Preferably even before the feature exists. It forces the developer to see how his object/feature may be used by others. It gives us a good smoke test evaluation of functionality, incredibly useful in such cases as switching compilers, supporting a new os.
- Code reviews. We don't do Pair Programming, but code reviews are required for checkins. We use codestriker for that.
Called by any name, these are good guiding principles.
If only for the better debugger...vc6 is what, 10 years old?
I went (on a large scale app) from vc6->vc7.1 for our production code.
You'll certainly have more work going from vc6 to vc8 directly.
But the project file extensions changed, so its easy to use both your compilers side-by-side.
Areas of pita were
templates and for() loops and ATL generated unregistering code
The sun/microsoft handling of Java and Java standards did nothing to help its adoption.
.net/mono
Yet, it seems Java is one of the most used languages.
This web site, http://www.tiobe.com/index.htm?tiobe_index (seems to be in netherlands and uses search engines to calculate the ratings) lists:
1- Java 21%
2- C 18%
3- C++ 10%
I use C++, and although that's x-platform, its usage is Windows specific (COM, ATL, etc). That's because I don't need a Mac/Linux version of my software. IFF I did, I'd have to either
- manage my C++ abstractions more carefull to avoid os dependencies
- use Java
- Dare I say it,
If I had to make some crystal ball 4 year look ahead, I'd say the MS os dominance will increase the use of JIT languages, especially with the runtimes being included in the os (Vista).
C++/CLI, there.
First it was C++ World, now CUJ...DrDobbs can be really good, but at times I find it can really suck.
.NET magazines; or do we leave the C++ to the library implementors, and use another language without all the C++ bagage but with the wind in its sails (Eg C#).
Lets hope it can pick up some of the contributors we have all grown to appreciate over the years, Herb Sutter, Andrew Koening & wife, Lippman (who's doing MSDN mag), etc.
C++ has always taken what's good (STL), and dropped what wasn't (auto_ptr), and now more than ever developers using it will require assistance in understanding some of the latest developments in the language (Template MetaProgramming, concepts).
Sure the web is great, but a mag allowed for a monthly round-up in a easily accessible fashion, of all the language features (and darker corners).
We will have a C++09 standard, and for those of us using the language daily in creating apps that must sell, I believe there is a cross roads: Do we continue on using a very powerfull language, all the while having a harder time to find programmers knowledgeable enough to use it properly, having C++ magazines replaced with
I'll admit that a team of 6 C# devs may have an advantage over a team of 6C++ devs in the time to create software, to debug and test it, the available documentation, and the power of the language. Sure their code will run slower, but they rely on the Stan Lippman\s and Herb Sutter's @ microsoft to provide a good overall library...
We've used XP-like techniques for some time. We don't call it XP any longer, but we continue to enforce two of the cornerstones;
- Unit tests. Preferably even before the feature exists. It forces the developer to see how his object/feature may be used by others. It gives us a good smoke test evaluation of functionality, incredibly useful in such cases as switching compilers, supporting a new os.
- Code reviews. We don't do Pair Programming, but code reviews are required for checkins. We use codestriker for that.
Called by any name, these are good guiding principles.
In moments like these, I recall a certain Dilbert strip, where pointy hair boss tells Dilbert:
PHB- This project is impossible and can't be done.
D- It's finished.
PHB- The project will never work like this.
D- It works perfectly.
PHB- There's a spelling mistake here.
D- That's a number...
If only for the better debugger...vc6 is what, 10 years old? I went (on a large scale app) from vc6->vc7.1 for our production code. You'll certainly have more work going from vc6 to vc8 directly. But the project file extensions changed, so its easy to use both your compilers side-by-side. Areas of pita were templates and for() loops and ATL generated unregistering code