操作系统就是c/c++写的,所以delphi对底层的操作,永远也比不上c/c++,这种说法对吗?
----------------------------------------------------------------
想学delphi,但是看到一些网友发出以上的观点。
希望大家讨论下,这种观点对吗?操作系统,不管是windows,linux,都是c写的,是c和c++和汇编的混合编程。
所以,操作底层的话,用c/c++有天生的优势。但是,据说delphi的效率也很高,但是关键是,能比上c++吗?据说 wps 是delphi写的,是吗。

解决方案 »

  1.   

    linux 内核跟 c++ 没关系,win 的内核部分也和 c++ 没关系语言和能实现什么一点儿关系都没有,能做出来什么东西取决于做的人的水平。前段时间有人用 javascript 写了一个 unix 类的操作系统,有兴趣的话可以去参观:
    http://www.masswerk.at/jsuix/至于效率的话,delphi 编译器的优化能力跟 gcc 比的确是渣,但快的程序不是有个一个 nb 的编译器就能写出来的。同样的功能,采用更好的算法与数据结构,效果要比用一个更好的编译器好的多。所以,这些问题没必要纠结,有这时间搞点儿更有用的东西去
      

  2.   

    操作系统,底层,Delphi vs C/C++ 
      

  3.   


    你太能开玩笑了。
    那是玩具,明白吗!
    语言与实现什么,关系大了。
    有本事,你用dbase写个操作系统。
    或者说,你用 javascript 写个杀毒软件,
    自己想想,有关系吗?
      

  4.   

    这个我也知呀............所以才有"高级语言"的出现呀,
    我们要编写"WIN底层程序"总不会
    01010101010101010101010101010101
    10101010101010101010101010101010
    01010101010101010101010101010101
    10101010101010101010101010101010
    01010101010101010101010101010101
    10101010101010101010101010101010
    01010101010101010101010101010101
    10101010101010101010101010101010
    这样,就会..............
      

  5.   

    技术上来讲,用 js 做杀毒软件无非就是一套编译和链接工具的事儿,还是跟语言本身没关系。做个完整的编译器的活儿我应该还是胜任得了的,但要优化器的话水平恐怕就不够了。
    dbase 我不了解,只要语言本身有变量和条件判断、跳转控制流,写个操作系统也完全没问题。还是那句话,能不能是取决于写程序的人的水平的,跟用什么语言无关。
    另外,人家的“玩具”包含了一个虚拟机,还有虚拟文件系统、进程管理器,已经具备了现代操作系统的几个重要特性。人家牛人可以用意想不到的麻烦的方式实现几乎不可能的任务,水平差的就只能怪用的语言不给力了。
      

  6.   

    这么说吧,你提的这个问题,很多初学编程的人都碰到过,都迷惘过.
    我也一样,在选择语言上,大家都希望一步到位,不用杂7杂8的分精力学各种语言。我也走过很多弯路,我从C学起,后来发现VB编写程序速度快,界面一目了然,比起C晦涩的定义变量,指针,乱七八糟天书一样的代码堆积(大侠别骂,对于一个初学,C确实是这样,特别是看到稍微大点的程序)。
    vb玩了一段时间,学了很多Basic知识,甚至把QB都拿来翻。但是所有做出来的程序,给别人用的时候,又要
    顺带一堆DLL给别人,火大了。后来又回到了C的怀抱,用VC++5,我记得当时是5,不过做C由于都是自学,没啥老师,资料看的懂,又无法自己写个窗口程序,结果又放弃了。
    现在用Delphi,感觉非常好,像VB一样可以快速建立窗口程序,Pascal又是严谨易读(比C易读多了)。学的越多其实越来越不纠结语言了。所以我这里能给你我的经历做参考,其实语言用啥一点不重要,重要的是哪个语言能帮你完成你想要完成的工作。
    就像美国士兵的一条守则中说:如果一个愚蠢的办法能让你顺利完成任务,那这个办法就不是愚蠢的!!当你还是一个初学者的时候,不要关心什么底层,那东西不是你能玩的,而且现在的CPU跑的比80486快了几何倍,所以你也不用担心你的程序的效率问题,CPU完全能在你比不出差别的时间内完成你的工作!!新手经常会有一个误区,希望自己的代码效率很高(但是那是不可能的),但是也不用担心效率很低,那是CPU的事情!!你只要相信他就好了。
    等你学用了几年,开始开发底层的时候,你会发现,其实啥语言都能把效率写高,无非是内存、指针操作啥的。至于最后回答你一个问题,哪个用来写操作系统!!!你根本不会去写操作系统,而且这东西也不是一般人要去弄的,如果是的话,世界上也不会只有几款操作系统了!!当然我没学编程前也希望有自己的操作系统。但是那也是不可能的,我们没有足够的时间和经历去关心那些东西!!这事就别想了。总之一句话,先学Delphi吧,很好,真的很好。可以养成你很好的代码习惯。
    记住,语言只是一种你要对计算机表达你的想法的方式,和计算机对话的方式。至于编译器效率,请相信那些高人,他们不会是渣,如果真的是.....请参照上一条!!如果觉得有用,请施舍点可怜的分吧,我已经负分了!!!!
      

  7.   

    网络上找到的源代码是c/c++/java的时候,用delphi的人是有点吃亏
    其它,暂时可以忽略
      

  8.   

    delphi一样可以内联 汇编的
    仅仅你说的  不必c++差的
      

  9.   

    “操作系统就是c/c++写的,所以delphi对底层的操作,永远也比不上c/c++,这种说法对吗?”
    纯粹扯淡。 
    delphi底层操作是比不上c,因为c有N多适用于各种cpu指令集的编译器。但这和操作系统没有。
    如果你是说在windows里通过应用程序操纵底层,那无论是c,c++还是delphi,系统允许你做的事你才能做。
    另外,windows 使用vb写的
      

  10.   

    或许记错了, 
    比尔盖茨年轻的时候好像只会basic 底层又有什么呢
    无非 是协议  数据结构 指令 
      

  11.   

    windows是VB写的,和大学里某位老师的教导如出一辙……佩服佩服
    dos可以用汇编,当初不也是从机器码发展到8086汇编然后才有了其他的语言么,底层系统上都是汇编,虚拟机无非是一个解释语言的工具罢了,探到底还是汇编机器码那一类
    另外,指令集intel都给出来了,你要是有足够技术完全可以自己加进去。
    只要语言本身有变量和条件判断、跳转控制流,写个操作系统也完全没问题。
    这句话错在哪里了?windows当初不也是ASM+C写出来的么?ASM和C不是有变量有条件判断么?
      

  12.   

    另外操作系统不是C/C++写的,至少不完全是,ntldr之前的开机过程还是必须用汇编,不然实模式跳到保护模式,只靠C工作量太大
      

  13.   

    ntldr之前的开机过程
    mbr dbr 
    c也能写的。。 关键还是 数据结构。。