个人的见解:
C语言应该学好,学好了C就不难学习数据结构、算法分析与设计一类的课程了(因为市面上流行的这两门课程的教材都是基于C或类C语言的)。而数据结构、算法分析与设计这样的课程是做为一个程序员必备的理论。
在上述基础上,如果可能,再好好学习一下C++。C++虽然不是纯面向对象的语言,但它的博大精深、灵活足以培养一个人的编程水平。在学习C++的时候,一方面要学习好语法,另一方面重点要修炼“面向对象的编程思想”。
如果学习好了C++,学习C#、Java就不难了。后两者是纯面向对象的语言。在掌握了"面向对象的编程思想"后,学习C#、Java就仅仅是学习语法的问题了!
所以语言真的无好坏,关键在“思想”。如果你掌握了OOP的思想,那么何必在意你用什么语言实现的呢?用C++能实现的“思想”,用C#也能实现,同样,用Java也能实现。当然,编程语言的选择是需要结合项目的需要的。而永恒的编程思想永远不会因为项目的变化而变化(这不也正是“设计模式”是一种思想,而并不属于某种语言的原因吗?)!(当然编程思想会随着项目经验的积累而升华、发展)