UNISA B.Sc. Informatics

Currently starting out on Bachelors in IT degree at Tuks, and we are doing C++ from the start. I have more than 2 years of Delphi experience (including proper object oriented programming).

A word of advice, Delphi is a great way to learn to program. My knowledge of Delphi is making the learning curve of C++ so much easier. The most important thing to learn from any language, is logic, according to me. Especially loop logic, and Delphi makes it possible to learn this the easier way.

Once you start programming, you'll soon realize that the language (in other words mostly syntax rules) is much less important than the symantec and logic of programming.
 
Maybe it depends on whether you are doing COS or INF modules. (Sorry, I cannot be bothered to look up the details myself.)
 
@sitnet & _kabal_,

I've programmed in Delphi before and have no idea why you guys are praising it so much. Arrays in Delphi were horrible to work with. As I recall it had no fixed starting point, i.e. you could choose whether to start at 0 or 1, leading to horrible confusion.

I cannot see how Delphi could teach you more about OOP concepts than .NET, can you give a single example of something OOP related that Delphi does better than C#? I also cannot see how Delphi can teach you more about "loop logic" (really?) than, say, C#.

I've used several languages before including C#, MATLAB, SAS, Python, bit of C++, some PHP, VB5 or 6, Delphi 7, and of course SQL. Delphi used to be big, but at the present stage there are very few opportunities for Delphi developers. The Kylix project was scrapped (did it ever take off?). There are just so many better languages out there to develop in, and especially to teach fundamental programming concepts.
 
Actually I just typed in "Delphi" into MyBB's job search function. 2 Delphi jobs and 1 Pascal job available. Yay.
 
@Baron

