Delphi, MS-Office exclusivity in SA schools reversed

And there is the magic problem - you seem to want the curriculum to provide "training" rather than an education.
But actually no I had very good "training" the school performed wonderfully in comp sci matric exams consistently years before and after had and some very competent programmers in a multitude of languages cut their teeth in the schools computer lab from before the mess of Delphi. My sister who had a different "instructor" (and was at the sister school) similarly suffered under the yoke of Delphi a few years after I finished school; and you could look at the curriculum to see where things were six months into the syllabus of a Pascal vs Delphi dispensation.

Delphi is manifestly idiotic, it is locked to a single paradigm (Windows essentially), fails as a RAD suit (dies dismally to Visual Studio) and can be outclassed by MSAccess for database applications. Delphi has absolutely no practical application beyond certain legacy clients who are locked into using it and it destroys the pedagogical advantages that Pascal (which was designed as a teaching - as opposed to training language) brought to the table requiring learners in a schooling environment to spend more time dealing with Delphi crap than actually learning anything about programming. The ONLY justification for Delphi is as an "introduction to visual programming" course or module - like UNISA has - as an alternative to Visual Studio.
Probably should use "Education" and not training.
You probably have never seen a real Enterprise level Delphi application. Muti-tiered with distributed componenets.
Go to Europe and look at some banking applications, you'll be amazed what they do.
Years ago we developed a system (still in operation today), that could only be accomplished with the likes of Delphi and C++ (XML integration, SOAP, DCOM etc). Visual Studio and Visual Basic just did not match the needs. C++ resources was too scarce ($$$), So we used Delphi.
It all depends how you use it. Stay away from RAD, do not use data components in your presentation tier. If you like C# then you should like Delphi, cos they're the same, give a few syntax differences.
 
I've seen some amazing transactional business applications that are written in Delphi - by guys who are able to work in different programming languages and paradigms - and the reason invariably had to do with legacy systems and lock in [a wonderful comment from somebody maintaining a system was that he loves working in Delphi but in reality management is just throwing money down the drain and are falling for sunk costs]. Your's is the first usage case I've come across of a case where Visual Studio doesn't get the job done and a move is made to Delphi because of resource scarcity on C++ and it is plausible but it doesn't make the argument for Delphi as a schools course - if anything it is a card for advertising C++.

My argument is NOT that somebody who is in programming shouldn't consider picking up Delphi - especially if they have C# or learnt Pascal - my argument IS that the teaching of Delphi as a FIRST programming paradigm is a ****up. My experience is that the school kids who were pushed onto Delphi before using a plain old text IDE form of Pascal and who had to dive into OO before getting procedural programming under their belt had to relearn programming (some of them simply learnt programming outside of the schooling system). If you have a proper programming background you can happen to write software in Delphi - but you'll never sustain calling yourself a "Delphi programmer", a schooling system built around Delphi however will produce a horde of "Delphi programmers" and that will be a problem.

This isn't a C vs Pascal issue at all. It is the argument between locking learners into a restricted set that badly moshes OO and procedural programming and having a general programming education. In fact I'd be quite in favour of using Free Pascal as your basic teaching language with a simple IDE and towards the end of the course including a brief use of the Lazarus IDE but the arguments for this include the fact that Free Pascal is fully developing virtual machine support and already has the ARM base covered - think Raspberry PI. The issue is that Delphi is a proprietary set that offers no advantage to build you IT/CompSci curriculum on.

There is also the very interesting consequences of cloud computing and software as a service to consider.
 
Maybe the point should be Government has made lots of commitments to go FOSS, but then keeps implementing plans that go directly against this.

Ideally the choices for IT curriculum should ensure kids:
1) learn the basic principles of the function of the program
2) will have easy access to the software during and after learning (no prohibitive license costs)
3) should be somewhat agnostic of specific vendor platforms (to avoid the problem of the vendor going bang)

Thus for programming the focus should be on what the learning outcomes are and then allowing a few language choices maybe, making sure the learner will be able to use the language after school without having to go to a big corporate who can afford it and should give them some flexibility in terms of applying the learning.

For something like a word processor, I am very sad Libreoffice is not being used, it pushes kids in to the MS cycle. It is probably easier to move from Libre to MS than the other way around. THe focus should be on learning what you can do with each of these, so the best option would actually be to use all of the options out there and then let people decide for themselves while enabling them to be competent on each.

Dreaming, I know.
 
school<>varsity<>real world employment<>hobby programming

Some people get this so confused.
 
If somebody presents themself as a Delphi programmer I immediately know that they are an idiot.
You don't seriously introduce yourself as a "Delphi Programmer" do you?

