我想成为一位程序员,请问要掌握哪些内容啊 数据结构、算法,这是基础。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 根据自己情况,了解几门语言,精通一门。刚看了一个贴子,也许用的上。 《几种常用开发工具的比较》 黑暗独行侠 近日和公司的系统分析员探讨了几种开发工具的特性,由其总结了下面的 内容。 文章客观评价了各种开发工具的优缺点,本人把文章拿来和大家一起讨论 一下, 欢迎专业人事补充和指正。 一、 跨平台特性 VB:无 ★ PB:WINDOWS家族, Solaris,Macintosh ★★★ C++ Builder/Dephi:WINDOWS家族,Linux ★★★ VC:无 ★ JAVA:所有能够运行JAVA虚拟机的操作系统 ★★★★ 二、组件技术支持 VB:COM,ActiveX ★★★ PB:COM,JavaBean,Jaguar,UserObject使用:CORBA+Acti veX ★★★ C++ Builder/Dephi:COM, ActiveX CORBA(本身自带CORBA中间件 VisiBroker, 有丰富向导) ★★★★★ VC:COM,ActiveX,CORBA(没有任何IDE支持,是所有C编译器的功能, 需要CORBA中间件支持) ★★★ JAVA:JavaBean,CORBA;ActiveX ★★★★ 三、数据库支持级别 数据访问对象: VB:DAO,ADO,RDO功能相仿; ★ PB:Transaction,DwControl,可绑定任何SQL语句和存储过程,数据访问 具有无与比拟的灵活性 ★★★★ C++ Builder/Dephi:具有包括DataSource,Table,Query,Midas,ADO在内 的二十多个组件和类完成数据访问 ★★★ VC:同VB,但有不少类库可供使用,但极不方便,开发效率很低 ★★ JAVA:JAVA JDBC API,不同的IDE具有不同的组件 ★★ 数据表现对象: VB:DBGriD,与数据库相关的数据表现控件只有此一种,只能表现简单表 格 数据,表现手段单一 ★ PB:DataWindow对象(功能异常强大,其资源描述语句构成类似HTML的 另外一种语言,可在其中插入任何对象,具有包括DBGrid在内的数百种 数据表现方法),只此一项功能就注定了PB在数据库的功能从诞生的那 一天起就远远超过了某些开发工具今天的水平 ★★★★★ C++ Builder/Dephi:具有包括DBGrid,DBNavigator,DBEdit, DBLookupListBox在内的15个数据感知组件,DecisionCube, DecisionQuery在内的6个数据仓库组件和包括QRChart, QRExpr 在内的20多个报表组建,可灵活表现数据 ★★★ VC:同数据访问对象 ★ JAVA:不同的IDE具有不同的组件,比较著名的有Jbuilder,PowerJ, VisualAge for Java ★★ 语句执行方式: VB:将一句SQL串绑定到一个命令对象中,结果返回到ResultSet对象 中自行拆取 ★ PB:是一种真正的4GL语言,可随意直接嵌套SQL语句返回值被赋值到 语句的变量中,支持语句级游标,存储过程和数据库函数,是一种类 似SQLJ的规范 ★★★★★ C++ Builder/Dephi:使用数据库组件或类完成SQL语句串的执行和提交 ★★ VC:同数据访问对象 ★ JAVA:SQLJ,JAVA JDBC API ★★★★ 四、系统底层开发支持 VB:调用API需申明,调用不方便,不能进行DDK编程,不可深入Ring0 编程, 不可嵌套汇编 ★ PB:调用API需申明,调用不方便,不能进行DDK编程,不可深入Ring0 编程, 不可嵌套汇编 ★ C++ Builder/Dephi:直接调用API,可进行DDK编程,可深入Ring0编 程, 可嵌套汇编 ★★★★★/★★ VC:直接调用API,可进行DDK编程,可深入Ring0编程,可嵌套汇编 ★★★★★ JAVA:推出了JINI规范但不能对不支持JINI的设备编程,眼下并不实用 ★ 五、多媒体及图形图像开发支持 VB:可进行Direct Api编程;调用OpenGL很不方便;自带少量图形图像 处理 控件,使用方便但功能一般;支持图像文件类型较少 ★★ PB:可进行Direct Api编程;调用OpenGL很不方便;图形图像处理不方 便 但可调用API完成图形图像操作,也可借助控件开发;支持图像文件类型 很多 ★ C++ Builder/Dephi:可进行Direct Api编程;调用OpenGL比较方便; 自带丰富的图形图像处理组件及类,使用很方便且功能强大;支持图像 文件类型一般 ★★★★★ VC:可进行Direct Api编程;调用OpenGL比较方便;自带丰富的图形图 像 处理类,使用不方便但功能强大;支持图像文件类型较少 ★★★★ JAVA:很难调用Direct Api和OpenGL;自带相当丰富的图形图像处理组 件及类,使用不方便但功能强大;支持图像文件类型一般 ★★★★ 六、网络或Web开发支持 VB:Asp,VBScript,具有编写DHTML的简单IDE,编写静态页面非常方便; 用于网络通讯的支持一般 ★★ PB:DynaSript, Web.PB;提供了较多动态生成Web页面的用户对象和服务 以及系统对象,非常适合编写服务端动态Web应用,有利于商业逻辑的封 装; 用于网络通讯的支持不足;静态页面定制支持有限 ★ C++ Builder/Dephi:ISAPI,WININET API等各类网络或互联网API可自由 而方便的调用;提供了Server Socket,ClientSocket等三十余个组件及 类, 用来处理网络通讯控制,流处理,Mail,Email,FTP,HTTP等应用协议处理以 及生成动态页面和商业逻辑的封装;功能强大,使用方便 ★★★★★ VC:SAPI,WININET API等各类网络或互联网API可自由而方便的调用; 提供CAsyncSocket等数量众多的类;功能强大但使用不太方便 ★★★ JAVA:不可直接调用API但内置非常多的网络及互联网功能;可利用 Servlet API,Java Bean API,以及JSP等协同开发功能强大的Web 应用;功能强大,对于某些IDE使用不太方便 ★★★★★ 七、开发模式 VB:控件开发模式(OCX) ★★ PB:组件开发模式(User Object) ★★ C++ Builder/Dephi:源代码组件开发模式(VCL) ★★★★★ VC:应用程序框架开发模式(MFC) ★ JAVA:框架开发模式(JDK下)+组件开发模式(IDE下) ★★★ 八、面向对象特性 VB:差 ★ PB:较好 ★★★ C++ Builder/Dephi:很好 ★★★★ VC:一般 ★★ JAVA:非常好 ★★★★★ 九、开发效率 VB:较高 ★★★ PB:很高 ★★★★★ C++ Builder/Dephi:高 ★★★★ VC:低 ★ JAVA:高 ★★★★ 十、代码执行效率 VB:一般 ★★ PB:较高 ★★★ C++ Builder/Dephi:很高 ★★★★★ VC:很高 ★★★★★ JAVA:低 ★ 十一、帮助系统 VB:很好 ★★★★★ PB:较好 ★★★ C++ Builder/Dephi:差 ★ VC:好 ★★★★ JAVA:较好 ★★★ 十二、易学程度 VB:非常好 ★★★★★ PB:好 ★★★ C++ Builder/Dephi:好 ★★★ VC:不好 ★ JAVA:不好 ★ 十三、使用人数 VB:很多 ★★★★★ PB:较多 ★★★ C++ Builder/Dephi:较多 ★★★ VC:多 ★★★★ JAVA:不多 ★ 十四、厂商财力 VB:非常强大 ★★★★★ PB:比较强大 ★★★ C++ Builder/Dephi:一般 ★★ VC:非常强大 ★★★★★ JAVA:强大 ★★★★ 十五、发展潜力 VB:差 ★ PB:一般 ★★ C++ Builder/Dephi:一般 ★★ VC:好 ★★★ JAVA:非常好 ★★★★★ 十六、基础语言广泛性 VB:很好 ★★★★ PB:一般 ★★ C++ Builder/Dephi:很好/差 ★★★★/★ VC:很好 ★★★★ JAVA:很好 ★★★★ 结论: VB:是新人开发与系统无关的综合应用程序的首选;容易使用和厂商财力 很强 是其仅有的两点优势 PB:是开发大型MIS及各类数据库跨平台应用的首选;从数据库前端工具 来 讲甚至远远超过了Oracle的Develop系列等专门的工具;从通用语言角度 来 讲功能也与VB等不相上下;多媒体和网络功能与其他工具相比较弱 C++ Builder/Dephi:是唯一一套能够同时适用于开发数据库应用、网络及 Web应用、分布式应用、可重用组件、系统软件、驱动程序、多媒体及游戏 等所有软件的高效率开发环境;VCL源码基于Object Pascal是C++ Builder 唯一的缺憾,基础语言不够通用和开发系统软件功能不足是Dephi仅有的 两点不足 VC:从功能上讲除了跨平台应用外什么都可开发;从开发效率角度讲只局 限于 开发windows系统应用、可重用组件及驱动程序 JAVA:适用于开发除了系统软件、驱动程序、高性能实时系统、大规模图 像 处理以外所有的应用 综合评价: VB:46 PB:53 C++ Builder/Dephi:67/61 VC:55 JAVA:59 ChinaProgramer.com All Rights Reserved Webmaster:日之月 会吹牛就行,在面试时把主考官给吹晕~~~~~~~~ 《几种常用开发工具的比较》 黑暗独行侠 都什么狗屁评论 VC怎么重装系统 MFC实现打印预览和打印输出的源码 CPU 100% 郁闷啊 有关msn shell的问题 ShellExecute 的问题 紧急求助:各位前辈,如何在VC++6.0中用工程Win32 Application 做一个空白的应用程序窗口 如何获取子窗口句柄? 加急问题,在线等待。。。。。 如何修改sybase数据库的表结构 如何得到对话框标题所占的Rect大小 学过汇编的请进 我想搞纯sdk开放,有公司要这样的人吗?
内容。
文章客观评价了各种开发工具的优缺点,本人把文章拿来和大家一起讨论
一下,
欢迎专业人事补充和指正。
一、 跨平台特性
VB:无 ★
PB:WINDOWS家族, Solaris,Macintosh ★★★
C++ Builder/Dephi:WINDOWS家族,Linux ★★★
VC:无 ★
JAVA:所有能够运行JAVA虚拟机的操作系统 ★★★★
二、组件技术支持
VB:COM,ActiveX ★★★
PB:COM,JavaBean,Jaguar,UserObject使用:CORBA+Acti veX ★★★
C++ Builder/Dephi:COM, ActiveX CORBA(本身自带CORBA中间件
VisiBroker,
有丰富向导) ★★★★★
VC:COM,ActiveX,CORBA(没有任何IDE支持,是所有C编译器的功能,
需要CORBA中间件支持) ★★★
JAVA:JavaBean,CORBA;ActiveX ★★★★
三、数据库支持级别
数据访问对象:
VB:DAO,ADO,RDO功能相仿; ★
PB:Transaction,DwControl,可绑定任何SQL语句和存储过程,数据访问
具有无与比拟的灵活性 ★★★★
C++ Builder/Dephi:具有包括DataSource,Table,Query,Midas,ADO在内
的二十多个组件和类完成数据访问 ★★★
VC:同VB,但有不少类库可供使用,但极不方便,开发效率很低 ★★
JAVA:JAVA JDBC API,不同的IDE具有不同的组件 ★★
数据表现对象:
VB:DBGriD,与数据库相关的数据表现控件只有此一种,只能表现简单表
格
数据,表现手段单一 ★
PB:DataWindow对象(功能异常强大,其资源描述语句构成类似HTML的
另外一种语言,可在其中插入任何对象,具有包括DBGrid在内的数百种
数据表现方法),只此一项功能就注定了PB在数据库的功能从诞生的那
一天起就远远超过了某些开发工具今天的水平 ★★★★★
C++ Builder/Dephi:具有包括DBGrid,DBNavigator,DBEdit,
DBLookupListBox在内的15个数据感知组件,DecisionCube,
DecisionQuery在内的6个数据仓库组件和包括QRChart, QRExpr
在内的20多个报表组建,可灵活表现数据 ★★★
VC:同数据访问对象 ★
JAVA:不同的IDE具有不同的组件,比较著名的有Jbuilder,PowerJ,
VisualAge for Java ★★
语句执行方式:
VB:将一句SQL串绑定到一个命令对象中,结果返回到ResultSet对象
中自行拆取 ★
PB:是一种真正的4GL语言,可随意直接嵌套SQL语句返回值被赋值到
语句的变量中,支持语句级游标,存储过程和数据库函数,是一种类
似SQLJ的规范 ★★★★★
C++ Builder/Dephi:使用数据库组件或类完成SQL语句串的执行和提交
★★
VC:同数据访问对象 ★
JAVA:SQLJ,JAVA JDBC API ★★★★
四、系统底层开发支持
VB:调用API需申明,调用不方便,不能进行DDK编程,不可深入Ring0
编程,
不可嵌套汇编 ★
PB:调用API需申明,调用不方便,不能进行DDK编程,不可深入Ring0
编程,
不可嵌套汇编 ★
C++ Builder/Dephi:直接调用API,可进行DDK编程,可深入Ring0编
程,
可嵌套汇编 ★★★★★/★★
VC:直接调用API,可进行DDK编程,可深入Ring0编程,可嵌套汇编
★★★★★
JAVA:推出了JINI规范但不能对不支持JINI的设备编程,眼下并不实用
★
五、多媒体及图形图像开发支持
VB:可进行Direct Api编程;调用OpenGL很不方便;自带少量图形图像
处理
控件,使用方便但功能一般;支持图像文件类型较少 ★★
PB:可进行Direct Api编程;调用OpenGL很不方便;图形图像处理不方
便
但可调用API完成图形图像操作,也可借助控件开发;支持图像文件类型
很多 ★
C++ Builder/Dephi:可进行Direct Api编程;调用OpenGL比较方便;
自带丰富的图形图像处理组件及类,使用很方便且功能强大;支持图像
文件类型一般 ★★★★★
VC:可进行Direct Api编程;调用OpenGL比较方便;自带丰富的图形图
像
处理类,使用不方便但功能强大;支持图像文件类型较少 ★★★★
JAVA:很难调用Direct Api和OpenGL;自带相当丰富的图形图像处理组
件及类,使用不方便但功能强大;支持图像文件类型一般 ★★★★
六、网络或Web开发支持
VB:Asp,VBScript,具有编写DHTML的简单IDE,编写静态页面非常方便;
用于网络通讯的支持一般 ★★
PB:DynaSript, Web.PB;提供了较多动态生成Web页面的用户对象和服务
以及系统对象,非常适合编写服务端动态Web应用,有利于商业逻辑的封
装;
用于网络通讯的支持不足;静态页面定制支持有限 ★
C++ Builder/Dephi:ISAPI,WININET API等各类网络或互联网API可自由
而方便的调用;提供了Server Socket,ClientSocket等三十余个组件及
类,
用来处理网络通讯控制,流处理,Mail,Email,FTP,HTTP等应用协议处理以
及生成动态页面和商业逻辑的封装;功能强大,使用方便 ★★★★★
VC:SAPI,WININET API等各类网络或互联网API可自由而方便的调用;
提供CAsyncSocket等数量众多的类;功能强大但使用不太方便 ★★★
JAVA:不可直接调用API但内置非常多的网络及互联网功能;可利用
Servlet API,Java Bean API,以及JSP等协同开发功能强大的Web
应用;功能强大,对于某些IDE使用不太方便 ★★★★★
七、开发模式
VB:控件开发模式(OCX) ★★
PB:组件开发模式(User Object) ★★
C++ Builder/Dephi:源代码组件开发模式(VCL) ★★★★★
VC:应用程序框架开发模式(MFC) ★
JAVA:框架开发模式(JDK下)+组件开发模式(IDE下) ★★★
八、面向对象特性
VB:差 ★
PB:较好 ★★★
C++ Builder/Dephi:很好 ★★★★
VC:一般 ★★
JAVA:非常好 ★★★★★
九、开发效率
VB:较高 ★★★
PB:很高 ★★★★★
C++ Builder/Dephi:高 ★★★★
VC:低 ★
JAVA:高 ★★★★
十、代码执行效率
VB:一般 ★★
PB:较高 ★★★
C++ Builder/Dephi:很高 ★★★★★
VC:很高 ★★★★★
JAVA:低 ★
十一、帮助系统
VB:很好 ★★★★★
PB:较好 ★★★
C++ Builder/Dephi:差 ★
VC:好 ★★★★
JAVA:较好 ★★★
十二、易学程度
VB:非常好 ★★★★★
PB:好 ★★★
C++ Builder/Dephi:好 ★★★
VC:不好 ★
JAVA:不好 ★
十三、使用人数
VB:很多 ★★★★★
PB:较多 ★★★
C++ Builder/Dephi:较多 ★★★
VC:多 ★★★★
JAVA:不多 ★
十四、厂商财力
VB:非常强大 ★★★★★
PB:比较强大 ★★★
C++ Builder/Dephi:一般 ★★
VC:非常强大 ★★★★★
JAVA:强大 ★★★★
十五、发展潜力
VB:差 ★
PB:一般 ★★
C++ Builder/Dephi:一般 ★★
VC:好 ★★★
JAVA:非常好 ★★★★★
十六、基础语言广泛性
VB:很好 ★★★★
PB:一般 ★★
C++ Builder/Dephi:很好/差 ★★★★/★
VC:很好 ★★★★
JAVA:很好 ★★★★
结论:
VB:是新人开发与系统无关的综合应用程序的首选;容易使用和厂商财力
很强
是其仅有的两点优势
PB:是开发大型MIS及各类数据库跨平台应用的首选;从数据库前端工具
来
讲甚至远远超过了Oracle的Develop系列等专门的工具;从通用语言角度
来
讲功能也与VB等不相上下;多媒体和网络功能与其他工具相比较弱
C++ Builder/Dephi:是唯一一套能够同时适用于开发数据库应用、网络及
Web应用、分布式应用、可重用组件、系统软件、驱动程序、多媒体及游戏
等所有软件的高效率开发环境;VCL源码基于Object Pascal是C++
Builder
唯一的缺憾,基础语言不够通用和开发系统软件功能不足是Dephi仅有的
两点不足
VC:从功能上讲除了跨平台应用外什么都可开发;从开发效率角度讲只局
限于
开发windows系统应用、可重用组件及驱动程序
JAVA:适用于开发除了系统软件、驱动程序、高性能实时系统、大规模图
像
处理以外所有的应用 综合评价:
VB:46
PB:53
C++ Builder/Dephi:67/61
VC:55
JAVA:59
ChinaProgramer.com
All Rights Reserved
Webmaster:日之月