Jump to content

  • Log In with Google      Sign In   
  • Create Account

#ActualWashu

Posted 08 November 2012 - 02:29 AM

What I disagree with is the idea that C++ is so difficult to learn that other languages are preferable starting points.Take any "C for dummies" book and you can learn the book even though your compiler is actually C++. Confusing C++ high level complexity as meaning the language as a whole is to obtuse to start with is just wrong in my thinking. The other argument is that with C/C++ you can't do graphical systems easily where Python and Java have OS independent wrappers around such things. Well, in the case of Python, WxWidgets is PyWidgets adapted to Python, Swing, well that's a pure Java thing but I'd say that QT is comparable if not massively better. (Yeah, QT is available for many languages including Python and Java.)

Any C for Dummies or similar book is usually the worst possible starting point. I've never seen one of those books that got it right, or even close, to how things actually operate in the language. C++ is a huge complex beast. We recommend newbies start off with more well defined languages, such as C# or Python, for the simple reason that C++ IS a huge complex beast with plenty of trivial undefined behavior. The goal of a new programmer is not to learn a language but to learn the principle and practice of PROGRAMMING, i.e. problem solving, data structures, algorithms, and the associated bits and pieces of knowledge that goes with that. Learning those things in a language like Python, or C# is significantly easier than doing it in C++, and thus will allow the novice programmer to advance their knowledge and build ACTUAL WORKING programs faster than they would be able to in C++. This encourages and keeps the novice programmer's attention, thus furthering their education.

At no point do we suggest that new programmers should restrict themselves to a single language. Any GOOD developer will learn many languages over time. Starting out with an easy to work with and learn language provides many advantages over starting with the hardest possible language to pickup.

#2Washu

Posted 08 November 2012 - 02:29 AM

What I disagree with is the idea that C++ is so difficult to learn that other languages are preferable starting points.Take any "C for dummies" book and you can learn the book even though your compiler is actually C++. Confusing C++ high level complexity as meaning the language as a whole is to obtuse to start with is just wrong in my thinking. The other argument is that with C/C++ you can't do graphical systems easily where Python and Java have OS independent wrappers around such things. Well, in the case of Python, WxWidgets is PyWidgets adapted to Python, Swing, well that's a pure Java thing but I'd say that QT is comparable if not massively better. (Yeah, QT is available for many languages including Python and Java.)

Any C for Dummies or similar book is usually the worst possible starting point. I've never seen one of those books that got it right, or even close, to how things actually operate in the language. C++ is a huge complex beast. We recommend newbies start off with more well defined languages, such as C# or Python, for the simple reason that C++ IS a huge complex beast with plenty of trivial undefined behavior. The goal of a new programmer is not to learn a language but to learn the principle and practice of PROGRAMMING, i.e. problem solving, data structures, algorithms, and the associated bits and pieces of knowledge that goes with that. Learning those things in a language like Python, or C# is significantly easier than doing it in C++, and thus will allow the novice programmer to advance their knowledge and build ACTUAL WORKING programs faster than they would be able to in C++. This encourages and keeps the novice programmer's attention, thus furthering their education.

At no point do we suggest that new programmers should restrict themselves to a single language. Any GOOD developer will learn many languages over time. Starting out with an easy to work with and learn language provides many advantages over starting with the hardest possible language to pickup.

#1Washu

Posted 08 November 2012 - 02:27 AM

What I disagree with is the idea that C++ is so difficult to learn that other languages are preferable starting points.Take any "C for dummies" book and you can learn the book even though your compiler is actually C++. Confusing C++ high level complexity as meaning the language as a whole is to obtuse to start with is just wrong in my thinking. The other argument is that with C/C++ you can't do graphical systems easily where Python and Java have OS independent wrappers around such things. Well, in the case of Python, WxWidgets is PyWidgets adapted to Python, Swing, well that's a pure Java thing but I'd say that QT is comparable if not massively better. (Yeah, QT is available for many languages including Python and Java.)

Any C for Dummies or similar book is usually the worst possible starting point. I've never seen one of those books that got it right, or even close, to how things actually operate in the language. C++ is a huge complex beast. We recommend newbies start off with more well defined languages, such as C# or Python, for the simple reason that C++ IS a huge complex beast with plenty of trivial undefined behavior. The goal of a new programmer is not to learn a language but to learn the principle and practice of PROGRAMMING, i.e. problem solving, data structures, algorithms, and the associated bits and pieces of knowledge that goes with that. Learning those things in a language like Python, or C# is significantly easier than doing it in C++, and thus will allow the novice programmer to advance their knowledge and build ACTUAL WORKING programs faster than they would be able to in C++. This encourages and keeps the novice programmer's attention, thus furthering their education.

PARTNERS