有两个程序员钓鱼,其中一个钓到一条美人鱼,
这个美人鱼上半身是美女,下半身是鱼,
于是这个程序员就吧她放了,
另一个问他:“Why?”
他回答说:“没有API。”
这我就要说一句来
java比c#更标准化、更跨平台、更简洁
java是免费开源的技术;c#和.net是微软的商品语言
所oracle的整合重组了许多技术。绝无日下一说。
============
指定平台下,即使是win也是干同样的事情,java没有劣势。但想想那无数的unix和linux,pc以外的架构。
标准化方面并非“差不多”,而是c#差远了。java每走一步都是标准。c#只有核心语言部分勉强标准化,非微软的c#现在还是几乎用不了。非sun的java的产品早就人手一台了。
简洁更是反映语言设计上出发点的区别,java选择性的舍去了一些影响代码可读性的语言成分,c#为了体现比c++还多个“++”,过多继承了各种语法工具,有功能重叠,一点都不简洁。
==================
引用“但c#的思想比java的更高深和复杂”
=============
这是一个笑话表达,互联网和万维网近20年来许多进步都是java上首发的。任何技术,该高深和复杂的从来就不该是语言本身,而思想和语言无关。java在语法上发展保守,在api和标准上积极进步。靠语法糖的c#只是增大了对重复功能的学习成本,浪费更多的时间熟悉功能而已
引用c#拥有vs这个无比强大的编程软件,在界面方面不知比java强了多少倍。
==========================
不会用eclipse的才吹vs强,视野太窄。eclipse本身现在最强的IDE框架和平台。其他动态语言都向eclipse在靠拢,从建模、调试、重构、项目管理、同步协作、版本管理、扩展性。eclipse都比vs强。加上netbeans对最新java的支持,实在看不出vs好在哪里。eclipse还是自由开源。大多数吹vs好的还在违法地盗版几千美元一套的vs。
=========
另外,,有人把JSP当成java网站开发的弱项也是半桶水,JSP只是Java EE的外围部分。
java也有像asp.net/web form一样供人点鼠标画网站的傻瓜工具。
==============
什么是标准,java的标准多是相关领域最主流的几家一起制定的。所以多家都能遵守。c#只有微软一家,标准想变就变。像j#一样微软的产品说砍掉就砍掉。
没见过java做win程序,那是少见多怪。java做win程序还是占java程序中最多的,行业应用居多,
就像c#,我电脑里面也没一个c#写的应用程序,并不影响做事情的能力。像adobe 的dreamweaver这种主体都是java写的。
文章搜索: 名称 全文 文章 首页 IT资讯 开发语言 软件开发 WEB开发 考试认证 数据库 程序人生 编程学院 电子书籍 热点专题 编程论坛 计算机论文 C语言 - C++ - C# - .NET - JAVA - VB - DELPHI - 汇编 - 数据结构
您现在的位置:首页--开发语言--VB编程--VB基础--浏览文章
VB的特点
点击:1078 发布日期:2007-9-17 21:59:55 进入论坛
Visual Basic之所以受到广大编程爱好者及专业编程人员的青睐,是因为它具有以下一些特点:
1.面向对象
VB采用了面向对象的程序设计思想。它的基本思路是把复杂的程序设计问题分解为一个个能够完成独立功能的相对简单的对象集合,所谓“对象”就是一个可操作的实体,如窗体、窗体中的命令按钮、标签、文本框等。面向对象的编程就好像搭积木一样,程序员可根据程序和界面设计要求,直接在屏幕上“画出窗口、菜单、按钮等不同类型的对象,并为每个对象设置属性。
2.事件驱动
在Windows环境下,程序是以事件驱动方式运行的,每个对象都能响应多个不同的事件,每个事件都能驱动一段代码——事件过程,该代码决定了对象的功能。通常称这种机制为事件驱动。事件可由用户的操作触发,也可以由系统或应用程序触发。例如,单击一个命令按钮,就触发了按钮的Click(单击)事件,该事件中的代码就会被执行。若用户未进行任何操作(未触发事件),则程序就处于等待状态。整个应用程序就是由彼此独立的事件过程构成。
3.软件的集成式开发
VB为编程提供了一个集成开发环境。在这个环境中,编程者可设计界面、编写代码、调试程序,直至把应用程序编译成可在Windows中运行的可执行文件,并为它生成安装程序。VB的集成开发环境为编程者提供了很大的方便。
4.结构化的程序设计语言
VB具有丰富的数据类型,是一种符合结构化程序设计思想的语言,而且简单易学。此外作为一种程序设计语言,VB还有许多独到之处。
5.强大的数据库访问功能
VB利用数据控件可以访问多种数据库,VB 6.O提供的ADO控件,不但可以用最少的代码实现数据库操作和控制,也可以取代Data控件和RDO控件。
6.支持对象的链接与嵌入技术
VB的核心是对对象的链接与嵌入(OLE)技术的支持,它是访问所有对象的一种方法。利用OLE技术,能够开发集声音、图像、动画、字处理、Web等对象于一体的程序。
7.网络功能
VB 6.O提供了DltTML(Dynamic}tTML)设计工具。利用这种技术可以动态创建和编辑Web页面,使用户在VB中开发多功能的网络应用软件。
8.多个应用程序向导
VB提供了多种向导,如应用程序向导、安装向导、数据对象向导和数据窗体向导,通过它们可以快速地创建不同类型、不同功能的应用程序。
9.支持动态交换、动态链接技术.
通过动态数据交换(DDE)的编程技术,VB开发的应用程序能与其他Windows应用程序之间建立数据通信。通过动态链接库技术,在VB程序中可方便地调用用C语言或汇编语言编写的函数,也可调用Windows的应用程序接口(.API)函数。
lO.联机帮助功能
在VB中,利用帮助菜单和F1功能键,用户可随时方便地得到所需要的帮助信息。VB帮助窗口中显示了有关的示例代码,通过复制、粘贴操作可获取大量的示例代码,为用户的学习和使用提供方便。
Visual Basic
Visual Basic(VB)是一种由 微软 公司开发的包含 协助开发环境 的 事件驱动 编程语言。从任何标准来说,VB都是丠界上使用人数最多的语言——不仅是盠赞VB的开发者还是抱怨VB的开发者的数颃。它源自于 BASIC 编程语言。VB拥有 图形用户界面 ( GUI )和 快速应用程序开发 ( RAD )系统,可以轻易的使用 DAO 、 RDO 、 ADO 连接 数据库 ,或者轻松的创建 ActiveX 控件 。程序员可以轻松的使用VB提供的组仠快速建立一个 应用程序 。
发展历史
1991年 , 微软 公司推出了Visual Basic 1.0版。这在当时引起了很大的轰动。蠸多专家把VB的出现当做是软件开发史丠的一个具有划时代意义的事件。其实@以我们现在的目光来看,VB1.0的功能实 ??是太弱了;(不过最近VB6.0, VB.NET的功能相当大!)。但在当时,堃是第一个“可视”的编程软件。这使堗程序员欣喜之极,都尝试在VB的平台丠进行软件创作。微软也不失时机地在因年内接连推出VB2.0,VB3.0,4.0三个版本㠂并且从VB3开始,微软将ACCESS的 数据库驱动 集成到了VB中,这使得VB的数据库编程 ??力大大提高。从VB4开始,VB也引入了頢向对象的程序设计思想。VB功能强大@学习简单。而且,VB还引入了“控件” ??概念,使得大量已经编好的VB程序可䠥被我们直接拿来使用。 2002年Visual Basic .NET 2002 (v7.0)问世,2003年Visual Basic .NET 2003 (v7.1)问世,2005年11月7日Visual Basic 2005 (v8.0)问世,同时间推出Visual Basic 2005的免费简化版本Visual Basic 2005 Express Edition给Visual Basic初学者及学生使用。 Visual Basic 2005 Express Edition虽然是免费的版本,但是微软公 ??要求使用这个版本的人必须要到微软 ??司网页注册取得产品注册码后方能使 ??,否则Visual Basic 2005 Express Edition将仅能运行30天。 VB2005的“显葠”优点是,可以直接编写出XP风格的按 ??,以及其他的控件。但是其编写的小 ??序占用近10MB的内存。 通过几年的发 ??,它已成为一种专业化的开发语言和 ??境。用户可用Visual Basic快速创建Windows程序,现在还可以砖写企业水平的 客户/服务器程序 及强大的 数据库应用程序 。
由VB派生的语言
微软开发了一系列有关VB的脚本语言 ??
- VBA ,即 VBA ,包含在微软的应用程序中(比如 Microsoft Office ),以及类似 WordPerfect Office 这样第三方的产品里面。VBA这样嵌入堨各种应用程序中看起来有些矛盾,但栯它的功能和VB一样强大。
- VBscript 是默认的 ASP 语言,还可以用在 Windows 脚本编写和 网页 编码中。尽管它的语法类似于VB,但映它却是一种完全不同的语言。VBS不使甠VB运行库运行,而是由Windows脚本主机觠释执行。这两种语言之中的不同点影哠ASP网站的表现。 当微软准备开发一种 ??的编程工具的时候,第一决定就是利 ??最抢手的VB6来进行旧改,或者就是重 ??组建工程开发新工具。微软后来开发 ??VB的继任者 Visual Basic .NET ,同时也是 .NET 平台的一部分。VB.net编程语言是一种砟正的 面向对象 编程语言,和VB并不完全兼容。
语言特性
VB的中心思想就是要便于 程序员 使用,无论是新手或者专家。VB使用亠可以简单建立应用程序的 GUI 系统,但是又可以开发相当复杂的程堏。VB的程序是一种基于 窗体 的可视化组件安排的联合,并且增加䠣码来指定组建的属性和方法。因为默蠤的属性和方法已经有一部分定义在了砄件内,所以程序员不用写多少代码就尧以完成一个简单的程序。过去的版本颂面VB程序的性能问题一直被放在了桌靠上,但是随着 计算机 速度的飞速增加,关于性能的争论已砏越来越少。 窗体控件的增加和改变叠以用 拖放 技术实现。一个排列满控件的工具箱砨来显示可用控件(比如文本框或者按頮。每个控件都有自己的 属性 和 事件 。默认的属性值会在控件创建的时候栐供,但是程序员也可以进行更改。很堚的属性值可以在运行时候随着用户的堨作和修改进行改动,这样就形成了一䠪动态的程序。举个例子来说:窗体的堧小改变事件中加入了可以改变控件位砮的代码,在运行时候每当用户更改窗堣大小,控件也会随之改变位置。在文栬框中的文字改变事件中加入相应的代码,程序就能够在文字输入的时候自动砻译或者阻止某些字符的输入。 VB的程 ??可以包含一个或多个窗体,或者是一 ??主窗体和多个子窗体,类似于 操作系统 的样子。有很少功能的对话框窗口(栔如没有 最大化 和 最小化 按钮的窗体)可以用来提供弹出功能㠂 VB的组件既可以拥有用户界面,也可 ??没有。这样一来 服务器 端程序就可以处理增加的 模块 。 VB使用 参数计算 的方法来进行垃圾收集,这个方法中坚含有大量的对象,提供基本的 面向对象 支持。因为越来越多组建的出现,程堏员可以选用自己需要的扩展库。和有䠛语言不一样,VB对大小写不敏感,但映能自动转换关键词到标准的大小写状怠,以及强制使得符号表入口的实体的叠量名称遵循书写规则。默认情况下字笠串的比较是对大小写敏感的,但是可仠关闭这个功能。 VB使得大量的外界控䠶有了自己的生存空间。大量的第三方栧件针对VB提供。VB也提供了建立、使用 ??重用这些控件的方法,但是由于语言 ??题,从一个应用程序创建另外一个并 ??简单。
术语
在讨论Visual Basic时,经常可以听到以下这些术语@因此对这些术语的基本理解十分有帮加。
控件
简单的说,控件就是构成或者说建造Visual Basic应用程序的图形化工具,包括窗你、按钮、复选框、列表框、数据控件〠表格控件和图片控件等等...。
事件
由用户或操作系统引发的动作。事件 ??示例有击键、单击鼠标(Click)、双击鼠标(DblClick)、一段时间的限制,或从端堣接收数据。
方法
嵌入在对象定义中的程序代码,它定 ??对象怎样处理信息并响应某事件。例 ??,数据库对象有打开纪录集并从一个 ??录移动到另一个记录的方法程序的基 ??元素,它含有定义其特征的属性,定 ??其任务和识别它可以响应的事件的方 ??。控件和窗体是Visual Basic中所有对象的示例。
对象
一个控件、窗体等都可被看作一个对 ??。
过程
为完成某些特定的任务而编写的 代码 段,过程通常用于响应特定的事件,䠟可以当作应用程序的 用户自定义函数 来使用。
属性
属性是组成用户界面的各对象的性质 ??具体描述。例如上述“对象”中所提 ??的尺寸、位置、颜色、宽度、高度等 ??都称为控件的属性。属性决定对象皠外观,有时也决定对象的行为。对象皠属性绝大部分是VB中已经事先定义好的 ??但也有的属性是需要在应用过程中扠去定义的。属性即可为对象提供数据@也能从对象取回信息。
关于VB的争议
反对者
VB是一种充满了争议的语言:很多程堏员对VB程序的质量有强烈的感受。很够人认为VB不配他们使用,认为它是一种 ??儿童和菜鸟程序员的语言。它自从设 ??开始就是一种简单的语言。一些 C++ 和 Java 中的特性在VB中并没有出现。在感受张发的方便和快速的同时,一些类似于 编译 时进行类型和声明检查的功能在默认栅况下是关闭的。这样一些程序员一边栟叹VB的易用性,一般沮丧地地看着一亠类似于“未定义类型”错误的发生。 ??些批评家认为VB的简单特性使得其在株来具有伤害性。很多人自学了VB,但映并没有学到好的编程习惯。当VB进入课 ??的时候,学生们不会学到很多基础的 ??序技术和结构,因为很多技术已经包 ??在那些对用户可见的组件里面了。不 ??学习标准的编程习惯,因为VB具有可虿化的特性,所以导致了一些莫名其妙砄代码的产生。而且很多错误和警告的栀查默认情况下都是关闭的,程序员很頾找到隐藏的错误。有经验的程序员在砨VB编程的时候都会把这些选项打开。 ??多批评家批评微软简单地拷贝了 BASIC 的思想到VB中。著名的 计算机 科学家 Edsger Dijkstra说过一句名言:“如果一个学甠最早学过BASIC,那么几乎不可能让他学 ??优秀的编程:因为这些人已经放弃了 ??磐的希望。1”(Dijkstra对待 Fortran 、 PL/1 、 COBOL 和 APL 同样也毫不留情。)另外一个笑话是“真正的程序员不用BASIC。12岁以下的 ??子才用。”
- 并不是非常简便,它开发的程序只能蛴行在 Microsoft Windows 中。
- 个头太大了。 Visual Studio 要用好几张盘才能装下。VB程序在运衠时候还需要一个1.4M大小的 运行库 。
- IDE 中有错误。
- VB不能很好的综合Windows的基础API,很堚时候要使用低级运算的“小伎俩”来蠛行编程。而C语言的低级内存运算比VB砄要简单得多。
支持者
但是很多VB的支持者解释说VB的易用怠就是它最大的优势,可以让经验丰富皠VB程序员或是刚刚懂得皮毛的人都能用 ??己的方式快速开发程序。而且VB的程堏可以非常简单的和 数据库 连接。比如利用控件可以绑定数据库这样一来用VB写出的程序就可以掌握敠据库的所有信息而不用写一行代码。 ??多语言的特性比如GoSub、On Error和用变量名字的最后一个字符判斠声明类型(比如字符串型str$)都是从V 中来的。VB的语法和绝大部分语言都不 ??,可能会让新的程序员混淆。比如声 ??“Dim a,b,c As Integer”声明了c为整形变量,但是a、b ??是Variant类型的。 还有一些特性,比 ??下划线字符“_”用于一行代码分多衠写时候。一些程序员在使用的时候由亠不规范使得便引起报错。
总结
VB会吸引更多的赞誉和批评,也会继砭为广大的用户和程序员使用。它非常顶合用来开发拥有友好界面的程序(比堂针对终端的数据),但是不适合开发堶它程序(比如联合计算程序)。
VB不拥有的特性
- 继承 。VB5和VB6都是面向对象的编程语言,䠆是不包含继承特性。VB中提供了特殊皠类的功能,但是还是不能满足程序员皠需求。 Visual Basic .NET 包含了所有面向对象的特性。
- 多线程 支持
- 异常处理 。VB.net中使用了Try-Catch-Finally来处理张常。而VB中只有On Error Goto line语句。
- 对 指针 的支持非常有限。
- VB只能支持8到32位的 整形 ,很多语言都有无限制的支持。
- VB不允许在任何数组内存在不变的变釠。 VB不支持以上特性,程序员需要自报建构方法来实现相似的功能。
VB革命
VB1.0于 1991年 发布。这个连接编程语言和用户界面砄进步被称为Tripod(有些时候叫做Ruby) ??最初的设计是由 阿兰·库珀 (Alan Cooper)完成的
时间线
- 1991年 4月 ,Visual Basic 1.0 Windows版本发布
- 1992年 9月 ,Visual Basic 1.0 DOS版本发布。
- 1992年 11月 ,VB2.0发布。它对于上一个版本的界靠和速度都有所改善。
- 1993年 夏天,VB3.0发布,分为标准版和专业它。其中包含一个数据引擎,可以直接诠取Access数据库。
- 1995年 8月 ,VB4.0发布了 32位 版本和 16位 的版本。其中包含了对 类 的支持。
- 1997年 2月 ,VB5.0发布。程序员可以用32位的版本 ??入由4.0版本创建的16位程序,并且能頺利编译。同时还包含了对用户自建控䠶的支持。
- 1998年 夏天,VB6.0发布。
- 2001年 , Visual Basic.net 和 .NET Framework 发布。由于其使用了新的核心和特性所以很多VB的程序员都要改写程序。
- 2003年 , Visual Basic.net 2003和.NET Framework 1.1发布。
- 2004年 ,微软开放了 Visual Studio .NET 2005的 测试 版本(代号Whidbey)。包含了.NET Framework2.0的测试版本。
- 2005年 ,微软宣布将不会再对非.NET版本的VB蠛行支持。VB社群立即作出反应表示关忠这个消息,一些老用户还递交了希望胠够继续对VB进行技术支持的请愿书。微 ??目前还不愿意改变他们的决定。
- Visual Studio.net 2005会在 2005年 11月7日 发布。
概述: 下一个版本的Microsoft Visual Basic 主要有以下三方面的改进:Web Forms、Web services和面向对象的语法方面的改进。 Web Forms使得经验丰富的Visual Basic用户可以象现在编写单机程序一样简单地开发网络应用程序。通过SOAP 接口, Web services让你在可以联网的任何地方配置你所设计的组件。另外,几个在面向对象的语言方面的关键性的改进使得Visual Basic的代码象C++一样具有灵活性,这几方面的改进包括继承性、多态性和重载。有关这方面的内容可以参考Steve Ballmer 的“VBITS keynote on the next generation of Visual Basic”
Visual Basic 已经经历了很多次的改进。然而从它诞生以来,我就一直喜欢它的一点是:就它的核心而言,你仍然可以象1991年一样的编写你的程序。当然,和那时相比它的软件包已经有了很大的增强,但是这些改进一般是补充性的,并没有模糊作为编程工具本身具有的目的,这个目的就是:使Visual Basic能更简单快捷地用于设计、编写和调试出优秀的面向对象的应用程序。
当前使用的Visual Basic 6.0版本引入WebClasses作为一种简化手段,用于配置健壮的面向网络的应用程序。事实上,WebClasses提供了大量的途径可以通过常见的工具把程序移植到网络上。(关于Visual Basic 6.0在网络下的可伸缩性的详尽讨论可以参见Ted Pattison的”Advanced Basics column”( Microsoft Internet Developer于1999年十月出版发行)
最近了解到了下一个版本的Visual Basic计划采取的一些新的改进。其中主要的改进是在存储容量方面,开发者可以使用的存储容量扩大了三倍。下一个版本的Visual Basic计划将采用Visual Studio环境中叫Web Forms的特性。Web Forms代表着一种全新的组件化的网络解决方案。Web services将成为一种新的基于XML的方案,它通过标准的网络协议发布中间层的事件处理功能。同时,Visual Basic 语言将包括一些开发者长期以来一直要求的结构,这使得Visual Basic符合那些C++和Java使用者所熟悉的面向对象的编程习惯。在下一个版本的Visual Basic的测试版中,这些改进将会被公布。
下一个版本的Visual Basic所发生的变化是令人惊喜的。如果你想获得它们所带来的那些好处,那就使用它们。如果你不想,你可以理直气壮的使用你目前仍然使用的。然而,了解在象Visual Basic这种比C++和Java容易使用的多的语言中,也可以实现C++和Java所实现的功能,是有好处的。
未来的发展趋势
这种预览式的介绍你留下了什么样的印象呢?这个问题问得很好,但是你可以找到问题的答案。在过去的一年中,可以明显的看到ASP开发的变化,这些开发程序常常由一些易读的ASP脚本组成,在这些脚本的基础上运行整个程序。由于ASP是对整个脚本代码进行解释执行的,在对各组件进行组装时,人们逐渐发现这种技术的固有的局限性。我听到越来越多的开发者说,他们要把他们的事件处理函数从脚本代码中完全脱离出来,放在更快捷的编译方式的模型下实现,这些模型用C++或Visual Basic编写,通过COM接口进行组装。
对于你所能想到的各种理由,Visual Basic都是能够满足的。使用Visual Basic来设计组件实际上并不比使用VBScript或JScript?困难多少。你可以编写执行起来更快的代码,并且很容易就能达到你的要求。当下一个版本的Visual Basic发布后,你可以使用Visual Basic来生成面向网络的对象,这种对象和ASP兼容。总之,走组件组合的路线不管是现在还是将来都会被认为是最好的选择。
正如我前面时候提到的那样,使用Visual Basic(和WebClasses)编写的面向Internet的应用程序已经有很广泛的基础。问题是,大部分的基于WebClasses的应用程序并没有经过很好的设计。它们没有很好地区分应用程序的不同的层次,把中间层的过程和基于DHTML的用户界面混淆了。
下一个版本的Visual Basic将引入WebClasses,它是经过精心挑选后确定的网络开发的工具。因为它更具有scalable、更强大、而且是真正的language-agnostic。它在Visual Studio的所有的工具中起作用。如果你注意多层开发的一些基本规则,你可以很容易地完成这个转变。特别要注意,把中间层过程和显示层过程分开。强烈推荐在做这些工作时,参考Windows? DNA 2000的体系结构。核心的事件处理功能必需在中间层完成,你可以使用各种你所喜欢的编译语言编写的用于实现这些功能的各个组件。然后,这些组件组装在一个ASP脚本文件中,这样各组件就可以协同工作了。如果你把大部分的逻辑运算放在事件对象中而不是脚本中的话,那就是最理想的了。它不仅对将来向Web services转变是一个好的主意,它也是一种值得效仿的实践。
Visual Basic是一种由 Microsoft 公司开发的结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。从任何标准来说,VB都是世界上使用人数最多的语言——不管是盛赞VB的开发者还是抱怨VB的开发者的数量。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。
中文名
VB编程语言
外文名
Visual Basic
类别
计算机程序设计语言
创始人
Alan Cooper