'Frank Shute' wrote:
On Sat, Feb 02, 2002 at 08:25:14PM -0000, Nick Clarke wrote:
The best way to learn programming IMHO is unix shell. If it must be on a Windows platform then they could use perl, or for an oo language python or Java.
Sorry, but after more than 20 years teaching programming in Schools and Colleges from the youngest to degree level, these would not 'cut the mustard'
Students of all ages want their programs to look nice.
Do you know what? I don't care what the kids want, I want what's good for them.
I want my students to be educated. Generally that's good for them. Better they grasp 90 percent of something that's not quite ideal---probably not Visual Basic, though---than they retain just 10 percent of something that's "good for them".
They will spend hours making a simple program like a metri/imperial convertor look the part.
Hours wasting their time polishing turds.
Today most naive users would never use, say, a metric/imperial convertor that ran at the command line. It doesn't matter how bug-free, elegant and ideologically sound a piece of software is if no one uses it. And rigour need not be sacrificed for usability.
Like it or not, it is Windows that has made them expect this. As a C programmer I would like them to learn C, followed by C++ ...
I wouldn't. They'd get bogged down with pointers & casts etc. They should learn on a garbage collected, non-strongly typed language....without a GUI.
What's wrong with a GUI? Java is an *excellent* teaching language, for example. This is like saying that students should use a fountain pen because it's a "proper" pen---rather than a biro which would allow other people to read their writing properly.
What the program looks like is a total irrelevance,
Even in the academic world the take-up of a piece of software is directly affected by the way the program looks. Understanding how to build a usable and appealing interface is intellectually worthwhile---and of great practical consequence. For years the Japanese made reliable and economical cars that no one wanted to buy because they looked awful. The Land Rover is a fundamentally sound design, but Rover wouldn't sell so many of them if they didn't also make a pretty Freelander model with colour-keyed bumpers and curvy lines.
it's what it does & how it does it that's the interesting thing & by pandering to their supposed preference/interest in an IDE/RAD you are hence focusing their attention away from the interesting bit; in essence you're failing your pupils based on your own uninformed prejudice.
Irony alert!
VB or Delphi are the only real options.
Prejudiced drivel.
You may have a point there, but Delphi is based on one of the most popular and successful (and "ideologically sound") teaching languages ever: Pascal. And it looks nice too.
(C Builder would be better, but for some reason it has never caught on as I would personally like it to) Kylix has just arrived, and this may change things a bit.
I've told you why C/C++ are not suitable languages for secondary school students & your suggestion that they are shows you know little about programming and even less about teaching programming.
This is an argument of the "you disagree with me so you are ignorant" variety. The use of good libraries can make learning C/C++ appropriate at any age. You can hide away the nastiness of print statement syntax, pointer arithmetic and memory management and get across good programming principles at the same time. Also, whether we like it or not, most "real" software is written in C/C++, including Linux. English is a horribly inconsistent language in which slight errors in syntax can have catastrophic effects. Somehow, despite its unsuitability, it has displaced Esperanto from our secondary schools. Very young children seem to be quite good at picking it up. What they do once they've got hold of it is another matter...
Even at advanced level GNVQ students are not expected to produce fully operating GUIs as well as fully working programs, only the latter.
Quite right too.
Hear, hear. [snips out aggressive *ad hominem* stuff]
Climbs down off soapbox and settles down to do some real work on my Linuxbox - but that is as a consultant, not in school!
God help your clients....and your pupils.
Two of the keys to consulting are to listen to people's needs and to be prepared to compromise. Nick Clarke's original email made reasonable points and seemed to balance up different considerations in a thoughtful way. I didn't agree with a lot of what he wrote, but I think he mentioned his 20 years "in the business", not so much to "prove his rightness", but to point out that his opinions were the result of experience rather than bigotry. We share a lot of common ground on this list, but sometimes you'd never guess it from the (personal nature of the) conflagrations. -- Damian COUNSELL http://www.counsell.com/