View Single Post
Old 10-12-2011, 11:44 AM   #12
Junior Member

Activity Longevity
0/20 11/20
Today Posts
0/11 ssssssss9

Originally Posted by jpalcoriza View Post
Visual basic is also a great program for learning, there is no easy way on learning that's for sure. But I think C++ is more of the basics in programming that every programer needs to master.
Starting with C++ for the vast majority of the population, I am talking like 99.999% of the population, is just a patently wrong thing to do.

Yes, C++ is the language of the pros ( although less and less though every day, take for example this current Bethesda job posting ) use, but that doesn't mean it's a good language to start with.

Language pitfalls aside ( and there are a ton when it comes to C++ ), the build environment is simply not conducive to a learner. Before you can even write a single line of code you have to figure out semi arcane topics like the linker and preprocessor, which to a new developer are not simple task. On top of that, most of the tutorials and references on the web are horrifically out of date ( and C++ has changed A LOT ). Finally the error messages are in a completely foreign language.

I mean, here is a simple error message ( I got from Googling ) and by no means an exceptional one... this kind of message is typical of the kind of errors C++ gives:

pascal@zetwal:~/temp$ g++ stltest.cpp
stltest.cpp: In function ‘int main()’:
stltest.cpp:9: error: no matching function for call to ‘std::vector<int, std::allocator<int> >::insert(int)’
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/vector.tcc:93: note: candidates are: typename std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(__gnu_cxx::__normal_iterator<typename _Alloc::pointer, std::vector<_Tp, _Alloc> >, const _Tp&) [with _Tp = int, _Alloc = std::allocator<int>]
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:657: note: void std::vector<_Tp, _Alloc>::insert(__gnu_cxx::__normal_iterator<typename _Alloc::pointer, std::vector<_Tp, _Alloc> >, size_t, const _Tp&) [with _Tp = int, _Alloc = std::allocator<int>]

Make sense to you? Didn't think so.

Last edited by Adrir : 10-17-2011 at 02:39 AM. Reason: Added [CODE] tag for readability
Serapth is offline