在这三种语言中,C++的编译器最多,各家实现均有所不同,为了保证可移植性,因此建立标准是应该的。C#天下独微软一家,而且它也不考虑可移植性,所以它不需要标准。Java主要是由Sun(Oracle)主导下和几家大公司合作,核心的东西都是一样的,该核心从一开始就考虑了Write once, run anywhere,所以也不需要标准(有语言的specification,但谈不上是国际标准)。
玩过J2ME的朋友应该知道,J2ME号称是一个标准(其实应该也不是标准),但给各厂商的自主权过大,根本没有办法实现Java的宗旨,所以在一个手机上可以运行的程序在另一家公司的手机上通常是没有办法运行的,并且就算在同一个厂家的不同型号的手机上也不能运行,因此这和Write once, run anywhere背道而驰,应用开发商为此要付出巨大的代价...这就造成了J2ME的必然衰落...