Posted on 08/20/2002 3:38:56 PM PDT by TechJunkYard
Edited on 06/29/2004 7:09:22 PM PDT by Jim Robinson. [history]
WATERLOO, Ontario -- Students at the University of Waterloo in Ontario, upset over a $2.3 million (CDN) partnership fund from Microsoft Canada, have charged that the company is trying to buy its way into the academic curriculum.
The corporation had lobbied UW staff to use its C# programming language in a new course before the partnership fund was announced, Wired News has learned.
(Excerpt) Read more at wired.com ...
Seriously, though I have heard that C# is a good teaching language, my old-school thinking is that assembler is better suited for a Programming Fundamentals course.
I don't think it's cool that MS apparently gets to make the decision.
Ummm... MS hasn't told us yet?
Bump!
However, I use C#, and it is NOT a good teaching language for beginning programers. Neither is Java. I think that students need to have a firm grouding in procedural programming before taking on an 100%OOP language like C#.
Now, if the class is FOCUSED on OOP, then C# is BETTER than Java for the task, as Java is not 100% object oriented.
I hope you're planning on qualifying that statement.....
I hope you're planning on qualifying that statement.....
Okay, but everyone knows this.
Java still uses primitive data types.
Examples:(byte, int, long, float, double, char) are all still primitive, rather than classes.
Granted, this is faster, and anything that makes Java faster is a good thing, but in C#, all data types are classes, with all the associated flexibility and power you get from using these types as objects.
I'm a Lisp/Scheme proponent for first year, myself : )
That doesn't affect its status as being a purely OOP language. You still need primitive data types to store the values that the classes hold.
Then tell me how they are accessible to the data type classes which are just as much classes as anything else in the C# API. What does the compiler do, "oh $hit, you're not the Double class... you're not supposed to be able to directly declare a double variable?"
Try me.
I am a comp sci student, and I started with C++. Best thing that could have happened, for me - I think like C++ does, and knowing the C family well got me a great job. As for the suggestion elsewhere that students start with assmebly level - thankfully I didn't, because I would have dropped out of comp sci. Later on, yes, but let's have mercy on the beginners! Give 'em C++ and see what they do...
Wrong. Java is 100% OO. Every single Java class implicitly derives from Object, just as every C# class implicity derives from System.Object. Most enterprise Java projects are designed using Rational Rose or some other OO design tool, and artifacts are created according to the model. I have yet to see a C# project that has this level of robust architecture consideration.
Huh? What do you call the Value types in C#? These ring a bell?
bool
byte
char
double
float
etc...
In what way is a char in C# different than the primitive data type char in Java? What is it with the name calling? I hope that you won't resort to slinging names at me.
And give 'em a formatted dump and watch 'em scratch their heads...
That's the thing about high level languages, they make coding easy... debugging difficult. You can write a program that compiles fine, but every time you run it, it does a "branch to Owego". What do you do -- rewrite that section of code until it finally works, or dig down into the generated asm code and figure out what the machine is really doing? Anyone who has written in PC assembler knows what
JMP FFFF:0000does, but if you only learned C++ you might not notice that your code loads a register wrong so it points to something that looks very similar to that Jump Far instruction. And you wonder why your machine reboots every time you run your program.
Teach 'em assembler first and then they can write in any HLL they want to use.
Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.