c++通过include和namespace来解决
c++通过include会把依赖的头文件也包含进来,同时也传递了那个头文件的依赖过来,因此c++为了隔离依赖必须使用头文件和实现文件,而且必须严格控制头文件内的内容,非常的不方便,开发效率大大降低。
而java通过import来导入依赖,不会传递依赖,这样默认就实现了隔离,相关依赖要使用的类显示的来导入,因此通过一个文件就可以实现c++必须两个文件才能解决的问题。开发效率大大提高。虽然java的灵活性降低了,但并没有牺牲太多,却换来了简单性的大大提高,有利于ide简单处理。
c++其实引入额外工作量最大的也就是这个问题,其他的方面甚至比java更具威力,甚至更方便,只是对从业人员的要求比较高而已。而且包括垃圾回收,反射之类看似复杂的问题,其实通过第三方库都可以轻松解决。
当然c++要动这块就不能再兼容c语言了,但我觉得动的意义更大。