java与其他语言完全不同的核心目的;
程序设计其实是对复杂性的管理,带解决问题的复杂性,以及用来解决该问题工具的复杂性。
正是这种复杂性导致多数程序设计项目失败,很少有语言的设计目标专注与克服开发与维护程序的复杂性,
当然也是有些编程语言再设计决策中也考虑到复杂性的问题,然而总是会有其他议题被认为更有必要加入该语言中,
于是不可避免的导致程序员“头撞南墙”,例如C++选择向后兼容C,具备了C一样的高效率,也更容易吸引C程序员。
这两点都是非常好的设计目标,也确实促成了C++的成功,然而却暴露了更多的复杂性问题。使很多项目不得不善终。
JAVA的设计者Sun对JAVA的设计目标就是为了程序员减少复杂性。用他们的话就是:“我们关心的是,减少开发健壮代码所需的时间以及困难”,早期这个目标使代码运行速度并不快,但他确实显著的缩短了代码开发的时间,与C++相比JAVA开发时间只需要一半甚至更少的开发时间。仅此一项就能节约无法估计的时间与金钱。然而JAVA并未止步于此,它开始解决日渐复杂的任务,例如多线程和网络编程,将其作为语言特性或者以工具库的新式纳入java,最终使开发此类应用更加简单。
JAVA:跨平台编程,动态代码修改,甚至是安全议题。