The case for Delphi verus Java in SA high schools

I get what you are saying about it being "easier" to read (although that var/begin/end...cringe). But what is so bad about scaring them away from this field? If you cannot grasp that "complicated" for loop you are not going to get far anyway (even in school).

Here is a quote from a biography about Michael Phelps:

"At age 7, Phelps was still "a little scared" to put his head under water, so his instructors allowed him to float around on his back. Not surprisingly, the first stroke he mastered was the backstroke."

Can you imagine if the instructors had just told him "Well if you are scared to put your head in the water than you won't get far anyway" and told him to leave?

Sometimes people surprise you and if you, as a developer, want to be cutting code all of your life then don't encourage new people to enter the field. The only way there will be space for the senior and good people to rise is when there are more inexperienced people to do the grunt work. Get them involved and rather concentrate on the much more fun stuff.
 
I learned programming in high school with Delphi and honestly I would have preferred starting in Java, or Python, hell even C.

The reason is that we started with GUI almost from the get go. Many people became very good at creating these beautiful forms but had very little understanding of what was going on behind the scenes. Sure we did the basics like for loop, if statements etc. but the GUI code added unnecessary comlpexity IMO.

People were constantly referring back to printed notes to type in code that we knew did this to these widgets but didn't know why it did. As a result almost all the students dropped to standard grade computer studies. We'd have been better off sticking to console programs and getting a rock solid programming foundation instead of learning all these fancy tricks with the form editor.

I'd actually have preferred it if we didn't start with an IDE as well (+1 for python). It added tons of auto-generated code and files we had no idea why were there or necessary. At least using a text editor and command line forces you to know what's going on. Also we were high school students, our programs were trivial, never required more than one file and were almost always less than 100 lines. The IDE was overkill.

I can firmly say I didn't "get" programming until I started with python in university. Then I actually understood the code and the reasons behind it instead of working from a "type this to do that" mindset without actually understanding it.

EDIT:

It may not even necessarily about Delphi. The kids have most likely never even programmed before and you're already throwing them in the deep end with GUI, event based programming, communicating with databases and IDEs. Really?

You don't see half that stuff in university until after at least a year, sometimes even two. And you're chaining them to a single operating system.
 
Last edited:
I'd actually have preferred it if we didn't start with an IDE as well (+1 for python). It added tons of auto-generated code and files we had no idea why were here or necessary. At least using a text editor and command line forces you to know what's going on. Also we were high school students, our programs were trivial and never required more than one file and were almost always less than 100 lines. The IDE was overkill.

I hear what you're saying.

However, something with code colouring, automatic indentation, syntax highlighting etc is a must when starting. It's not cool if you're stuck for hours because all you did was forget a semicolon at the end of a line.
 
I hear what you're saying.

However, something with code colouring, automatic indentation, syntax highlighting etc is a must when starting. It's not cool if you're stuck for hours because all you did was forget a semicolon at the end of a line.

True, but then there are free editors like notepad++, gedit etc. that do that without the complicated interface of a full IDE.
 
You want people in school to get excited about programming, not prepare them for jobs. The second part will take care of itself if you can get them interested.

Actually using Delphi made us even less enthusiastic because we knew we were basically learning a BS programming language that hardly anybody used in "real life". We actually asked our teacher if we could switch to java on many occasions so we could at least get some idea what many professional programmers did on the job but no dice.
 
+1 for Python. An IDE or tool isn't supposed to teach you to program. A good text editor is all you need to learn a programming language. An IDE is a tool in a programmer's belt.

I learnt pascal in school and didn't enjoy it one bit since the language was horribly out dated. Java or Python would have been a better start.
 
I can firmly say I didn't "get" programming until I started with python in university. Then I actually understood the code and the reasons behind it instead of working from a "type this to do that" mindset without actually understanding it.

My son was in the same situation with Delphi. He was interested in programming but after the "type this to do that" without understanding what you actually doing, made him and some of his friends decide to dump programming.
 
Actually using Delphi made us even less enthusiastic because we knew we were basically learning a BS programming language that hardly anybody used in "real life". We actually asked our teacher if we could switch to java on many occasions so we could at least get some idea what many professional programmers did on the job but no dice.

I learnt pascal in school and didn't enjoy it one bit since the language was horribly out dated. Java or Python would have been a better start.

Sad true common story.
 
Here is a quote from a biography about Michael Phelps:

"At age 7, Phelps was still "a little scared" to put his head under water, so his instructors allowed him to float around on his back. Not surprisingly, the first stroke he mastered was the backstroke."