I guess if I were to present myself as anything, I would as a Delphi programmer since I spend most of my time programming in it. If asked what language I use I would say Delphi. So now at least before reading on you are aware that I am an idiot.

In fact your equivalence of Delphi and Turbo Pascal underlies the error.
Delphi is a product suit built on top of Object Pascal

You don't seem to understand that you can File -> New -> Console Application and have a completely "Delphi"-free Object Pascal IDE. The Delphi IDE is without a doubt the most mature and feature rich Object Pascal IDE and costs aside it is the obvious choice if you were teaching Object Pascal.

it is locked to a single paradigm (Windows essentially),

False. Compiles Windows, OSX, iOS, Android applications. The only thing locked to Windows is the development environment. Fundamentals learnt in Delphi (ie Object Pascal) can be applied to other Object Pascal environments (Free Pascal/Lazurus, Oxygene, Smart) to produce applications for almost every platform.

fails as a RAD suit (dies dismally to Visual Studio)

Perhaps you can provide some examples of where it fails at RAD?

and can be outclassed by MSAccess for database applications.

False. Even horrible DBGrid based Delphi applications would outperform and outclass MSAccess. MSAccess? Really? Guess the "amazing transactional business applications" should have used MSAccess rather?

Delphi has absolutely no practical application beyond certain legacy clients who are locked into using it

False.

and it destroys the pedagogical advantages that Pascal (which was designed as a teaching - as opposed to training language) brought to the table requiring learners in a schooling environment to spend more time dealing with Delphi crap than actually learning anything about programming.

False.

Because your line "I don't think they should touch an Object until they're in Grade 10 or 11. That way they can get procedural programming under their belt first" contradicts the Delphi case altogether.

False. I've seen horrible "procedural" visual application written in Delphi. I've seen horrible procedural console applications written in Delphi.

