28 123
发新话题
打印

你觉得Windows 7会成功吗

当大家都在骂98如何烂的时候,微软发了,当在说2000已经够好不需要用XP的没有多少时间,XP装满了整个世界, 当世界不买Vista帐的时候, XP快停止销售了,...你说你会选择什么?
永远雪山

TOP

对于写软件来说, 不管你用什么样的方式什么样的开发工具, 你做的好,做的出来就是你牛. 一味跟随潮流只能让你的技术停留在学习工具的状态, 其实不管用什么工具, 很多时候都脱离不了几千年在研究的某些科学,比如数学,哈哈,严重偏题,不过是事实. 所以牛的并不是你学工具学的如何,而是你学的基础如何. 所以别管啥工具,我们能做出东西, 咋整都好办,呵呵.
永远雪山

TOP

.Net 跟 Win32根本不是竞争关系,
看过《Windows Internals》就知道了,
.Net 只不过是 Win32 API 上面的一层包装,
类似于包子皮,和包子馅的关系。

没了包子馅,包子岂不成了馒头了?

TOP

其实用c++编程也好,用c#编程也好,就解决问题的思路来说,没有本质差别。c#的特点是解决了工具本身的效率问题。它之所以高效,是因为它的类库做得很全面而且很易用。但是即使如此,编程仍旧是个复杂的工作。它不可能变成白菜。
企业的程序,大家可能觉得它挺简单的。不就是数据库嘛。对,就一个小的部分来说,它的确是很简单。它搞来搞去都是访问数据库的一些组件。但是就整个应用程序来说,它是极为复杂的。最复杂的程序,就是与人有关的程序。它的逻辑极其复杂。要解决这类问题,需要比较专业的技巧。不管用那种编程语言,也不是企业自己的非专业人员能做好的。当然,用一种好的工具是必要的,因为它可以节约工具本身工作效率不高的问题。
首先它的工作量很大,结构复杂,需要高超的设计技巧才能把握好。企业的运行系统,是企业的生命线。一旦出问题,企业就无法运作,它怎么可能简单?它怎么看可能放心交给非专业人员去做?
从来没有通用的企业软件。因为每个行业的特点不同,每个企业的管理思路不同。软件是为管理服务的。至于sap所谓行业标准的说法,不过是为了给它自己降低开发成本而已。如果跟着客户的思路走,那它就赚不到什么钱了。用它自己的思路,让管理适应软件,可以降低它的开发成本。但是事实上,还是软件为管理服务。
企业信息系统,历来是软件市场的大户。这就是为什么oracle而不是winrar能成为世界第二大软件公司的原因。顺之则生,逆之则死。ms作为基础服务提供商,不可能不考虑这个市场。看看各类开发工具,那个不把数据库方面的应用当作重点?操作系统的市场是不小,但是那是为硬件服务的软件,纯粹的软件,价值更大。
为什么java能成为最流行的编程语言。说起来,java最主要的用途,就是开发跟数据库有关的应用了。多数应用,就是网站和信息系统。网络方面应用也有,但不是它的长项。游戏就更不说了。
就实际应用来说,我们需要什么样的开发工具?第一,它要支持主流开发平台。第二,它要能提高开发效率。
c++和c要说有多复杂,其实它的语法,函数等并不复杂,也不难理解。复杂的是什么?内存管理。资源管理。
总而言之,有无内存管理,完全是两种不同的编程模式。没有内存管理的语言,以函数为主。因为复杂的引用,会导致内存问题。基本上是过程式的开发。很少用虚函数,集成,多态这样的设计。实际上,设计了也没用,没有内存管理框架,难以稳定运行,所以还得回去搞内存管理,搞来搞去,结果变成一个用起来很麻烦的c#和java了,还不如直接用c#和java。
有内存管理的语言,以接口抽象、组合、降低耦合、设计模式等为主。或者说以OO为主。这就是它们之间的区别。
oo是个老词汇了,虽然老,可是依然有用。越是大规模的软件开发,越是复杂的状态,它就越有用。它出现的原因,就是为了解决软件本身的复杂性。
简单的说,有gc就可以oo,没gc就只能过程。有什么区别?成本。
c#的出现,可以解决工具本身的问题。它可以把成本从100元降低到30元。也许将来有更好的工具,可以把它降到10元。但是不可能更低了。因为这10元,是软件本身逻辑的复杂性。
至于企业员工象搭积木一样的把一个系统搭起来,那是永远也不可能出现的神话。即使开发工具无限简单,但是企业的业务逻辑的模型,总不可能自动出现吧?抽象出这个业务模型,就是专业开发人员需要做的事情。软件系统,它是细节决定成败。任何逻辑上的缺陷,都会造成系统的缺陷甚至失败。非专业的人员,逻辑思维能力不强,它不可能做到这个事情。没有一定的软件开发实践的训练,不可能成为架构师。那么,是用户有更多的机会接受这种训练,还是软件开发公司的设计人员呢?
为了证明我说的不是空话,我随便举个例子证明一下我的观点。
假如某个系统需要实现类似这样的规则:
部门管理人员可以查看它所属的部门人员的销售记录,但是不能修改,销售人员可以设置权限,允许其他人查看自己的销售记录。同一岗位的销售人员,可以互相对错误的销售记录做出纠正,但是需要留下记录。销售人员可以查看同一部门的销售人员的销售记录。
规则是可能会改变的。因为公司在不同的地区,根据当地的市场情况,会采用不同的管理方式。
类似这样的问题,用户可以用搭积木的方式,把一个系统搭出来吗?不管用那种编程语言?
这只是个简单的例子。真实的系统,其需求要比这个复杂得多。所以,这就是软件系统成本无法持续降低的原因。它永远不可能成为大白菜。它需要经过专业训练的人才去帮它创造价值,提高运行效率。
本帖最近评分记录
  • CodeCoolie 活力 +15 我很赞同 2008-5-15 15:40
上班时间不上网

TOP

打完了才发现,居然这么长。
上班时间不上网

TOP

豆子说的很有道理
轻轻的我刷了,如同我偷偷的来潜水.挥一挥钱包,不留下一点Money!!

TOP

微软推出操作系统的特点就是推一个成功的,然后是一个失败的,然后又是一个成功的,如win95成功,Win ME失败,WinXP成功,Vista失败,下一个win7应该成功。
我吃饱了

TOP

引用:
原帖由 zsgbox 于 2008-5-13 08:14 发表
微软推出操作系统的特点就是推一个成功的,然后是一个失败的,然后又是一个成功的,如win95成功,Win ME失败,WinXP成功,Vista失败,下一个win7应该成功。
好像"2-1-2-1"口令
win95(v) win98(v) win ME(x) win2000(v) winxp(v) vista(x)

TOP

 28 123
发新话题