任何一个跨过了入门阶段的程序员,是不会问出这样的问题。
C语言和Java,哪个难?就语言本身而言,正常智力的程序员,并以此为工作内容的,掌握语言特性的70%以上,基本没有任何困难,从这个角度来说,根本就没有难易之分,都是基本功。
语言本身就是工具而已,不存在哪个难哪个简单,要我说,都比较简单。就像对一个木匠来说,锯子难,还是凿子难?
问题的关键在于,当你掌握一门语言之后,你要用它来干嘛!
C语言可以干什么呢?
C语言可以用作数学计算,你要理解数学方面的原理,这里的难点是数学知识;
C语言可以用来写底层设备驱动,你要懂得如何跟硬件打交道,这里的难点是硬件知识;
C语言可以用来写其他语言的编译器,你要懂得如何写编译器,这里的难点是编译原理;
C语言可以用来实现操作系统的内核,你需要懂得操作系统是如何玩的,这里的难点是操作系统的知识。
当你学会C语言这种工具之后,你要用它来解决问题,语言本身并没有难点,你所有的难点都是你所面对的问题。
Java也是一样,学会Java没什么难度,难度来自于你所面临的需要用Java解决的问题。
这个可以延伸到几乎所有的语言,Python,C++,R,Go,等等等等,你学一门语言,一定是要去解决问题,而不是纠结在语言本身。
所以,“C语言比Java难”这种问题根本就是伪命题,不存在难不难,都不难。如果一个人想成为程序员,而又在学习语言本身的时候感觉到了困难,我的意见是,“趁早退”。