1. 脚本语言
定义:脚本语言,脚本语言或扩建的语言,是一种编程语言控制软件应用程序。“脚本”往往被视为有别于“程序” ,执行独立于任何其他的应用。在同一时间,他们是有别于核心代码的应用,这是通常的书面在不同的语言,和现正接触到最终用户,使他们的行为的应用,以适应用户的需要。脚本往往是,但并非总是解释,从源代码或“半汇编” ,以字节这是解释,不同的应用,他们的相关,这是传统的编制本土机器码为系统上运行他们。脚本语言几乎总是在嵌入式应用与它们相关的。
命名为“脚本”是来自书面脚本的表演艺术,在这种对话是订下要发言,由人类行为者。早期的脚本语言通常被称为一批语言或工作控制语言。例如早期的脚本语言的建立是为了缩短传统的编辑-编译-链接-运行的过程。
1.脚本语言(JavaScript,VBscript等)介于HTML和C,C++,Java,C#等编程语言之间。HTML通常用于格式化和链结文本。而编程语言通常用于向机器发出一系列复杂的指令。
2.脚本语言与编程语言也有很多相似地方,其函数与编程语言比较相象一些,其也涉及到变量。与编程语言之间最大的区别是编程语言的语法和规则更为严格和复杂一些.
3.与程序代码的关系:脚本也是一种语言,其同样由程序代码组成。
注:脚本语言一般都有相应的脚本引擎来解释执行。他们一般需要解释器才能运行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是脚本语言。C/C++编译、链接后,可形成独立执行的exe文件。
4.脚本语言是一种解释性的语言,例如vbscript,javascript,installshield script,ActionScript等等,它不象c/c++等可以编译成二进制代码,以可执行文件的形式存在. 脚本语言不需要编译,可以直接用,由解释器来负责解释。
5.脚本语言一般都是以文本形式存在,类似于一种命令. 举个例子说,如果你建立了一个程序,叫aaa.exe,可以打开.aa为扩展名的文件. 你为.aa文件的编写指定了一套规则(语法),当别人编写了.aa文件后,你的程序用这种规则来理解编写人的意图,并作出回应.那么,这一套规则就是脚本语言.
2.概念:静态网页,动态网页
静态网页,动态网页主要根据网页制作的语言来区分:
静态网页使用语言:HTML(超文本标记语言)
动态网页使用语言:HTML+ASP 或 HTML+PHP 或 HTML+JSP 等。
静态网页与动态的区别:
程序是否在服务器端运行,是重要标志。在服务器端运行的程序、网页、组件,属于动态网页,它们会随不同客户、不同时间,返回不同的网页,例如ASP、PHP、JSP、ASP.net、CGI等。运行于客户端的程序、网页、插件、组件,属于静态网页,例如html页、Flash、JavaScript、VBScript等等,它们是永远不变的。
静态网页和动态网页各有特点,网站采用动态网页还是静态网页主要取决于网站的功能需求和网站内容的多少,如果网站功能比较简单,内容更新量不是很大,采用纯静态网页的方式会更简单,反之一般要采用动态网页技术来实现。
静态网页是网站建设的基础,静态网页和动态网页之间也并不矛盾,为了网站适应搜索引擎检索的需要,即使采用动态网站技术,也可以将网页内容转化为静态网页发布。
动态网站也可以采用静动结合的原则,适合采用动态网页的地方用动态网页,如果必要使用静态网页,则可以考虑用静态网页的方法来实现,在同一个网站上,动态网页内容和静态网页内容同时存在也是很常见的事情。
1. 静态网页
静态网页是相对于动态网页而言,是指没有后台数据库、不含程序和不可交互的网页。你编的是什么它显示的就是什么、不会有任何改变。静态网页相对更新起来比较麻烦,适用于一般更新较少的展示型网站。
在网站设计中,纯粹HTML格式的网页通常被称为“静态网页”,早期的网站一般都是由静态网页制作的。静态网页的网址形式通常为:www.example.com/eg/eg.htm,也就是以.htm、.html、.shtml、.xml等为后后缀的。在HTML格式的网页上,也可以出现各种动态的效果,如.GIF格式的动画、FLASH、滚动字母等,这些“动态效果”只是视觉上的,与下面将要介绍的动态网页是不同的概念。
2. 动态网页
动态网页是与静态网页相对应的,也就是说,网页 URL的后缀不是.htm、.html、.shtml、.xml等静态网页的常见形式,而是以.asp、.jsp、.php、.perl、.cgi等形式为后缀,并且在动态网页网址中有一个标志性的符号——“?”,如有这样一个动态网页的地址为:
http://www.pagehome.cn/ip/index.asp?id=1
这就是一个典型的动态网页URL形式。
这里说的动态网页,与网页上的各种动画、滚动字幕等视觉上的“动态效果”没有直接关系,动态网页也可以是纯文字内容的,也可以是包含各种动画的内容,这些只是网页具体内容的表现形式,无论网页是否具有动态效果,采用动态网站技术生成的网页都称为动态网页。
从网站浏览者的角度来看,无论是动态网页还是静态网页,都可以展示基本的文字和图片信息,但从网站开发、管理、维护的角度来看就有很大的差别。网络营销教学网站将动态网页的一般特点简要归纳如下:
(1)动态网页以数据库技术为基础,可以大大降低网站维护的工作量;
(2)采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、用户管理、订单管理等等;
(3)动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页;
(4)动态网页中的“?”对搜索引擎检索存在一定的问题,搜索引擎一般不可能从一个网站的数据库中访问全部网页,或者出于技术方面的考虑,搜索蜘蛛不去抓取网址中“?”后面的内容,因此采用动态网页的网站在进行搜索引擎推广时需要做一定的技术处理才能适应搜索引擎的要求。
4.概念:SEO,CMS,DMOZ
1. SEO
SEO是Search Engine Optimization的缩写,用英文描述是to use some technics to make your website in the top places in Search Engine when somebody is using Search Engine to find something,翻译成中文就是“搜索引擎优化”,一般可简称为搜索优化。与之相关的搜索知识还有Search Engine Positioning(搜索引擎定位)、Search Engine Ranking(搜索引擎排名)。
简单的说,SEO是一种让网站在百度,谷歌,雅虎等搜索引擎获得较好的排名从而赢得更多潜在客户一种的网络营销方式,也是SEM(搜索引擎营销)的一种方式。
SEO的主要工作是通过了解各类搜索引擎如何抓取互联网页面、如何进行索引以及如何确定其对某一特定关键词的搜索结果排名等技术,来对网页进行相关的优化,使其提高搜索引擎排名,从而提高网站访问量,最终提升网站的销售能力或宣传能力的技术。
搜索引擎优化是这么一种技术,即是遵循搜索引擎科学而全面的理论机制,对网站结构、网页文字语言和站点间的互动外交策略等进行合理规划部署来发掘网站的最大潜力而使其在搜索引擎中具有较强的自然排名竞争优势,从而对促进企业在线销售和强化网络品牌起到作用。
2.CMS
CMS是Content Management System的缩写,意为“内容管理系统”。
CMS具有许多基于模板的优秀设计,可以加快网站开发的速度和减少开发的成本。
CMS的功能并不只限于文本处理,它也可以处理图片、Flash动画、声像流、图像甚至电子邮件档案。
CMS其实是一个很广泛的称呼,从一般的博客程序,新闻发布程序,到综合性的网站管理程序都可以被称为内容管理系统。
根据不同的需求,CMS有几种不同的分类方法。比如,根据应用层面的不同,可以被划分为:
○ 重视后台管理的CMS
○ 重视风格设计的CMS
○ 重视前台发布的CMS
3.DMOZ
开放目录项目(Open Directory Project ,简称ODP),也称为DMOZ(来源于Directory.Mozilla.org的简写)。其网址为www.dmoz.org。是一个支持多语种互联网网站目录社区,按照固定的目录体系策略开放编辑,由志愿者组成编辑和维护,由AOL所有。
其前身GNUHoo,1998年6月5日年建立www.Gnuhoo.com,由美国加州Sun Microsystems公司的计算机程序师Rich Skrenta和Bob Truel创立,这是分类搜索引擎革命性变革的转折点。
1999年10月5日,索引的网页达到100万,2000年4月达到160万,2000年8月14日达到200万,2001年11也18日达到300万,2004年6月达到440万,所有网页分为590,000类,志愿者编辑已多达63,000 多人。Gnuhoo创立之初仅收录英文网站,2003年7月已有67个语种,英文网站占75%。现在,包括Google、Netscape、Lycos、Hotbot、Dogpile、Thunderstone、Linux、Mars Society等20多家搜索引擎和分类指南网站都在使用ODP的数据库。
2006年4月最新数据显示,ODP目前超过 590,000 个目录里收录了5,291,609个站点,目前全球拥有志愿编辑员72,144。
====================================================================
什么是Intranet?
Intranet又称为企业内部网,是Internet技术在企业内部的应用.它实际上是采用Internet技术建立的企业内部网络,它的核心技术是基于Web的计算.Intranet的基本思想是:在内部网络上采用TCP/IP作为通信协议,利用Internet的Web模型作为标准信息平台,同时建立防火墙把内部网和Internet分开.当然Intranet并非一定要和Internet连接在一起,它完全可以自成一体作为一个独立的网络.
Intranet 与 internet 相比,可以说 Internet 是面向全球的网络,而 Intranet 则是 Internet 技术在企业机构内部的实现,它能够以极少的成本和时间将一个企业内部的大量信息资源高效合理地传递到每个人。Intranet为企业提供了一种能充分利用通讯线路、经济而有效地建立企业内联网的方案,应用Intranet,企业可以有效的进行财务管理、供应链管理、进销存管理、客户关系管理等等。
5.概念:Java & Delphi & Foxpro
1. Java简介
Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。
Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。目前常用的Java平台基于Java1.4,最近版本为Java1.7。
Java分为三个体系J2SE(Java2 Standard Edition),J2EE(Java 2 Platform,Enterprise Edition),J2ME(Java 2 Micro Edition)。
基于Java的开发工具,目前比较流行的有Eclipse、MyEclipse、Jcreator、JBuilder、Editplus等等。Eclipse是有IBM公司花了2000万美元开发的Java开发软件。
(1)Java语言的特点
Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。
当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。那么Java到底有何神奇之处呢?
Java语言其实最是诞生于1991年,起初被称为OAK语言,是SUN公司为一些消费性电子产品而设计的一个通用环境。他们最初的目的只是为了开发一种独立于平台的软件技术,而且在网络出现之前,OAK可以说是默默无闻,甚至差点夭折。但是,网络的出现改变了OAK的命运。
在Java出现以前,Internet上的信息内容都是一些乏味死板的HTML文档。这对于那些迷恋于WEB浏览的人们来说简直不可容忍。他们迫切希望能在WEB中看到一些交互式的内容,开发人员也极希望能够在WEB上创建一类无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。对于用户的这种要求,传统的编程语言显得无能为力。SUN的工程师敏锐地察觉到了这一点,从1994年起,他们开始将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本。当SUN公司1995年正式以Java这个名字推出的时候,几乎所有的WEB开发人员都心生感叹:噢,这正是我想要的!于是Java成了一颗耀眼的明星,丑小鸭一下了变成了白天鹅。
(2)Java的主要特性
1)Java语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
2)Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。
3)Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java.net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
4)Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。
5)Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。
6)Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
7)Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。
8)Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
9)Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。
10)Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable) 的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。
11)Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。
2. Delphi简介
由Borland公司推出的Delphi(始于1995年)是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,您将会发现编程不再是枯燥无味的工作——Delphi的每一个设计细节,都将带给您一份欣喜。
Delphi是Borland公司研制的新一代可视化开发工具,可在Windows3.x、Windows95、WindowsNT等环境下使用。当前,DELPHI 也可以为LINUX平台上开发应用,其在LINUX上的对应产品Kylix。
DELPHI 拥有一个可视化的集成开发环境(IDE),采用面向对象的编程语言ObjectPascal和基于部件的开发结构框架。Delphi它提供了500多个可供使用的构件,利用这些部件,开发人员可以快速地构造出应用系统。开发人员也可以根据自己的需要修改部件或用Delphi本身编写自己的部件。
1) VCL(Visual Component Library) 可视组件库
VCL是Visual Component Library的缩写,即可视组件库,它是Delphi,C++Builder等编程语言的基本类库,类似Visual C++中的 MFC 类库。
它拥有封装纯粹,可扩展性强,操作方便等特点。如果是一个非常繁杂的Win32API,在经过VCL封装后,使用也是非常简便的。VCL支持类的嵌套,过程及函数的嵌套,如果你想在一个过程里声明一个类,或是声明另一个过程,那是完全可行的。过程内部的过程或是函数被称为局部过程或是局部函数。
VCL对事件的支持及封装也是非常完整的,通过事件对象的声明,可以将任意的外部事件源绑定到VCL控件。
在Delphi的VCL中,还提供了非常多的伪API,它们可以对软件开发提供进一步的支持。
VCL的可扩展性使得编写控件变得非常简单,并且可以任意导入导出ActiveX控件。同时,它也是平台无关的,可以在windows,linux,MaxOS或是其他操作系统下直接使用。
3. Foxpro
Visual FoxPro原名FoxBase,最初是由美国Fox Software公司于1988年推出的数据库产品,在DOS上运行,与xBase系列兼容。FoxPro是FoxBase的加强版,最高版本曾出过2.6。之后于1992年,Fox Software公司被Microsoft收购,加以发展,使其可以在Windows上运行,并且更名为 Visual FoxPro。 FoxPro比FoxBASE在功能和性能上又有了很大的改进,主要是引入了窗口、按纽、列表框和文本框等控件,进一步提高了系统的开发能力。
Visual FoxPro 3.0一推出,就受到广大用户的欢迎。因为xBase类的语言,如dBase、Clipper等,当时还无法在Windows上运行,于是成为市场上的霸主。
微软后来又顺势将Visual FoxPro包入Visual Studio中。
到7.0的时候,为了应.NET的发展策略,又将 Visual FoxPro移出Visual Studio,并将Visual Studio更名为Visual Studio.Net。目前最新的版本是 9.0。2007年3月13日,微软公司向第三方开发者正式确认,Visual FoxPro 9将是微软的最后一款桌面数据库开发工具软件,今后将永远不会出现VFP 10。微软在西雅图举行的微软MVP全球峰会上宣布了这一消息,并没有引起太大的骚动。因为这些微软“最有价值专家”们都早已清楚,自从2005年12月起,微软已经大幅度缩减了VFP 9的开发投入,彻底退出只是时间的问题。微软将会为VFP 9的普通用户提供支持到2010年1月12日,购买扩展支持服务的用户将可获得到2015年1月13号的服务,那时便是FoxPro的真正寿终正寝之日,FoxPro 9将成为Foxpro的绝唱!
5.概念:API, MFC, SDK
1. API (Application Programming Interface) 应用程序接口
- 其实就是操作系统留给应用程序的一个调用接口,是实现应用程序与Win系统间的标准程序接口。
- 保护上千个可调用系统功能的标准API函数;
2. MFC(Microsoft Foundation Class) 微软基础类
MFC是用来编写windows应用程序的C++类库,随微软 Visual C++ 开发工具发布。该类库含有大量已定义好的类(Class),可根据编程的需要,调用相应的类或自定义有关的类。
- 以层次结构组织
- 封装了大部分API函数
- 提供了图形环境下应用程序的框架
- 提供了创建应用程序的组件
MFC类库实现了可视化交互开发方式:1)选择所需的对象并确定其属性,搭建起应用程序的“大框架”;2)编写必要的细节代码段,构成完整的应用程序。
MFC类的组织结构
MFC从跟类Cobject派生出许多子类,主要包括:
- 应用程序体系结构类;
- 窗口、对话框和控件类;
- 绘图和打印类;
- 简单数据类型类;
- 数组、列表和映射类;
- 文件和数据库类;
- Internet和网络工作类;
- OLE类;
- 调试和异常类;
SDK(Software Development Kit) 软件开发工具包
这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。为了解释什么是 SDK 我们不得不引入 API、动态链接库、导入库等等概念。
DLL (Dynamic Link Library) 动态链接库
我们经常会看到一些 .dll 格式的文件,这些文件就是动态链接库文件,其实也是一种可执行文件格式。跟 .exe 文件不同的是,.dll 文件不能直接执行,他们通常由 .exe 在执行时装入,内含有一些资源以及可执行代码等。
其实 Windows 的三大模块就是以 DLL 的形式提供的(Kernel32.dll,User32.dll,GDI32.dll),里面就含有了 API 函数的执行代码。为了使用 DLL 中的 API 函数,我们必须要有 API 函数的声明(.H)和其导入库(.LIB),函数的原型声明不难理解,那么导入库又是做什么用的呢?我们暂时先这样理解:导入库是为了在 DLL 中找到 API 的入口点而使用的。
所以,为了使用 API 函数,我们就要有跟 API 所对应的 .H 和 .LIB 文件,而 SDK 正是提供了一整套开发 Windows 应用程序所需的相关文件、范例和工具的“工具包”。到此为止,我们才真正的解释清楚了 SDK 的含义。
由于 SDK 包含了使用 API 的必需资料,所以人们也常把仅使用 API 来编写 Windows 应用程序的开发方式叫做“SDK 编程”。而 API 和 SDK 是开发 Windows 应用程序所必需的东西,所以其它编程框架和类库都是建立在它们之上的,比如 VCL 和 MFC,虽然他们比起“SDK 编程”来有着更高的抽象度,但这丝毫不妨碍它们在需要的时候随时直接调用 API 函数.