I'm not praising Delphi. All I am saying is that Delphi wasn't hard for me to learn, and it helped me understand the core concepts of programming, without fussing about many crappy syntax rules etc. (and yes I know Delphi is very strict in terms of syntax, but according to me that's a good thing).

And what I meant about the loop logic, is that programming a loop in Delphi is very simple, so it's easy to rather focus on the logic behind the loop, rather than learning a huge amount of syntax to get the program to compile.

And to clarify, I'm not comparing Delphi to other languages. Yeah, of course there are "better" languages, Delphi is very limiting in some ways. But "better" is relative to previous programming experience. Which it seems you have a lot of. But I must admit, I have heard that .NET's syntax is even easier than Delphi's.

Point: As a novice programmer a few years ago, Delphi was a well-suited introduction for me, and was pleasant to learn.
 
You can, of course, learn C# from the help files and some examples. Or a single book. And be as skilled a programmer as a student who has been using it throughout the full degree course and came away a a piece of paper.

I have done the distributed Programming COS311-4 and the Graphics courses COS340-A. It was a bit arduous, I knew I would probably never use either Corba or OpenGL outside the degree, I still enjoyed it and plugged away.

Delphi may be a language that is mostly dead and hardly used in the industry, that is why I think it is decent choice for instruction. In the industry you could go C# (Windows), Java (Enterprise/Android), Objective C (IOS), C (embedded devices) but in a degree course you could need to learn classical stuff like doubly linked lists, compiler construction, OS concepts ... C# still has to make inroads into academia, and I think Pascal trounces C# as pseudo code for these concepts.

Anyway C# in a degree course is just as much a piece of paper most other languages.
 
The whole point of doing a degree is to learn and internalize progressively more advanced concepts. The only role that practical work should necessarily play, is to help communicate said concepts. Everything else can be easily self-taught offline or on the job. So don't worry about any specific language that is chosen, as long as your friend internalizes all the right concepts he should be good.

That said, I also don't think the idea of Delphi as a first language is necessarily a bad one. I like the fact that it isn't managed and has pointers, so it can still teach those concepts. In my first year of CS, during my B.Sc., we covered only Scheme and x86 assembler. Before that I had learned Basic, then Pascal, then x86 asm, then C/C++. I found the jump from Basic to Pascal much harder than Pascal to C/C++, and then once again I had more difficulty learning Scheme - learning Java and C# after all of those was easy. The reason for this was that learning the new concepts was the hard part, everything else is "just syntax".
 
Last edited:
Your missing the point of a university degree.

A degree sets your foundations which apply across all languages. Its not there to skill you up for the immediate job market.

I'm currently finishing my BSc in Informatics this year with UNISA and will gladly explain to you and your friend the real value of this degree. Its also not a Computer Science degree so even if we did cover .NET, it would still not achieve what your looking for.

What it however does achieve is prepare me for the real world of development. I learn about the basic programming, design patterns, UML, database theory, management, project management, economics and even accounting. These are all skills I will use over my long career as a developer.

For .NET, I could learn that on the job as any .NET employer will know that at university your only getting about 2-3 months of real world development exposure over your degree.

To give an example my C++ modules combined could all be done in two months - thats 5 modules (5 x 6 months of studies). But the foundations of development taught in these modules is applied to my PHP development I do each and every day.

Don't think short term, think long term about your friends career instead.

+1

All languages are fundamentally the same.

They have the same loops, condition statements etc. if you need a uni degree to be able to know when to use { and when to use ; or where on ui the property pallette or build option is then you are wasting your education.

The fact is, the really important things that differentiates one from another are not taught in classes. Not because they couldn't be bothered, but because without a deep understanding which comes from experience, it will be wasted on a novice.
 
Last edited:
As I recall it had no fixed starting point, i.e. you could choose whether to start at 0 or 1, leading to horrible confusion.

all dynamic arrays (eg var i: array of Integer;) start at index 0.
It is just Strings that start at index 1, because index 0 contains the length of the string.
 
UFS does. And I've heard of .NET modules being offered at Stellenbosch.

Regardless of all the comments about a programmer not being bound to a language and whatnot, am I correct in assuming that UNISA does not offer any .NET courses?

Correct Stellenbosch Uni Socio-Informatics 3rd year is .NET
 
I had the same debate about the futility and stupidity of Delphi 11 years ago which was when I was last doing any serious learning of programming or programming - - way back in Gr 12 -- I hated and persist in hating Delphi and almost every "Delphi programmer" I have met is a moron and douche bag - note I said "Delphi programmer" not "programmer who can program using Delphi". My loathing for Delphi goes back to school. I did Gr 10 compsci in Gr 9 and finished matric compsci in Gr 11. In Gr 12 I helped out with pracs for the Gr 10 and 11s and laughed at the Gr 12s. We learnt Borland's Turbo Pascal - which I didn't like, but honestly I am not a programmer - which had to be patched to run on the Pentium IIs with Windows 98.

The move to Delphi was in my view motivated by several factors each of which warrant some discussion:
Pascal was outdated
I don't understand how Pascal was any more outdated in 2000 than it was in 1998 or even 1995 for that matter. Actually with the return to the old flat look - Metro UI- and application docking it may be less outdated in the future than it was when I learnt it in 1999.
Delphi was a visual programming paradigm
Part of Pascal's outdatedness obviously but also a big driving feature - putting in radio boxes and pressing buttons. OOOHH

Delphi was not produced by or under the control of Microsoft
Of course Visual Studio would be a better suit to fit into visual programming but then you'd have to go with Microsoft and Microsoft is evil. More importantly a proprietary system is not suited to teaching because of vendor lock-in and all sorts of other things. The fact that Borland is proprietary can easily be forgotten.

Delphi programs and the IDE would run on Windows with ease
Despite the fact that Microsoft is evil there operating systems are pretty good and everybody was running it. Of course "Delphi programmers" couldn't see the irony of punting an alternative to Microsoft that was dependent on Microsoft.

Delphi was a packaged solution including a singular IDE
A really useful thing for teaching environments such as labs, not having separate compiling and the classic "any text editor will do" problem. The fact that the IDE was crap is irrelevant.

Delphi embraced OOP
Well Turbo Pascal had already introduced support for OOP but it certainly didn't embrace it.

Delphi is purportedly suited to RAD
I frankly dispute this contention - hence it is purported - and don't see how it is a positive trait. Microsoft Access is RAD and so is plagiarism but I haven't encountered a serious argument for either in teaching programming. I am a fan of Access - especially as the early stages of a database system - and if one considers the original thinking of Delphi as a system to connect to oracle (databases) it is superior in the core function. I am not sure how big a role this claim had in teaching adoption but it was repeated by "Delphi programmers", my view of course is Visual Studio is a better fit and if you really want quick and dirty a structured programming setup doesn't work. I have seen some pretty advanced applications developed entirely in Access and they are often rapidly designed and built in comparison to an equivalent Delphi.

Delphi is easy to mark
Which is pretty important for an overstrained education system.

My matric computer science class ended up with 11 of us, 9 on HG and 2 on SG of which 10 people could actually write a program and 2 of the guys could really program (I can proudly say I was not one of them). The matric computer science class one year below me had 18 guys of which only half could write a program - in Pascal. My sister did comp sci at school after Delphi had become the compete norm and ended up as the only one in her class to finish it in matric and despite having fully absorbed almost all of the computer science itself taught cannot program and was thoroughly frustrated - had she learnt Pascal she would probably be a better programmer than me and have moved onto other languages that suited her style. The move from Pascal to Delphi by schools was frankly a monumental f*** up and having been terribly frustrated observing this - trying to assist with pracs where six months in core code concepts simply didn't exist.

But viewing Delphi as the pondscum of programming IDEs and "Delphi programmers" as moron's doesn't discount why it makes sense for UNISA - or any university for that matter - to teach, and moreover examine, an introductory course in visual programming using Delphi particularly if they are teaching programming concepts using a sensible teaching tool before. The "problem" with Pascal was that it didn't teach anything about visual programming and we never needed to step into object orientated programming, so if the school curriculum wanted to cover bases having six months of Delphi would not have been as big a problem. Moreover I don't think the list punting Delphi hasn't changed really after 10 years - it is still a purportedly RAD programming suite that is not produced by Microsoft and is dependent on Windows that is object orientated, visual and adopts a structured programming language paradigm and relatively strict syntax; it is easy to mark and uses a single IDE and there is enough local teaching material at really cheap prices. I assume the availability of resources in Afrikaans helps make the case for UNISA.

Delphi is frankly a bad programming language in comparison to most things including earlier Pascal IDEs and Python. It didn't date, it never actually had a hope of making a difference because it was outmoded to begin with. Java and C still matter. So I am brushing back up on some compsci and reading UNISA's short course on C++ and I can look with fond nostalgia on Pascal which sadly is not the case for the guys who learnt Delphi to start with - coincidently a mate of mine from primary school who is full out in software engineering will use anything but Delphi. Sadly there are way too many bespoke Delphi applications out there but hopefully as everybody moves to the cloud they will be a dead monument to the "Delphi programmer". The point though is if you need to teach a visual programming route what are you options if you exclude Microsoft solutions.

Personally I would like Scratch to be introduced in primary schools. Scratch is cool.
 
....
But viewing Delphi as the pondscum of programming IDEs and "Delphi programmers" as moron's doesn't discount why it makes sense for UNISA - or any university for that matter - to teach, and moreover examine, an introductory course in visual programming using Delphi particularly if they are teaching programming concepts using a sensible teaching tool before. .....

Just about everybody misses the point of why UNISA uses Delphi till your just about to finish your degree. UNISA is not skilling up Delphi developers, instead they are exposing students to different concepts.

While I've only been paid as a developer for the last 7 years, I've been playing with code since the mid 80's and the consistent thing with development is that languages change but the foundations and concepts don't.
 
So, if the OP is looking at UNISA in the first instance it probably means that you/your friend want(s) to do the degree part-time? Doing a degree part-time limits your choices with regards to where you can study.

So what do you want? A degree? A skill? Or both? The third option no doubt. I suggest you enrol for the degree if you need to do it part-time and then buy a book on C#, get the free version from Microsoft, and teach yourself a new skill. (you could always go on a .net development course and pay through the nose for it if you ONLY want the skill!)

Edit: By the time you finish the degree, .NET will possibly be old news, and superseded by "something else". Hence why you get the degree as your foundation, and the tool that empowers you to better acquire the specific skills you need for your particular life.
 
Last edited:
Top
Sign up to the MyBroadband newsletter
X