Delphi and MS-Office forced on South African schools

crudler

Well-Known Member
Joined
May 20, 2008
Messages
396
Can't really comment on the ms office, but I think teaching Delphi is the most genius idea ever and I have to whole heartedly disagree with the author of this article.

Java (although a great language and used by countless corporates) is far too complex a language for learners to cut their teeth on. From experience I find that these learners get so caught up in the complexities of object orientation and patterns that they never learn the fundamentals.

In my day we had Turbo Pascal (an early and simplified precursor to delphi). Pascal is useless in the corporate world and we would never get a job based on it, but we learnt the fundamentals, and now I don't care what language gets thrown at me, I can tackle it with little more than google and a some time.

Whether the department of education had this same level of insight or not is questionable, but at least it's happening and I look forward to future devs coming into the system with better insight (14 years of programming experience and 10 years in corporate have gotten me very jaded with the current system)
 

deweyzeph

Executive Member
Joined
Apr 17, 2009
Messages
7,633
Personally I think C# would have been a much better choice, but failing that Java would have done nicely.
 

km2

Expert Member
Joined
Jun 9, 2007
Messages
1,177
In my day we had Turbo Pascal (an early and simplified precursor to delphi). Pascal is useless in the corporate world and we would never get a job based on it, but we learnt the fundamentals, and now I don't care what language gets thrown at me, I can tackle it with little more than google and a some time.
You can learn the fundamentals in anything, why choose a (practically) dead language to do it? If Java is too ugly, use C#, or if you don't want the Microsoft path pick Ruby or Python. Just pick something which is still relevant.
 

Johand

Expert Member
Joined
Jan 21, 2005
Messages
1,467
The comment about Delphi I do understand. But then I read the following:

“The language debate has been whether to standardise on one of the existing languages (ie Delphi or Java); to allow both languages to continue; or whether the time is not right to switch to a more modern language, such as Python,” the IITPSA said.
And a couple of other references to Python. Who is pushing this Python agenda? Based on what facts has this been made? There are a couple of things wrong with the statement. Firstly - Java and Python fill different needs!! Python is not more modern than Java in some magically way. It is more visible because it is used a lot in some front-end web-development. But the fact is Python is actually OLDER than Java.

In terms of popularity (as measured by TIOBE) Java is 5 TIMES (e.g. 500%) more used than Java. PHP is rated higher than Python. Or the simple p-net test (search for jobs "Java" or "Python"). Java: 1813 jobs in South Africa . Python: 244 jobs in South Africa.

But then why do they even mention Python? If we want to teach them scripting why are they not taugh JavaScript? I mean going for HTML5 + JavaScript it is hard to loose as these are standardized across multiple platforms. But you might not teach them all the "principles".

But yes --- there is a couple of points to be made. But whoever wrote the reply on behalf of IITPSA should taken out in the back and shot. Because replacing one agenda with another is hardly constructive to this discussion.

BTW: I am not pushing Java. I think there needs to be some debate, but sneaking Python in the way that was done is annoying.
 
Last edited:

crudler

Well-Known Member
Joined
May 20, 2008
Messages
396
You can learn the fundamentals in anything, why choose a (practically) dead language to do it? If Java is too ugly, use C#, or if you don't want the Microsoft path pick Ruby or Python. Just pick something which is still relevant.
Ironically I know of several big corporates that still use Delphi. You will be surprised how much of the healthcare industry still runs on delphi system (I have worked with a couple of them). but thats neither here nor there.

It's not about a language being ugly. C# is extremely similar to java anyways.

All I am saying is that you need to learn algebra before you can go on to use a calculator. Pascal closely resembles english, and although it has serious limitations, you are forced into learning the basics without getting confused by the noise.

I have met so many matriculants who think they are the brass because they understand polymorphism principles, but are clueless if you ask them to reverse a string by looping through it (seriously - this is an interview question and I reckon less then 1% can actually give me an answer)

now throw them into ruby......shudder

essentially what I am saying is that it's not about relevancy, its about fundamentals. half the crap u learn in school isn't relevant (geometry) but they pave the path for later life.
 

km2

Expert Member
Joined
Jun 9, 2007
Messages
1,177
Ironically I know of several big corporates that still use Delphi. You will be surprised how much of the healthcare industry still runs on delphi system (I have worked with a couple of them). but thats neither here nor there.
Sure, but COBOL is also used. When I say "dead" I just mean that the language doesn't have great prospects with their current owners. I think in its heyday it was the nicest environment for writing business Win32 applications, but with so much focus moving on to web applications, and even Microsoft pushing hard to move everyone from Win32 to WinRT, it's mostly a legacy niche.

It's not about a language being ugly. C# is extremely similar to java anyways.

All I am saying is that you need to learn algebra before you can go on to use a calculator. Pascal closely resembles english, and although it has serious limitations, you are forced into learning the basics without getting confused by the noise.

