liklstar 发表于 2016-06-06 16:06

lxyscls 发表于 2016-06-06 15:38 static/image/common/back.gif
sorry,我不是做游戏开发的,我只能说,除非你是只是做很low的项目(譬如政府的某些项目),性能 算法肯 ...

系统软件需要考虑性能和算法,这很重要,好理解。应用软件,当然需要考虑性能和算法,否则,一堆垃圾是没人要的。的的确确,我也同意。

但是,系统软件的性能考虑和算法设计,主要出发点是如何发挥硬件本身的能力,同时减少系统软件管理各种软硬件资源的时间,提高服务效率。而应用软件的算法设计,是不是主要依赖业务逻辑。在满足业务逻辑的基础上,考虑如何更快地运行自身,以提高效率。手段之一就是使用OS、Lib提供的更加快捷的API?

yshwuxian 发表于 2016-06-06 16:15

系统软件、应用软件,这本来是多少年前的老概念,那时候软件数量非常少,可以这样分

但是,现在这个年代,再这样分类就有点老学究的味道了,too young, sometimesnaive!

建议楼主自己选10个计算机应用领域(比如web服务器、GUI、大型单机游戏/网游、网页技术、分布式系统、虚拟化、办公应用、多媒体播放器、数据库。。。。。。)

每个领域找几个代表性软件/工具/库,分析一下,看看需要不需要效率、算法、 API,各自有什么特点,不同领域的技术怎样相互交叉,相互融合,他们和操作系统关系密切不密切

途径:互联网,百度/ 谷歌

自己动手,胜读十年书

liklstar 发表于 2016-06-06 16:24

yshwuxian 发表于 2016-06-06 16:15 static/image/common/back.gif
系统软件、应用软件,这本来是多少年前的老概念,那时候软件数量非常少,可以这样分

但是,现在这个年代 ...


非常感谢你的观点!对于我来说,它的确有新意、有帮助、有启发。谢谢!我马上就去查查这些内容,思考思考。

你能否挑选一、两个你了解些的领域,给予我更多的帮助呢?咱们在这里多讨论讨论,好吗?

windoze 发表于 2016-06-06 17:07

回复 5# liklstar

他的意思其实蛮简单的,如果你手头的工具搞不定了,你就得把C++请出来,然后你就进入系统开发的领域了 2333333333
引申一下,如果连C++都搞不定了,你也别相信汇编神马的能帮多大忙,你该进入硬件领域了 {:qq23:}{:qq23:}{:qq23:}{:qq23:}{:qq23:}

liklstar 发表于 2016-06-06 17:15

windoze 发表于 2016-06-06 17:07 static/image/common/back.gif
回复 5# liklstar

他的意思其实蛮简单的,如果你手头的工具搞不定了,你就得把C++请出来,然后你就进入 ...


噢,原来如此!

我估计我不光这辈子,就是下辈子,也不会碰到连C/C++都搞不定的问题了?

:mrgreen:

yshwuxian 发表于 2016-06-06 17:21

liklstar 发表于 2016-06-06 16:24 static/image/common/back.gif
非常感谢你的观点!对于我来说,它的确有新意、有帮助、有启发。谢谢!我马上就去查查这些内容,思考 ...

刚刚码了20分钟,提交他说我没权限发url,然后都没了。。。

懒得再写,不举例子了,我只说要点。。

几乎所有领域有影响力的软件,都会尽力追求他所在技术层面最高效的实现方式(执行效率和开发成本往往是一对矛盾,肯定要做个折中,但不妨碍尽力追求高效)

提升效率的手段,有绕过内核,直接操作设备功能的;有用缓存等方法尽量减少系统调用次数的;有用各种并行、无锁算法的;有研究领域内更高效算法的,比如图像处理,自然语言处理等;有在用户态重新实现操作系统部分功能的。。。。。。

所以你所列的应用软件的三个特点都反映不出其本质。纯的“系统软件”和“应用软件”之间的中间技术太多太多,早已不能这样 二元划分。

liklstar 发表于 2016-06-06 17:34

yshwuxian 发表于 2016-06-06 16:15 static/image/common/back.gif
系统软件、应用软件,这本来是多少年前的老概念,那时候软件数量非常少,可以这样分

但是,现在这个年代 ...


嗯,我同意你说的,“如果只把软件分成系统软件和软件,可能过于简单了”。但是,那又该怎么分呢?

你说的“Web服务器”、“GUI”程序,算系统还是应用?好像应该算作建立在系统上的服务器软件?
大型游戏,由于其规模庞大,尤其是基于Web,很可能具有独立的系统软件成分?
分布式系统和数据库仍然是传统的系统软件?

不过,要了解它们,简单的“baidu”、“Google”肯定是不够的?这里的每一项,都是一个专有领域!就算是办公软件,现在也有“移动办公”了?

回到咱们的题目,这里面的任何一项都不是仅仅简单地用“性能”、“算法”来描述的?那么,传统的系统软件、传统的应用软件和大型服务软件之间,它们的开发有什么不同与共同?咱们来畅所欲言,好吗?

liklstar 发表于 2016-06-06 17:43

yshwuxian 发表于 2016-06-06 17:21 static/image/common/back.gif
刚刚码了20分钟,提交他说我没权限发url,然后都没了。。。

懒得再写,不举例子了,我只说要点。。
...

噢,谢谢你的观点!放眼望去,海阔天空,似乎确实没有那么单纯的系统软件和应用软件?

但是,仅仅采用了上述一种、两种技术的应用软件,能算得上系统软件吗?

liklstar 发表于 2016-06-06 17:48

yshwuxian 发表于 2016-06-06 17:21 static/image/common/back.gif
刚刚码了20分钟,提交他说我没权限发url,然后都没了。。。

懒得再写,不举例子了,我只说要点。。
...


是否可以这样理解:大型应用软件正在逐渐添加入系统成分?一整套完备的系统,也正在涵盖重要的应用?

qianguozheng 发表于 2016-06-06 19:23

这个我认为没有分得那么清晰,软件工程师就是来解决软件问题的。
页: 1 [2] 3
查看完整版本: 系统软件开发和应用软件开发的根本区别在哪里?