拨开云雾,对计算机行业认识个清楚!

cat7708 2003-11-30 09:04:18
老弟我学了三年的计算机,到头来还是感觉在云里雾里。当初想学数据库开发,选开发工具时听说Delphi开发数据库最好,选不顾微软的威名丢了当时学的C,C++。但由于缺乏认识和帮助,再加上环境不好,从桌面数据库,C/S到今天学MIDAS,却还不知道有更好的多层分布式CORBA,真是悲哀!所以,请各位前辈,高手们不惜金口,谈谈这方面的情况,以免像我这样的初学者走太多无谓弯路。
比如说,开发语言delphi,Java,net,等等在各方面的侧重点比较?多层分布式数据库要联网有哪些方式(如Activeform也是一种方式)?,Web开发主要做些什么?
最好选择什么开发工具,社会上工作主要招做什么样工作的人以及发展趋势等等。
不好意思,只剩这么点分了!
...全文
36 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
BlueTrees 2003-12-02
  • 打赏
  • 举报
回复
用何种工具,比较重要,但不是你想象的那样,好像工具决定了可以开发的项目。

用什么工具,很多人说得很多。我想没必要重复了。

我就说我理解的,分布式应用。

在刚开始的时候,分布式应用没有如今这么复杂,无非就是通过各种网络协议实现数据通讯而已。为了保持一种统一的界面,进城外调用(RPC,远程过程调用)被扩展到了网络,通过RPC不仅可以调用本地计算机中其它进城的服务,还可以通过网络调用其它计算机上面的进程的服务。后来RPC成为了Windows分布式应用的基础,现在还是这样。

面向对象的概念流行起来后,人们需要不仅仅在源代码级别上的对象复用,还需要二进制级别上的对象复用,这样在Windows中产生了Com,在一些Unix兼容的系统中出现了CORBA,CORBA是一个公开的协议。Com开始的时候仅仅提供进城内的对象复用,后来出现了跨越进程的对象复用,也就是,com对象的提供者和使用者可以不在一个进程中运行,DCom出现了,它可以通过网络,复用在其它计算机上注册的Com对象,他的底层机制仍然是RPC。CORBA也发展成为跨越网络的分布式对象系统,CORBA和Com有所不同,它可以自动的在网络上寻找需要的对象,com要指定目标计算机。

最早的文件数据库,几乎不能共享,称为桌面数据库。后来发展出来比较成熟的数据库,可以并发操作,这时候的开发往往是2层的,通常,数据库中的触发器、关系、存储过程等构成了全部的业务逻辑,客户端直接访问数据库。这类应用安全性不高,据说负载压力的能力有限,(我倒不觉得)。但是编程容易,很多的程序员习惯于这种开发模型。很多的书上面很强调数据库的设计,比如存储过程怎么设计,触发器怎么设计,怎样设计效率最高等等。

MIDAS是Borland提出的一种多层次数据库应用开发解决方案。他利用这些已经成熟的分布式对象系统,构成多层次数据库应用。也就是,许多对象,他们可能存在一个计算机上,也可能存在于多个计算机上,共同分解业务逻辑,协调工作。举一个例子,三层体系,客户端、服务器、数据库。客户端需要处理用户输入相关的业务逻辑,比如日期格式之类的,服务器端需要处理比如授权,用户是否可以进行这样操作的处理,可能还需要对数据的有效性进行检查。在客户端,我们服务器端,我们可以提供多个对象协作处理,比如一个检查授权的对象,一个进行相关数据有效性检查的对象。因为,数据流从客户端->数据库,是单向流动的,好像经过了很多的过滤层,称为多层体系,层与层之间的数据流是单向的,同一批数据不能从下一个层回流到上一个层,层内的对象数据流可以是交叉的。MIDAS提供了快速开发这些多层应用的途径,并且为2层向多层模式的程序员提供了平滑过渡。

在多层应用中,数据库的关系、触发器、存储过程不是很重要了,很多的业务逻辑存在于中间层当中。事实上,需要的是一种简单、高效、大容量的数据库管理系统,那种复杂的数据库没有太多的意义了。

B/S结构,浏览器/服务器模型,也是多层的数据库应用。以ASP举例。一个ASP文件中的服务器端脚本实际上构成了服务器端的业务逻辑,在服务器端,ASP可以调用众多的Com对象来协作完成,很多人喜欢直接写脚本处理逻辑,这样做效率比较低,我就是这样的一个人,我曾经只用ASP脚本就做了全部的开发,结果可想而知,速度是很慢的。正确的方式是创建多个Com对象,这些对象包含业务逻辑,ASP服务器端脚本调用这些对象。或者,用最早的方式,业务逻辑完全存在于数据库中。ASP页的客户端脚本构成了客户端的业务逻辑。有时候,有的人不习惯用客户端脚本来处理客户端逻辑,或者有些功能无法用客户端脚本完成,比如打印,这时候,需要提供ActiveX组件,下载安装到客户机,ActiveX组件是一种遵守特殊规范的Com对象,它需要实现IDispatch接口,通常还需要引出功能接口,这称为双接口的,但是不是必需的。他还需要在OCX中包含类型信息,用以描述接口。类型信息用IDL描述,存放在DLL的资源中,这种DLL换一个后缀构成OCX。ActiveForm实际上就是一个ActiveX组件。