The first thing the compsci school course (which doesn't start in Grade 8 but rather Grade 10) is dealing with objects and layers of stuff they don't understand in order to generate a hello world program.

Then the problem is that whoever is creating the syllabus has about the same understanding of Delphi as you do.

The point is the DoE set course to replace Pascal and procedural programming education with Delphi and object orientated programming through Delphi.

The two are not mutually exclusive.

In fact I'd be quite in favour of using Free Pascal as your basic teaching language with a simple IDE and towards the end of the course including a brief use of the Lazarus IDE but the arguments for this include the fact that Free Pascal is fully developing virtual machine support and already has the ARM base covered - think Raspberry PI. The issue is that Delphi is a proprietary set that offers no advantage to build you IT/CompSci curriculum on.

While Free Pascal and Lazarus are great as an evolving compiler/IDE/environment they are still somewhat behind Delphi in terms of modern language features. It has the same problem as using Linux as a desktop: support. Delphi also has an ARM compiler.

And no Delphi is not dead: as a language or an IDE. It might not be as popular as it was in the past, but it is certainly not dead. Object Pascal is also not dead as a language - compilers for Windows, Linux, OSX, iOS, Android, Java, Javascript. And no I don't think Delphi/Object Pascal is the "best" language and it is certainly not the only language I use or know. You can write crap code in any language!

Personally I think in terms of education that the language or tool you use is not even vaguely important. We should be far more concerned about the content of the syllabus and fundamentals which can be taught in any language.
 
If I were to teach a school kid the basics of computer programming, I'd use Python.

Like BASIC, you can start out unstructured and use print statements, X = 1, X = X + 1, etc.
Once you get past sequential flow, and variables as a concept, you can introduce more complex types like lists, sets and dictionaries. From there you can introduce looping.
None of this requiring a complex IDE, a specific entry point, import or using statements, knowledge of objects etc. You can start with the real basics and iteratively build up to objects, modules and components.

And the best thing is that it is free, works on all the common OSes, and well documented.
 
Personally I think if they should have chosen C & basic hardware that interacts with it.. like assembler like. Why? with C & assembler the kids will focus on routines and registers & how computers actually work.. basically fundamentals that oop etc are built up on. yes its not the most fun thing but knowing those things makes studying cs easier as you then can focus on oop principals. Maybe the advance class can focus on java/c++... because when I think about the guys that struggled with cs, they were the guys that struggled with fundamental loops and figuring out how those things worked.

Also moving from C -> C++ -> Java/C# is a more natural process than something like delphi -> Java
 
I guess if I were to present myself as anything, I would as a Delphi programmer since I spend most of my time programming in it. If asked what language I use I would say Delphi. So now at least before reading on you are aware that I am an idiot.
no because you've already killed the first slayer by "if I were to present myself as anything" and that is the magic issue - the question is not an answer to "what programming language do you spend the most time with" or anything of that nature. It is a question of sitting in on an interview with a client who is looking to hire somebody and them commencing the interview as a "Delphi programmer" or when you are reviewing CVs to accompany a business plan and the "occupation" listed for one of the people is a "Delphi programmer" you just know you are in trouble.

You don't seem to understand that you can File -> New -> Console Application and have a completely "Delphi"-free Object Pascal IDE. The Delphi IDE is without a doubt the most mature and feature rich Object Pascal IDE and costs aside it is the obvious choice if you were teaching Object Pascal.
No I completely and utterly understand this but it is "not how Delphi is taught". Moreover the benefits of teaching Object Pascal over ISO Pascal

False. Compiles Windows, OSX, iOS, Android applications. The only thing locked to Windows is the development environment. Fundamentals learnt in Delphi (ie Object Pascal) can be applied to other Object Pascal environments (Free Pascal/Lazurus, Oxygene, Smart) to produce applications for almost every platform.
Misleading the APIs used in teaching very much lock into Windows exclusively. Moreover it is

Perhaps you can provide some examples of where it fails at RAD?
Examples of it succeeding would be helpful. Of course the adoption rate of Visual Studio is the best testimony to this.

False. Even horrible DBGrid based Delphi applications would outperform and outclass MSAccess. MSAccess? Really? Guess the "amazing transactional business applications" should have used MSAccess rather?
Sadly not. You'd think a Delphi application would always outperform one splashed together in Access. I know of software suit for organizational membership and recording accomplishments for kids as part of an awards program both written in Access which replaced Delphi prepared databases that were constantly failing. As a demonstration in Matric I sloshed together an Access 97 database with forms and the works and the poor Gr 11s were supposed to try to slog together something in Delphi - it wasn't pretty.

Then the problem is that whoever is creating the syllabus has about the same understanding of Delphi as you do.
Nope the problem is that syllabus is being created to suit the punters of Delphi and a pile of bull**** marketing material that originated from Borland.

The two are not mutually exclusive.
To drive a motivation to adopt Delphi (over Pascal for which there was - and remains - far better educational resources) they have to be made so.

While Free Pascal and Lazarus are great as an evolving compiler/IDE/environment they are still somewhat behind Delphi in terms of modern language features. It has the same problem as using Linux as a desktop: support. Delphi also has an ARM compiler.
Support for Free Pascal is not a problem at all and for the price that the DoE would be paying for Delphi licensing etc ... they could build more than adequate in house support. The case for Delphi over Free Pascal cannot be made other than with bribes.

And no Delphi is not dead: as a language or an IDE. It might not be as popular as it was in the past, but it is certainly not dead. Object Pascal is also not dead as a language - compilers for Windows, Linux, OSX, iOS, Android, Java, Javascript. And no I don't think Delphi/Object Pascal is the "best" language and it is certainly not the only language I use or know. You can write crap code in any language!
Delphi is dying. The future of Object Pascal can only be secured on an open source multiplatform basis. Delphi simply cannot compete with .NET and that is what it has to do.

Personally I think in terms of education that the language or tool you use is not even vaguely important. We should be far more concerned about the content of the syllabus and fundamentals which can be taught in any language.
There is no best language to teach in but there are languages and paradigms which can be a distraction - Delphi is one of them.
 
The old school stuff is the basic (he he geddit?:)) backbone. But things move on and it's interesting looking at the current trends:

http://trendyskills.com/
top 10 for this year = Java, C#, JavaScript, HTML, XML, C++, PHP, Python, C, Perl. (HTML5 has crept in if you only view the last 2 months of 2013)

http://redmonk.com/sogrady/2013/07/25/language-rankings-6-13/
Their top 10 = Java, JavaScript, PHP, Python, Ruby, C#, C++, C, Objective-C, Shell

https://sites.google.com/site/pydatalog/pypl/PyPL-PopularitY-of-Programming-Language
Their top 10 = Java, PHP, Python, C#, C++, C, Javascript, Objective-C , Visual Basic, Ruby

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Their top 10 = C, Java, Objective-C, C++, C#, PHP, (Visual) Basic, Python, Transact-SQL, JavaScript

http://lang-index.sourceforge.net/
Top 10 = C, Java, Objective-C, C++, Basic, PHP, Python, C#, Perl, Ruby
 
As long as you can put out some decent code in the END
 
I fear somebody might WRITE us a nasty letter

of course we could make our puns a bit more VARIABLE by broadening our SCOPE
 
Top
Sign up to the MyBroadband newsletter
X