You said that and gone to say:MarkHaysHarris777 wrote:With all due respects, Java is a horrible language to teach to children; in fact, that might be considered child abuse.
That's really something!MarkHaysHarris777 wrote:if you really thought you wanted to use Java (which is a convoluted C++ without pointers and a really terrible library) you should just use C++ and have a language which is actually portable and isn't (how did we once joke back in the day...?) "Compile once, debug everywhere!"
I can agree with - Python is easier language for kids to learn than going straight to Java or even worse C++. It is good language for beginners to be drawn in the world of programming - especially games kids love. I am helping in a club for 11 to 14 years children and we have quite a success - many kids grasped some of important concepts of making games (in Python + Pygame): reading player's input, placing sprites on screen, drawing background (tiled as well), detecting collisions, firing bullets and reusing objects, etc...MarkHaysHarris777 wrote:Python is the language for kids... for everybody! !
Please, don't pull an ad hominem... I'm not responsible for the words you put in my mouth... I didn't say teach C++ and I did not say don't teach Java... I SAID--> Don't teach Java to children. I did not say teach C++; I SAID paraphrased for you --> If you think Java is good for children (and its not) then you might as well teach children C++ because its easier and works better (for children)... and I know because I've done it!clicky wrote: Don't teach Java - teach C++! WOW... Luckily - many, many developers around the world didn't agree with you - for last 20 years.
Huh - each time I read something like that I get afraid for my career (a Java developer), but so far I've not seen it being an issue. At all. There's plenty of jobs for my kind - still far more than C++ developers... Many companies still recognise that business code written in C++ is, generally speaking, less maintainable (and thus more expensive) than Java. Including IBM. Just count number of Java consultants they still send around the world... And one of the reasons (solely my opinion here) is that you can write far worse code in C++ (and people generally do) than in Java.MarkHaysHarris777 wrote:Java is not used by most developers today... Google's version of Java and their Dalvik virtual machine are what Android folks use ... the last real hold-outs for Java... Java has peaked and is on the way out. C|C++ and Python are the primary players with specialty interests still in Fortran yet, and smatterings of others... but not Java. By the by, ask Linus Torvalds what he thinks of Java sometime (be sure to duck).
That point is fair too. There is quite a bit of code out there written in Java that must be maintained, true enough... about 25 years worth of it... don't worry about your job. But those are two horses of a different color (developers, vs maintainers)clicky wrote: There's plenty of jobs for my kind - still far more than C++ developers... Many companies still recognise that business code written in C++ is, generally speaking, less maintainable (and thus more expensive) than Java. Including IBM. Just count number of Java consultants they still send around the world... And one of the reasons (solely my opinion here) is that you can write far worse code in C++ (and people generally do) than in Java.
Interesting question. I did it and here are the results:MarkHaysHarris777 wrote: Pull virtually *any* source you want down from Github whatever and tell me what its written in/ more likely that not it will be C|C++ using gcc and the gnu toolset.
Yes. You are not the first one to notice that. And it, kind of, makes sense.MarkHaysHarris777 wrote: PS ... almost forgot, but what language is becoming ubiquitous (almost like BASIC back in the day) everywhere... mac, pc, Raspberry PIs, Intel Edisons, pyboards, and on and on... PYTHON
Java is not a yesterdays thing and won't be for a long time. Many of the software packages I used over the time are written in Java, and my own software from 15 years ago still runs on all significant platforms (and on the Pi, of course). Started with (and developed many plugins for) Image/J, and lately aquired Swordfish III, a professional TMS. In between are countless packages you wouldn't even know they're written in Java. For my XML-CMS I even use Jaxe (as applet) as its editor.MarkHaysHarris777 wrote: Heck, there are still companies out there (believe it or not) who have some schmuck maintaining their COBOL; I kid you not! But we don't have COBOL developers today.
Or maybe leave it up to the kids to deceived whether to get into programming or not in the first place. When I was young we just had the home computer revolution, and with the ZX81 every child that was curious could learn how to program. Many had no problems to educate themselfs and to move from BASIC to Assembler to more elaborated languages and eventually to something OO - if programming was what they really wanted to do. This generation formed the modern world. I find this exciting.richrarobi wrote:Therefore it would seem sensible to me that students should be given a general grounding as above, and also a deeper introduction to maybe two carefully selected modern languages (I personally would choose Python and Ruby ).
In general most high level programming languages are identical. They have if...then...elif...else, for...do...end, foreach...do...end (array iterator), while condition...do...end, do...end...until conditition, select...case...otherwise constructions (although case is notably absent in python which annoys me). Kids with an interest in programming will learn all of that stuff no matter what language they're taught. Then the art of becoming a programming polyglot is transferring those logic components to the syntax anomalies and irregularities of the language they're writing. [I'm carefully ignoring RPN languages like Forth and PostScript. I'm also ignoring the mindblowing Erlang which is a law unto itself.]clicky wrote:Without getting further Java or not Java - there must be some kind of pragmatic approach to it. You cannot say 'leave to kids to decide'. If you are going to teach a language on a platform - it is for teacher to choose the language and the platform. If selection of these two is good - students will love it and benefit of it. If they are bad, well...
I just looked at the free book. It starts with how to install the software and run hello world. After objects, control flow and user interfaces are introduced via working examples, two longer programs are developed in a step-by-step fashion: a graphical calculator and a pong game. Each chapter ends with a couple practice questions. In my idealized world, school children learn about complex numbers by age 14 when solving the quadratic equation in algebra class. Although complex data types were introduced into high-level programming languages with Fortran IV in 1962, Java does not include a standard complex data type. For this reason, Java does not support mathematics education past age 14 as well as Python, C99 or even Fortran. Forgetting the Java versus my-favorite-language debate, the book is well thought out, well written and appears suitable for children and adults who do not know how to read and write computer programs.mihol wrote:a free download for ebook on http://myflex.org/books/java4kids/java4kids.htm that I found useful.