11.一些常用的计算机语言
c\c++编译后直接由机器执行,是静态语言。还有一种语言,不直接运行在机器上,而是由虚拟机(一种程序)来解释执行,是动态语言,典型的就有JavaScript。静态语言一般不保留类型信息,运行快。动态语言,保留类型信息,自动回收内存,运行较慢。
a.编写网站会用到的一些语言
现在是网络时代,最常见的网络应用就是网站。一个网站,需要如下几个部件才能运行:
<1>一台联网的计算机
需要一个公网IP,否则只能被内网访问。需要一个域名,并在DNS中绑定到该IP,否则只能在浏览器中输入IP地址。
<2>web服务器软件
比如Apache,IIS,Tomcat之类的web服务器。也就是一个软件,安装后,进行相应的主目录和端口、权限设定即可。
<3>一个和web服务器兼容的预处理器
常见的有PHP、Asp.net、Java。其实就是一个虚拟机程序,分别用来处理php、aspx、jsp文件,生成html文档。
<4>预处理器支持的数据库
常见的有MySQL、SQL Server、Oracle,做着玩的可以用access。
<5>浏览器
浏览器有很多,比如:IE\FireFox\Chrome\Opera\Safari\...,现在俨然已成为非常重要的基础软件了。
浏览器请求页面,web服务器调用预处理器分析php\aspx\jsp,并编译执行,查询数据库,获取和更新数据库结果,返回html文档,浏览器分析文档,再向web服务器请求嵌入的图片、swf、css、script,最后生成DOM和编译JavaScript,并渲染生成页面。
所以,编写网站会用到如下语言:HTML、CSS、JavaScript、SQL还有php\c#\java\vb等语言中的一种,当然数据交换过程中还可能用到XML。
客户端语言:
被浏览器所识别的是客户端语言。
<1>HTML
一种标记语言,任意打开一个网站的页面,查看源代码就可以看到HTML。HTML用来说明文档的结构,由很多已经定义的标签组成。现在HTML5标准已经出来了,虽然还没完全定稿,但是现在的浏览器都实现了大部分功能。HTML5试图扩展HTML的传统功能,为WEB2.0推波助澜,创建基于web浏览器的具有桌面程序功能和体验的应用程序,并具备强大的跨平台优势,完全的在线升级,是所谓云计算领域的一个重要方向。
<2>CSS
级联样式表,用来说明HTML的各种标记的显示样式,使用选择符可以把它应用到具体的标签,产生漂亮的页面。和HTML5同时出台的最新版本是CSS3,它更加简单易用,具备更炫的功能,必将为web RIA程序提供更好的支持。
<3>JavaScript
脚本语言,用来操作浏览器生成的DOM树,进行节点的添加、修改和删除,利用客户端处理器资源产生动态页面效果。并可以利用HttpRequest对象和web服务器异步通信,是流行的Ajax技术的基础。在HTML5中,浏览器将提供canvas画布,离线存储,Socket,Sql等javascript对象,提升web性能,降低开发难度。为了降低难度和屏蔽平台差异,现在有很多出名的JS库,比如JQurey,Dojo等等。
<4>XML
这种语言应用很广,是一段标记文本,用来描述一个树形的数据结构,是Ajax的关键组成部分。其实HTML就是一种XML的具体化,它们是同一种东西。HTML是用来记录网页内容和结构的。XML主要是用来存储数据(比如配置数据),交换数据的。不过也可以使用JSON格式代替。
<5>ActionScript
在浏览器中有很多插件,其中很重要的一种就是Adobe的Flash。它功能强大,并支持脚本ActionScript。这种脚本和JavaScript是兼容的,但功能更强大,AS3支持面向对象。可以用它编写各种游戏,比如著名的偷菜游戏。
服务器端语言
被预处理器所理解的语言。
<1>PHP
这是目前使用得最多的网站服务器端语言,是开源产品,免费的。经常和Apache、MySQL联用,如果用在Linux上,有个简称叫LAMP。PHP是动态语言,易学易用,直接嵌入在Html中,并在不断完善。
<2>ASP/JSP
这两种分别可以使用C#、Java编程,完全面向对象,有相应的框架,不过学习可能会费点力气。
<3>SQL
关系型数据库的标准操作语言,用来创建数据库,查询,修改,插入记录。
当然服务器语言远不止这些,还有一种叫CGI的,貌似目前还有使用。语言变得越来越简单,应该是未来的发展方向。
b.客户端程序语言
网络应用有BS,CS两种结构。BS就是浏览器和服务器结构,其实就是网站。CS是Client Server结构,典型的像QQ。CS结构的客户端一般就用C\C++了,当然也可以用C#,Java之类的。Java在手机上是常见的,在PC上就很少看到了。据说在Mac中经常用一种叫Objective C的语言。
c.一些工具性的语言
<1>shell
一种脚本语言,Unix系统上很常见,功能强大,Windows上也有。可以编写批处理程序。
<2>python
脚本语言,可运行在任何平台,功能强大,应用很广。不过知之甚少,各种招聘中常常可以看到。
<3>perl
擅长于处理字符串。
<4>Ruby
日本鬼子发明的语言。
...语言实在是太多了,但都是差不多的。一口气写了这么多,休息一下,呼呼~