I have met so many matriculants who think they are the brass because they understand polymorphism principles, but are clueless if you ask them to reverse a string by looping through it (seriously - this is an interview question and I reckon less then 1% can actually give me an answer)
It's not like Object Pascal lacks polymorphism etc. It has those features, as does Java, it's just Java rubs them in your face when you don't want or need to deal with them (especially while getting your head around other fundamental concepts) and that's why I'm using the terribly subjective term of "ugly". I prefer the feel of C# to Java even though I can see they're mighty close. Maybe I'm being blinded a bit by my preference for the IDE of Visual Studio over Eclipse, maybe it's just that the times when I've thought "ugh, there's got to be a cleaner way to express this code" I've had more success with C# having syntactic sugar vs Java's so-called purity that prefers verbose regularity, maybe it's just that the same dude who did TP/Delphi did C# and that biased me.

Don't get me started on interview questions and the very low bar of question that can trip so-called programmers up :)

now throw them into ruby......shudder
Just saying that it's still easier to get started in Ruby than it is in Java... load up irb, print "hello". You can at least get immediate gratification from the computer doing something, and it's one line that you can explain to students. Adding loops, conditionals, variables all are one line additions. You start teaching Java and in order to get it to do anything you're filling a page with "public static void" and other things which you either need to hand wave away initially or spend time explaining those polymorphism-type concepts in the wrong order before the fundamentals you referenced.
 

calwynb

Active Member
Joined
May 11, 2011
Messages
53
I agree that it should be about the fundamentals!! Too many in the IT industry have no clue about the fundamentals. The best programmers are those who started out with the pascals and the delphis of the world and then graduated into stuff like Java.

Definitely do not agree with the MS office thing though!!! Go Libre!!!!! :D :D
 

Johand

Expert Member
Joined
Jan 21, 2005
Messages
1,467
Of course I dismissed Delphi quite quickly ... I must say a factor that plays a roll here is what the teachers know. All things being equal I prefer a teacher that knows the language that they are teaching so that you get to the principles and the way of thinking rather than just syntax. And I assume most teachers know Delphi (Pascal) better than most other languages.

Of course in the ideal world... kids being taught multiple languages might be cool. In fact I think science should actually be taught using Matlab or similar. Difficult to pull of, but cool :) Even though Haskell has very little practical application I would have loved to be taught Haskell in school because it forces you to think differently...
 

Johand

Expert Member
Joined
Jan 21, 2005
Messages
1,467
I agree that it should be about the fundamentals!! Too many in the IT industry have no clue about the fundamentals. The best programmers are those who started out with the pascals and the delphis of the world and then graduated into stuff like Java.
Haha. Yes.

I started of with GW-BASIC. Because we had an XT with a Monochrome Hercules screen while the cool kids had 486s and Pentiums. But it got me started and I soon graduated to Pascal and then Borland C++ (R450 for a school kid was a lot of money to buy a older version of the compiler second hand. 20 stiffies of joy :).

Definitely do not agree with the MS office thing though!!! Go Libre!!!!! :D :D
MS Office is a very, very marketable skill. Most companies don't know what LibreOffice or OpenOffice is!
 

InvisibleJim

Expert Member
Joined
Mar 9, 2011
Messages
1,144
I believe it is wrong for the education system to bias their curriculum towards proprietary software. We should be embracing free open source software which can be made equally available all.

There are plenty of poor/lower income families that will save their meagre resources or beg or borrow to obtain a knackered second hand P4 so that they or their kids can better themselves by learning computer skills. Our education system should be progressive enough to not burden them with any proprietary licensing costs when there are Free alternatives, perfectly adequate for the purpose.

We should be teaching Word Processing and Spreadsheets, not Word and Excel.

Incidently IMHO Java is a pretty good starter language in a lot of respects in that it is fairly strict in terms of things like typing, variable declarations etc. which I think is conducive to forming good habits from day one. Maybe teaching Processing then Java when it isn't appropriate to dive straight into OO.
 

plugger123

Well-Known Member
Joined
Apr 26, 2005
Messages
496
Delphi was a nice language but not relevant anymore. What is relevant today is C#, Java & PHP. Why would anybody take the time to learn Delphi, just to find out that they need to learn something else if they want a real job. Java can be considered as a very lucrative skill because it powers the world. You'll almost need to start all over if you want to move from Delphi to Java...

Experience in C#, Java, PHP ... are the things that will get you a real job.
 

Centaur

Well-Known Member
Joined
Oct 26, 2009
Messages
344
The comment about Delphi I do understand. But then I read the following:



And a couple of other references to Python. Who is pushing this Python agenda? Based on what facts has this been made? There are a couple of things wrong with the statement. Firstly - Java and Python fill different needs!! Python is not more modern than Java in some magically way. It is more visible because it is used a lot in some front-end web-development. But the fact is Python is actually OLDER than Java.

In terms of popularity (as measured by TIOBE) Java is 5 TIMES (e.g. 500%) more used than Java. PHP is rated higher than Python. Or the simple p-net test (search for jobs "Java" or "Python"). Java: 1813 jobs in South Africa . Python: 244 jobs in South Africa.