Can you imagine if the instructors had just told him "Well if you are scared to put your head in the water than you won't get far anyway" and told him to leave?

Sometimes people surprise you and if you, as a developer, want to be cutting code all of your life then don't encourage new people to enter the field. The only way there will be space for the senior and good people to rise is when there are more inexperienced people to do the grunt work. Get them involved and rather concentrate on the much more fun stuff.

And the other 100 kids that took swimming lessons with him that never went pro?

Nevermind - Delphi's syntax is pretty meh. It is not "pretty" at all and just like VB looks messy by nature. The only viable reason I could think off them choosing it over a more modern language is because of resources (money spent and trained teachers in place). If, however, they are bringing it in as a completely new language then it leaves you with quite a few questions.

This is only school though so it actually doesn't matter what they are using because even after university you still don't really know anything. It might actually be better because they get exposure to an extra language; one which they otherwise would probably never be exposed to.
 
Even Turbo Pascal is better than Java.

Or hell, give the kids a real education, school them in fundamental C or at least Visual Basic.

Java is a horrible language set. Anyone needing proof of that should try load up JCPSP, then load up PPSSPP aaaaand then learn that the later was built in 1/10th of the time.
 
Even Turbo Pascal is better than Java.

Or hell, give the kids a real education, school them in fundamental C or at least Visual Basic.

Java is a horrible language set. Anyone needing proof of that should try load up JCPSP, then load up PPSSPP aaaaand then learn that the later was built in 1/10th of the time.

Seriously? That's what you're basing your entire Java argument on?
 
I think the best language would be C#, because it has everything a school child needs. If you can ignore GUIs you can even go with something like FORTRAN77 which is still the best looking language I've ever worked with, but obviously OOP is out.

School children don't need to understand memory management or pointers so C is out.
 
Honestly, they should really be staying away from anything proprietary and/or dependant on proprietary. Free open source projects can allow for a much better support base and better longevity since the top projects typically have a much wider support base from developers to users. It also allows the dept to shape the direction of the project if required.

I would rather they spend that license money on setting up a crack team of developers and linux gurus that can generate system and application designs and management aimed at our schools basing them on the top projects out there. They can also focus on improving language support and so forth.

Yes, but opensource projects are notoriously unstable.

Furthermore, malware writers find it so much easier to build viruses because the source code is signposted allowing anyone to exploit weaknesses in open source code.

The only reason that there are so few viruses written for opensource software like Linux is because the amount of people who use the software is miniscule compared with the amount of Windows users.

[/windows users]
 
Yes, but opensource projects are notoriously unstable.

Furthermore, malware writers find it so much easier to build viruses because the source code is signposted allowing anyone to exploit weaknesses in open source code.

The only reason that there are so few viruses written for opensource software like Linux is because the amount of people who use the software is miniscule compared with the amount of Windows users.

[/windows users]

There are many small opensource projects that are unstable, but the big ones aren't. Plus the Dept can actively contribute and thus shape the direction of projects. Bad projects die or change, good ones go strong.

In terms of malware, really?? I think you confuse the ability to KNOW about vulnerabilities and thus be able to quickly deal with versus an inherent flaw of the opensource method itself. Opensource projects have no inherent financial objective to hide flaws. How many vulnerabilities have there been in the entire history of Free and OpenBSD versus MS Server in their entire history?

Apache project vs MS webservers?

You are fair to say Linux DESKTOP is not a current target due to low volumes of users, but the rest of what you are saying is really not really accurate.
 
OFFICIAL

The Western Cape and KZN will officialy be moving to Delphi next year.
The Minister of Education has made her decision and we will be writing the NSC 2017 for IT in Delphi instead of Java.

Delphi also brings it own problems to the able.
The arguments for ditching Java are: From the Minister desk

1. Software tools currently used, including the number of provinces/ schools that are currently using the different tools.
2. Different software tools and lterature suggestions regarding the suitability of these for teaching introductory programming.
3. The tools most suitable to implement and assess the current curricula.
4. Availability of resources
5. The cognitive and developmental level of the target audience as well as the general profile of learners.
6. The impact on the system which includes teacher training.
7. Migration of learners and teachers.
8. Support of Schools and Teachers
9. Technical problems experienced with Java regarding connecting to the database in Java-Netbeans environment as well as potential technical problems with some of the other tools investigated.

Please comment and let me know what you guys think.
 
Top
Sign up to the MyBroadband newsletter
X