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.
She's brilliant. She can see what can be and is not limited to what is. And she knows this tiny ad:
Gift giving made easy with the permaculture playing cards
https://coderanch.com/t/777758/Gift-giving-easy-permaculture-playing
|