But then why do they even mention Python? If we want to teach them scripting why are they not taugh JavaScript? I mean going for HTML5 + JavaScript it is hard to loose as these are standardized across multiple platforms. But you might not teach them all the "principles".

But yes --- there is a couple of points to be made. But whoever wrote the reply on behalf of IITPSA should taken out in the back and shot. Because replacing one agenda with another is hardly constructive to this discussion.

BTW: I am not pushing Java. I think there needs to be some debate, but sneaking Python in the way that was done is annoying.
Python is one of the best languages to learn as a beginner, this post sums up why:
IMO, the most prominent points that speak for Python as an entry-level language are these:

it has a shallow learning curve - going from nothing to "Hello world" is much faster than in most other languages
it is intuitive - the syntax was designed to follow the principle of least surprise, and it is very consistent overall (unfortunately, the standard libraries don't always follow this consistency)
it requires very little boilerplate: a typical "Hello world" is one line of code, and simple programs can be written without any additional background noise that needs to be explained (such as function declaration keywords, import statements, class constructs, preprocessor directives, etc.)
there are excellent, straightforward tools to work with python code, especially the interactive interpreter; you don't need to learn a build system, IDE, special text editor, or anything else to start using python - a command prompt, the interactive editor, and a simple text editor, are all you need
it uses dynamic typing, but unlike many other dynamically-typed languages, types are transparent, and type-related pitfalls are rare
Source: http://programmers.stackexchange.co...mended-as-an-entry-level-programming-language


As for your comment on Python not being used, it is one of the fastest growing dynamic languages today, especially now that Google and Microsoft is investing and promoting it heavily. http://www.activestate.com/blog/201...nguages-pythonists-pythonistas-and-pythoneers
It is also in the top 10 of languages with the most projects on Ohloh, http://www.ohloh.net/languages?query=&sort=projects
And it is in the top 10 of the TIOBE Programming Community Index, http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

It also won the TIOBE Programming Language of the Year in 2010 and 2007

Also, you can do pretty much everything with Python, you can program robots, do scientific computing (awesome replacement for Matlab), create dynamic websites easily with all the decent web frameworks, the list is endless. Also the community support for Python is amazing, most people rated Python as their favorite programming language. http://readwrite.com/2012/06/05/5-ways-to-tell-which-programming-lanugages-are-most-popular

Yes, Java is a super popular language, but it is not suitable for beginners, it is too verbose and not as intuitive as Python for a beginner to learn.
 

damian24

Senior Member
Joined
Apr 5, 2005
Messages
758
Notwithstanding the article, has anyone looked at the latest prices for a copy of Delphi and the entire RAD, embarcedero has pushed the price to the point where I think it's uneconomical for most, fine if the school get it cheap, but what of the students?

The MS master stroke I think, are the free copies of the 'low scale' IDE that they have released. budget is no longer a constraint to a commercial app development environment for learning.

Of course the Java costs are essentially R nil...

Point is that in RSA, delphi is not relevant because of cost alone, let alone future language prospects.

D
 

Armgame

Well-Known Member
Joined
Dec 21, 2009
Messages
260
The thing is, using Delphi isn't that bad, but the fact that they are using Delphi 7 instead of the latest version bugs me. The MS Office part isn't so bad, they learn the basics of SQL and SQL implementation in Delphi(Probably not that useful, but it is something)

EDIT: It also looks like the learners who are back on the CAPS system are doing Scratch(A simple drop and drag programming IDE), then some basic HTML and then at last Delphi 7, I am not sure if it's like this at every school in South Africa.
 
Last edited:

Hamster

Resident Rodent
Joined
Aug 22, 2006
Messages
34,512
Python is one of the best languages to learn as a beginner, this post sums up why:
Source: http://programmers.stackexchange.co...mended-as-an-entry-level-programming-language


As for your comment on Python not being used, it is one of the fastest growing dynamic languages today, especially now that Google and Microsoft is investing and promoting it heavily. http://www.activestate.com/blog/201...nguages-pythonists-pythonistas-and-pythoneers
It is also in the top 10 of languages with the most projects on Ohloh, http://www.ohloh.net/languages?query=&sort=projects
And it is in the top 10 of the TIOBE Programming Community Index, http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

It also won the TIOBE Programming Language of the Year in 2010 and 2007

Also, you can do pretty much everything with Python, you can program robots, do scientific computing (awesome replacement for Matlab), create dynamic websites easily with all the decent web frameworks, the list is endless. Also the community support for Python is amazing, most people rated Python as their favorite programming language. http://readwrite.com/2012/06/05/5-ways-to-tell-which-programming-lanugages-are-most-popular

Yes, Java is a super popular language, but it is not suitable for beginners, it is too verbose and not as intuitive as Python for a beginner to learn.
I posted this in the other thread. I love Pyhton but still think a first language shouldn't be a loosely typed one.
 
Top