BP614: Using ex-students as mentors Sam’s response to query on C#
Hi Sam,
Do you think C# would be a good language for the year 13 students to use when they sit the Computer Science Scholarship exam or do you think they would need to spend too much time on interface design at the expense of problem solving?
Jenny
Hi Jenny,
It would be interesting to see what the others think; but I would say definitely stay with C++.
In C#, as with Visual Basic, it is too easy to get hooked up on making a pretty program, and yes, I feel that it is harder to get down to the basic problem solving, if that is what you are trying to focus on. I don't really see how it is fair to do the scholarship questions in a visual language such as VB or C#; and I would guess that is taken into consideration when they are marked - problems like the game AI one in last year’s exam would have been significantly quicker/easier in VB or C#, but would provide much less evidence of problem solving etc.
Also, my next problem with C# is its system requirements; it barely runs on my 1GHz laptop, and a hello world application takes up 20MB of ram, but for the Scholarship situation, that is not really a problem.
I can say, as someone who uses C regularly (plus VB knowledge) it was very very easy to move to C# at Uni - my first program was an image manipulating program - but the actual programming and problem solving that went into it was close to 0 - a few loops and some Year 9 maths.
All of that aside; C# is generally a better programming language than Visual Basic, and I would recommend many people currently using/learning the older versions of Visual Basic to consider C# - it is very very easy like Visual Basic (the only thing that keeps me from forgetting it is not Visual Basic is the nicer syntax), and it is very similar to Java and C++. It might be worth looking in to getting 6th form programming using C# - it is generally much less work to produce a professional, modern looking program in C# (or any of the .Net languages) because they offer up to date widgets etc. for use.