java是高级编程语言,所谓高级就是越靠近人的思维方式,人的思维方式主要是面向对象的思维方式;
c语言是低级编程语言,所谓低级就是越靠近机器的思维方式,机器是面向过程的方式运行的,按部就班地先做什么再做什么的一步一步的运行;
一般情况下,同样的功能,c语言编写的程序比java编写的执行效率高,因为c语言更懂底层负责执行的硬件,但是java的开发效率会比c语言搞,因为java的编程方式更接近编程人员的思维方式。
所以这两种语言是不同级别的语言,不具可比性,所谓各有千秋。
你说的面对对象优点是便于开发人员理解,便于团队操作和管理。从开发的效率,执行力上面是要优于面对对象。 最终执行计程序的 不是人,是计算机, 所有的程序都会通过计算机上的翻译程序翻译成计算机语言。 说白了 面对对象和面对过程 最终的根源是一样的。。。面对过程的解释效率要远远高于面对对象。对于运行速度要求快,算法要求精的系统应用或者组件,还是需要C语言的。比如嵌入式开发。一般都是C语言和C++,我做了几年的开发了。可以跟你打包票的说。。。最底层开发的人的收入 要你用高级语言开发的收入要高很多。。。
封装层次越高的语言,一般来说效率越低,当然这是相对而言的,在大多数的应用程序中,可能这种执行效率的影响不会很大,但是,在某些对效率要求高的应用中,就需要考虑了。c语言存在的意义就在于此,我打个比方,写一个ROM可以用java,写一个烧在硬件上的平台一般就会用c或者c++了,这些低层语言对上层应用的通用性更好。
面向过程的语言对硬件操作有着天然的优势,而且c程序员众多。c语言又几乎可以满足任何程序设计需求。自然用的人多。
用c时间长了,有感情了。