- Joined
- 16 Oct 2011
- Posts
- 250
ok C++ it is, thanks for the advice guys.
Don't bother with PHP or VB. These will teach you things in a bad way that could take many months or years to "unlearn".
ok C++ it is, thanks for the advice guys.
Would you mind expanding a bit? Genuinely interested. I code exclusively in PHP for web projects and have used VB plenty in the past so am curious to know what elements are 'bad'.
I do not have an affinity for either language it's just what I used for various projects. Rip into them all you want![]()
Just a quick questions lads.
The computer science degree course itself, wouldn't it start from the basics of programming in the first year, from the start is what im trying to say?
Yes it would.
They would generally start with pseudo code and gradually introduce you.
PHP is bad because it is a combined compiler and execution engine, i.e. script. This lack of separation can mislead beginners by not teaching them the difference between compile-time and run-time errors. Which is, IMO, important. Secondly, PHP is a very BCL heavy "language" where there is lots and lots of helper functions built right into it. Beginners of programming don't need shortcuts and helper functions. They want to understand how to split a string, for instance, by themselves. They especially don't need their first introduction to what a BCL does for them with PHP's horrible non-OO flat underscore-ridden mess, either.
VB is bad because it teaches programmers to think about code in a highly verbose way; as though you can read it like an English book. When in fact the current trend with programming languages is to remove verbosity and adopt minimalism. I believe that learning VB as a first language is a bad idea nowadays. And I can say that, because my first language was QBASIC and VB3. It took several years for me to overcome the issues those languages gave me.
I really don't recommend learning C as a first language. It has no OO and concepts such as pointers are just confusing for beginners. It's a lovely language but not for starting out.
C is a great language for learning the basics.
The distinction between syntax errors and logical errors becomes quite blurred for beginners coding in C. It lets you get away with murder until run-time then dumps a meaningless error message (to a beginner anyway). This isn't a good learning environment. There's a reason the majority of universities don't start out with C.
OO is something you pick up slowly after a good 3 to 4 years of programming.
Universities try to force OO down your throat whilst most people are still grappling about the basics of writing code. You can only teach the basics of OO. After that, it is up to you to fully "grok" it and start bending it to your will. OO is something that takes many many years to become fluent at because it is so far reaching, with so many different patterns, practices and frameworks that can be used to properly achieve it. Look up SOLID principles on Wikipedia.