本文发表在 rolia.net 枫下论坛用C,C++还是JAVA跟写程序的水平有什么关系,不都是看具体应用吗?谁倒是在8086上用Java写个实时应用系统玩玩?
举个例子,具体到某个作家,用电脑写的小说就比用钢笔写的好?在太空舱里写日记该用铅笔还是圆珠笔?
那谁说火星探测器都用Java写的?要说探测器上的某个应用软件(比如都收集到的数据进行处理)用Java写还有点谱,可打死我也不信它的飞行控制都是Java写的。
坛里有在波音、空客或者帮巴蒂工作的吗?能不能透露一下飞机的自动驾驶系统是用什么写的?汇编、C、C++、Java?还是别的什么?反正我们公司的地铁控制系统是C写的,地铁的驾驶系统是3年前才从汇编移植到C的。为什么不用C++?因为没办法(或者说没足够的时间和经费)去证明某个特定的C++编译器是安全的。要是用Java,不光要验证编译器,还有虚拟机,跑虚拟机的操作系统都需要验证。
还有,程序写的好,设计不行也是白搭。我们组有个哥们,在日本干了十几年(没好意思问他到底干什么的),为了实现某个需求,明明以事件驱动方式50行代码就可以完成的东西,非要以轮询方式做,改了10多个文件,往现有的数据结构里增加一大堆变量,写了插入、更新、删除等好几个function去维护这些变量。
上回看到有人嘲笑下面的代码:
flag = func1();
if(TRUE == flag)
{
return TRUE;
}
else
{
return FALSE;
}
我就觉得这段程序很好。比如说这个系统中规定TRUE就是整数1,FALSE就是0,万一func1犯了错误,返回一个非1非0的值,这段程序就避免了func1里面的错误继续扩散到别的function的可能。
while(TRUE)怎么啦?有的操作系统的核心就是一个这样的循环再加若干中断处理。
讨论编程语言的优劣实在是很无聊的事,只有最贴近具体应用的语言才是最好的语言。更多精彩文章及讨论,请光临枫下论坛 rolia.net
举个例子,具体到某个作家,用电脑写的小说就比用钢笔写的好?在太空舱里写日记该用铅笔还是圆珠笔?
那谁说火星探测器都用Java写的?要说探测器上的某个应用软件(比如都收集到的数据进行处理)用Java写还有点谱,可打死我也不信它的飞行控制都是Java写的。
坛里有在波音、空客或者帮巴蒂工作的吗?能不能透露一下飞机的自动驾驶系统是用什么写的?汇编、C、C++、Java?还是别的什么?反正我们公司的地铁控制系统是C写的,地铁的驾驶系统是3年前才从汇编移植到C的。为什么不用C++?因为没办法(或者说没足够的时间和经费)去证明某个特定的C++编译器是安全的。要是用Java,不光要验证编译器,还有虚拟机,跑虚拟机的操作系统都需要验证。
还有,程序写的好,设计不行也是白搭。我们组有个哥们,在日本干了十几年(没好意思问他到底干什么的),为了实现某个需求,明明以事件驱动方式50行代码就可以完成的东西,非要以轮询方式做,改了10多个文件,往现有的数据结构里增加一大堆变量,写了插入、更新、删除等好几个function去维护这些变量。
上回看到有人嘲笑下面的代码:
flag = func1();
if(TRUE == flag)
{
return TRUE;
}
else
{
return FALSE;
}
我就觉得这段程序很好。比如说这个系统中规定TRUE就是整数1,FALSE就是0,万一func1犯了错误,返回一个非1非0的值,这段程序就避免了func1里面的错误继续扩散到别的function的可能。
while(TRUE)怎么啦?有的操作系统的核心就是一个这样的循环再加若干中断处理。
讨论编程语言的优劣实在是很无聊的事,只有最贴近具体应用的语言才是最好的语言。更多精彩文章及讨论,请光临枫下论坛 rolia.net