是否可以直接跳到C#,只知道一点C(只是一些基础知识),甚至可能不知道C?
C#和C非常不同,它们共享语法,但编程风格却截然不同.它不会伤害学习C,但如果你的目标是C#,那么就开始吧.
学习C将教你更多关于计算机如何工作并给你一个低级别的理解.C#是一种高级语言,学习曲线较低,无法获得图形界面.
Joel和Jeff经常讨论学习C的价值,stackoverflow播客#2就是一个例子
是的,C编程语言不是学习C#的先决条件.知道一些C肯定会帮助你快速掌握C#语法,但除此之外几乎没有相似之处.
当然.C#从C语言中借用了语义约定,但当然没有必要去学习它.
实际上,您将跳过尝试使用C#的阶段,就好像它是C.
如果您的目标是学习您的第一语言,并且您不会成为一名认真的程序员,那么请务必学习您将要使用的语言.
如果你要成为一名认真的程序员,你真的应该在某个时候精通C语言.我不知道哪种方式会更难,从C#开始或从C开始.无论何时接近,C都将具有挑战性.
如果您已经了解某些语言,而不是C或C#,请立即使用C#并稍后选择C.
关键是C是一种更简单的语言,但要在其中完成重要的事情需要更复杂的结构.在C#中你很容易做的一些事情在C语言中很难,尽管C语言是更广泛和多才多艺的语言.
当然.C#使用类似C的语法,但我认为你会发现它比C更容易学习.
我将在这里重复很多答案,但我想以比其他人所说的更具体的方式说些什么.
我认为将C#或任何其他面向对象的语言作为您的第一语言进行跳转是很好的.事实上,如果你想要成为OO的优秀人选,那么很多人都认为OO语言应该是你的第一语言,因为你不会陷入程序性思维.
话虽这么说,那些没有至少一个体面的工作心理模型的优秀程序员,对于正在发生的事情而言,却很少见.这意味着,最终你应该学习计算机如何管理内存,指针,CPU如何执行指令等等......最后通过C书和汇编书阅读恕我直言.我认为你不需要精通任何一个; 您只需要对计算机和编程语言的工作方式有基本的了解.