微软的DCOM在互联网上的应用遇到困难,他的RPC机制常常无法穿越各种防火墙,而且里面肯定包含了各种各样的漏洞。微软提出了SOAP(简单对象传输协议),这种协议建立在HTTP协议基础上,用XML描述过程调用和对象接口,这也就是WebService。SOAP有点像建立在文本上的RPC,不过我不清楚,RPC能否通过SOAP进行。我看了一本书,微软的,比较早,还在讨论Com和SOAP的关系,那时候认为可能也是微软的观点,DCOM通过SOAP实现了在互联网上的应用,没有认识到SOAP更重要的意义,其实,Corba也可以通过SOAP来实现,这样不同的对象体系之间可以互通。

.net出现了,它提供了完全不同的对象体系,它支持继承,支持代码托管,去掉了讨厌的注册,注册表不再随着时间的增长越来越大。Com好像快没有市场了。
cat7708 2003-12-02
  • 打赏
  • 举报
回复
那DCOM有市场吗?
cpilq 2003-12-02
  • 打赏
  • 举报
回复
计算机行业还不止是技术环节,商业环节也是重要的,你要懂得将技术转化成商业,商业才能够将你的技术转化成为MONEY,所以这个环节也相当重要。最好去某科技公司做一段时间的业务之类的。这样对你以后的路比较好。要不就会成为一个只懂技术,不懂商业的技术员,开发出来的东西没有经济价值。这样做对你的商业触感有帮助!反正一句话,做什么都好,先学做人。会做人的人,做什么都容易,赚钱也容易,做生意也容易!有技术傍身,就所向无敌了!
cpilq 2003-12-02
  • 打赏
  • 举报
回复
计算机行业不止是开发这个部分而已!硬件也是一个重要的环节,我在电脑城待了差不多3年,不算长也不算短。记得刚学开机的时候就是在电脑城的时候,那时候我才中专毕业,没有工作就到电脑城碰运气,那时候电脑对我来说跟神一样,只能仰视,哈哈,学校没有教电脑,所以我没有碰过,只是听说过而已!所以我在里面应聘营业,偷师学装机、系统、网络、美工设计之类的,然后被老板看到了,我就正式做了技术员,那时候我在电脑城待了6个月,从开机学到设计网站,用了整整6个月啊!好漫长啊!做了技术员之后,每天就是无休止的维护、维修,直到8个月前,我才看到我应该学点编程。但是我没有编程的基础!只会用dw写写html而已!所以我开始探索什么工具适合我,最后发现我喜欢delphi,那时候只是因为它叫delphi而已,名字好听啊!像个女神,我喜欢有美感的东西,所以我选择之后就 开始了无休止的学习,哈哈。直到现在,我才对编程有了一点点的了解,感觉越深入,就越迷茫,感觉越学越菜,不过我知道是因为我的基础太差了,现在开始学习数据结构,编译原理,还有C语言基础,或许这样学习不对,所以请求哥们指正一下,不想走弯路,走的感觉太痛苦了!哈哈!
cpilq 2003-12-02
  • 打赏
  • 举报
回复
个人意见:
无论什么都好,就是要精通,精通了就不用怕找不到工作或者什么,宝马都可以给你开啊,哈哈!对于开发,重要的是思想,算法,语言跟工具只是实现的手段,当然手段必须犀利,也就是要精通才能犀利啊,就像剑一样,不会使的人,倚天给他都没有,会的人,用树枝都可以致人于死地,所以手段必须要掌握,精通,然后就是思想、算法,作为程序的内功,相当于剑术中的内功心法,这样才能将剑发挥到最高境界。达到人剑合一!无论什么都可以!framework只是一种实现的方式,快速开发的手段!不是说一定要配搭死!只要你会用,什么都可以!随心所欲。达到这样的程度,你想,会不会有人登门送宝马?哈哈!会啊!到时候,你就是程序界的明星哦!盖茨都可能开车到你门口找你喝咖啡了!哈哈!
Seahilly 2003-12-01
  • 打赏
  • 举报
回复
up
xjpepitceo 2003-12-01
  • 打赏
  • 举报
回复
最重要不是什么语言如果你真的是某方面语言的专家又懂架构再学什么.net,Com+,j2ee,corba 都不是问题.
熟悉语言
数据结构+算法
OO
汇编语言
OS编程
if framework = delphi then
VCL
Else if framework = VC then
MFC
Else if framework = Java then
j2ee
COM,EJB,corba
高手之路.(个人意见)
cat7708 2003-12-01
  • 打赏
  • 举报
回复
老兄一席话,让我感到稳了些.要知道,在大众人的眼里,Java程序员是大有前途的,而delphi 是没有前途的.
  • 打赏
  • 举报
回复
无论什么语言和平台, 成为专家都一样可以有很好的发展。
关键是自己的定位明确, 根据自己的兴趣与发展方向选择语言与开发平台才是
最适合的。
ekin 2003-11-30
  • 打赏
  • 举报
回复
没有最好,只有更好

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