Leandro Coutinho wrote:I think Ruby and Python are better for the job. Their syntax is easier and they have an interactive shell.
The benefit to learn a more low level language first is that it will be much easier to learn the other languages.
C++ has more features, but it is simpler than C. You don't need to teach all C++ stuff from the start, and you can do almost anything in a C style. Also, you cannot put a language where string is not a basic type as a first-candidate!Luis Espinal wrote:Notice that I mentioned C as a first-language candidate. For all the low-level gotchas in it, it is much simpler than C++, to the point of having a bare-bones elegance to it.
Maybe with Java 7 and 8, it will become a beast. But now Java is not a beast at all.Luis Espinal wrote:... or Java, not so much. These two are languages for work, not for teaching, and a person learning them should have enough man-hours doing programming (both procedural and object-oriented) to better understand and utilize these beasts.
Leandro Coutinho wrote:
C++ has more features, but it is simpler than C.Luis Espinal wrote:Notice that I mentioned C as a first-language candidate. For all the low-level gotchas in it, it is much simpler than C++, to the point of having a bare-bones elegance to it.
Leandro Coutinho wrote:You don't need to teach all C++ stuff from the start, and you can do almost anything in a C style.
Leandro Coutinho wrote: Also, you cannot put a language where string is not a basic type as a first-candidate!
Leandro Coutinho wrote:
Maybe with Java 7 and 8, it will become a beast. But now Java is not a beast at all.Luis Espinal wrote:... or Java, not so much. These two are languages for work, not for teaching, and a person learning them should have enough man-hours doing programming (both procedural and object-oriented) to better understand and utilize these beasts.
Angus Comber wrote:In what way is C++ simpler than C?
Luis Espinal wrote:How is it simpler?
I have taught Java, C++ and Python to beginners. My preference is Python. Here are some of my reasons.
I also expose my students to programming at the UNIX command line. This course has been quite successful.
Leandro Coutinho wrote:
Angus Comber wrote:In what way is C++ simpler than C?
Luis Espinal wrote:How is it simpler?
The logic of a program written in C++ is simpler than in C, and therefore easier to get right.
Leandro Coutinho wrote:"C++'s better support of libraries, better notational support, and better type checking are decisive against a "C first" approach." Bjarne Stroustrup
"My favorite approach is to start teaching the basic language concepts such as variables, declarations, loops, etc. together with a good library. The library is essential to enable students to concentrate on programming rather than the intricacies of, say C-style strings." Bjarne Stroustrup
http://www2.research.att.com/~bs/new_learning.pdf
C++ has more features, but it is simpler than C. You don't need to teach all C++ stuff from the start, and you can do almost anything in a C style.
the body of knowledge required to learn and use C++ well is not trivial at all.
...
Any attempt to teach some stripped-down, C-like "lite" C++ version is a terrible disservice to anyone trying to learn that powerful and complex language.
Paul M. Santa Maria, SCJP
Luis Espinal wrote:A concrete example or two would be in order. Otherwise, a statement of the form "X is easier than Y" without substantiating, qualitative or quantitative evidence or samples is not a convincing argument, in particular in technical matters such as this.
Did you see how Paul cut 87% off of his electric heat bill with 82 watts of micro heaters? |