The Pascal debate ...
Last night I deliberately started a debate
on a ‘teachers of programming’ forum to gauge response. As expected those who
were ‘interested’ in sticking to their ideas responded.
I asked the question …
I am of the view
that Pascal is best kept in the past, where anyone who says that they are still
teaching current programming skills using this language, worries me.
Am I being
unreasonable?
The response was defensive and encouraged
those who feel that it is something they must teach to self-acknowledge this
fact.
My concerns regarding Pascal stem from many
positions:
Old technology,
being taught now …. If this were current in any way I would have less of an
issue. It concerns me that some still teach C, but its structure is such that
it does help programmers learn something that many systems use. But Pascal’s
verbose structure is from a time gone, so why?
Is it being used
in anger? There is a place for scratch and greenfoot in getting students to
reach the concepts in a visual form. So, modern tools that introduce the
concepts are ok, but to teach programming per se, also encourages an emotional
response.
One argument
revolved around Delphi, yes, some have programmed in this. But sadly the
overwhelming majority, don’t, won’t or will not be allowed. If you are teaching
young programmers any semblance of a skill that they may use in the future,
then maybe the languages used should be encouraging their mindset towards current programming.
I have often
seen the ‘Pascal’ is fun argument in the past, to see it crumble when I show
them what could be done with Java, JavaScript or ActionScript in a few short
lines.
Then others say
there is object oriented Pascal, even with this retro fit, what’s the point
when there are many other languages doing this as part of their intended structure.
Often as
educators we are lost in our own world of ideologies and forget that one of our
principle roles is to develop a workforce that can compete in a world economy.
There are other nations far hungrier, with a seemingly far more able youth,
taking on this business at a lower cost. So whilst we dally with historical
niceties my question becomes one of ‘are we really serving our students’ or
‘are we serving a personal vanity’.
In all of this, I do like Pascal and recall
it with fondness; I did use it to teach introductory programming in 96, but by
98/99 was dropping it in favour of Java, JavaScript and eventually included
ActionScript. Based on the idea that, these don’t cover all commercial
languages, but a combination of these is of some value and would sit on a
students CV and likely to remain current.
What does really amuse me is that there are
those who rush to the defence (of their teaching) of Pascal, but few seem to
look at the bigger picture of why they should (or should not) be teaching this
language and what value this has for their students.
I never much cared for the language, other than as a toy, and it died for me with this paper.
ReplyDeletehttp://www.lysator.liu.se/c/bwk-on-pascal.html
Pascal was nice to teach, some of the local universities here then switched to Ada because that was the "new standard". But I think most use Java or some derivative today - not that it's my field any more. For me and coming from a hardware background, ANSI C has it all - if you can program in C, then you can program in any language :-)
ReplyDeleteFor the benefit of readers, is this in Australia
DeleteI did never learn Pascal, instead I learned ANSI C which is what I currently use at my job (and I thank I was taught C instead Pascal otherwise getting the job would be harder).
ReplyDeleteIf you want to keep it simple then teach something that is applicable to industry today. Start with C for fundamentals, then move onto Objective C, Java, C# or C++ dependent on what sector they want to be going into/what the course requires. When interviewing potential candidates I find it disturbing the amount of people who have not got a clue about fundamental programming principles. Pascal... I wouldn't even consider it.
ReplyDeleteIf you are interested, you need to go to https://groups.google.com/forum/#!forum/computing-at-school
ReplyDelete