编程语言没有好与坏之分,只有适合与不适合之别。
C语言性能太高,所以适合编写操作系统(Unix/Linux)或对性能要求很高的中间件(Redis),但是C语言面向过程,可移植性差,不适合互联网业务开发(这里的业务指的是登陆、支付、下单这些);Java没有C语言性能高,但是面向对象、跨平台,而且有非常丰富的互联网软件开发框架(SSM/RocketMQ/Jedis等),所以非常适合于互联网应用的后端开发,很多企业(阿里、美团、拼多多、京东等)的后端业务技术栈都基于Java。
这二者各有各的适用场景,都不能相互替代对方。
不能,不能,不能。重要的事说三遍。
这俩者就不是替代与被替代的关系;就像你拿盆吃饭和拿碗吃饭,盆和碗都只是你吃饭的工具而已,不同场景不同使用,你能说谁替代谁吗?所以Java就是Java,C就是C。不过确实Java底层是用C写的。
相信,您不会只是问问这么简单吧?如果您是想采集评论然后总结看学什么的话,我建议慎重一点,因为方向真的不同,不过据我的了解,市面上对Java的需求量可能要多于C,并且Java可以做的方向更广泛。
JAVA语言是面向对象的编程语言,而C语言是面向过程的编程语言;JAVA是解释型语言,C是编译型语言;两者的语法并不相同;C的跨平台比JAVA的要差;C语言生成代码的效率会比JAVA要高,但编译单文件时JAVA会比C快;C有指针,JAVA没有。
JAVA是没办法代替C语言的,因为JAVA作为一种比C语言还高级的编程语言,它已经去掉了能够直接对位、字节、地址进行操作的功能,而这些是C语言的重要功能。更重要的是,JAVA就是用C语言写的,也有人认为JAVA是从C++语言改进而来的,把JAVA称为C++--。编写一个操作系统,需要编程语言能够直接访问底层和硬件,这样操作系统才能访问底层和硬件,而这些恰恰是JAVA做不到的。



