STL vs ATL
I see that good portion of the "advanced" level books recommended here deal with STL, but almost none of them were ATL (I take that ATL is easier to grasp then STL?). Is STL widely used even for today? What about for the people who do most of the Windows programming? I am asking because I've barely seen any STL codes at my work, most of the template library usage was done with ATL. I'd appreciate if you could give me some insights on how things are done in terms of the software libraries used in the industry these days.
STL is part of the C++ standard. This means that all standard compliant compilers support the STL in the same fashion.
ATL is a library developed by Microsoft to facilitate COM programming. This means that you need to be programming for Windows to use it, and you probably need to be using Microsoft's compiler.
I'd say that over 95% of the people who program in C++ use the STL in some way. The percentage of people who use the ATL is far, far less. The bottom line is that if your goal is to learn C++, then focus on the STL. Learn the ATL if you ever have any need to do COM programming in the future.
Ok I see. I appreciate that!
Well using ATL is a smart move, but not using the SC++L is a bad move. They should use both.
Originally Posted by donglee