几种主流网页开发语言的思考(上)

简介:

原文网址:http://www.blogwind.com/Wuvist/comment.aspx?Article_id=7245

在开始学网页开发的时候,我学的是ASP。

后来,慢慢的,总是对php想入非非。

书也买了不少,可惜,偶笨笨的,总是搞不太订php的安装,一看到需要自己手动修改文件、配置,就觉得头大。

相比之下,在windows下,玩ASP则是太简单了,安装一下IIS/PWS,一路next,便可以玩了。

对于很多windows用户,是很不能习惯直接修改ini文件这样的配置方式的,包括我。

或者,可以这么说吧,php的初学者会逼asp的初学者高级那么一点点。玩php的,好歹会懂得如何自己折腾着安装php。

php安装上的折腾过程,可以说是一个学习的过程,也可以说是入门的一个很小很小的门槛吧……偏偏这么个小门槛,有些人,可能永远都不能够、或者是不愿意跨过去。

不过,现在也应该有一些apache/php/mysql的安装包,应该也是一路next就可以玩了。

用jsp的人比较少,偶虽然偶尔也对jsp有点好奇,但是一直没有理由、心情去学习它。

今天,因为自己摆了个大乌龙,终于还是把tomcat 5.5.8当下来,居然,也就一路next之后便可以用jsp了。

而且,好像还是apache tomcat。

well,这也许是说明asp/php/jsp这三种网站开发语言的“门槛”都已经变得一样低了。

asp.net也是差不多低,windows 2003是默认支持asp.net,反倒是asp需要做过设置之后才可以支持。

 


 

或者,我应该这样子划分一下,asp跟php(php 4,不讨论php 5)是属于同一个档次,而jsp与asp.net在另一个档次。

asp跟php其实用的还称不上是语言,他们只是脚本,并且是弱类型的脚本。

他们都是不分数字与字符串不分。

变量a,b的值都是1,那么a+b究竟应该是“11”这个字符串,还是2这个数字?

(我知道asp有&,php有.这两个操作符,但请看下去。)

在asp/php里面,是没有严格的方式对这些情况做很好的控制,有的时候,便会出现这样那样的问题。

我们经常可以看到结尾类似“?id=1”的网址,asp/php的初学者,便经常犯没有验证id是否为数字的错误,给SQL注入攻击大开方便之门。

这一方面是初学者没有经验或者是说懒惰;但另一方面造成这样问题的根源之一是asp/php是弱类型语言的缘故。

asp/php都是脚本,所以,他们背后有着强大的函数库。

很多事情,直接调用相应的函数名称就是。

代码短小、精悍。

对asp/php熟悉了之后,巧妙的将他们的代码插入在html代码中,便可以做出很多精彩的动态网页了。

asp/php与html的代码混和在一起,看起来很乱,但是,熟练的asp/php程序员是不会觉得乱的,他们知道应该在哪里插入些什么,并且这样子的插入、混和代码有的时候是很方便的。

杀鸡焉用牛刀?

不过,企图使用鸡刀杀牛的时候,便很痛苦了。

原因之一,asp/php都是脚本,你没有办法编译他们。

compile error/run time error/warrning等等,都是要等到你在浏览器中查看的页面的时候才会知道。

并且,浏览器给出的错误信息并不是非常有用。

特别是asp,有的时候,便只是一个笼统的500 error,开发者是没有办法很快的知道错误究竟在哪里,只能依靠血与泪换来的经验。

“ASP会使人疯狂”在很长的时间里面是我在各种论坛上的签名,指的便是这个问题。

php相对而言,会比asp好一点,但也只是一点而已。

举个例子吧……

在默认情况下,asp/php里面变量是不需要声明的。

当你第一次调用的时候,便会自动生成。

那么在程序中,你不小心把变量data或者是$data打成了deta或$deta。

当这个错误的变量名隐藏在数以百行计的代码中时,你有可能抓狂至死也没法把它揪出来。

 


 

asp与php各有支持者。

个人觉得php好一些。

第一个理由::<??>比<%%>容易输入。

我不知道天杀的asp/asp.net/jsp设计者们为什么要选如此难以输入的:<%%>。

第二,php默认带的函数库比asp丰富。

至少,它可以处理文件上传。asp便需要组件,或者写无组件上传类了。

对于asp/php这样的脚本来说,函数库的丰富与否,是相当重要的。它决定了什么事情是你可以做的,什么事情是你不可以做的。我是说,不是每个人都会懂得如何写asp的无组件上传类。

我所指的是默认的函数库,大多数asp/php开发者使用的是虚拟主机,他们是没有办法要求服务商给他们在服务器上安装他们需要的组件/extension的。

asp跟php在分别加上了组件/extension的支持后,能作的事情便很多很多了,没法怎么比较了。

第三,默认数据库支持。

asp一般都是使用Access的,而php则是mysql的。

做web development,数据库是至关重要的,它也可以说是决定了你可以做的事情的范围。

一个日浏览量数万IP的网站是没有可能用asp+Access做出来的。Access支持不了这样数量级的访问量。而mysql则没有这样的问题。

用asp+access的网站做大了以后,一定需要转移到别的数据库上,比方说,MS SQL。php+mysql的网站要做大到需要转移到php+Oracle的情况便少见很多很多了;这个转移有可能不会出现,即使出现也会比access到MS SQL的转移迟很多很多。

不是说Access不争气,而是说Access本来就不是作来给网站用的。靠Access吃饭的程序员跟靠asp+access吃饭的程序员是两个不同的概念。

微软的数据库产品MS SQL与Access之间似乎还应该有多一个东西,这个东西应该是MSDE吧……问题是,MSDE出来得晚,并且非常不普及,微软也似乎从来没有怎么推广过MSDE。

如果,现在普遍的是asp+MSDE网站开发而不是asp+Access;我应该会更加喜欢asp一些。

(个人猜想而已,我对MSDE并不了解。)


本文转自 Wuvist 51CTO博客,原文链接:http://blog.51cto.com/wuvist/847759

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
存储 C++
学习C++笔记91
C++ 存储类
221 0
|
4天前
|
人工智能 API 内存技术
刚刚 DeepSeek V4.1 Flash 开启内测,1 分钟教你用上!
刚刚 DeepSeek 内测群发布了 DeepSeek V4.1 Flash 中间版本内测的消息,这次的模型采用了新的结构,原生支持多模态、能力更强、速度更快、且成本更低。
1669 5
|
8天前
|
人工智能 运维 BI
阿里云千问办公QwenWork深度解析:基于Qwen3.8,六大核心能力重构企业全自动化工作流与计费选型指南
传统AI办公工具大多停留在对话问答、文档摘要、简单文案生成层面,只能完成单点碎片化任务,无法自主拆解复杂业务流程,很难串联多工具、多文档、外部业务系统完成端到端完整工作交付。很多企业在落地AI办公的时候,需要组合多款不同工具,来回切换界面,手动复制粘贴中间结果,智能化改造落地门槛居高不下。千问办公QwenWork是整合多款智能体产品能力打造的一体化企业办公智能体平台,底层基座依托Qwen3.8大模型,打通桌面端Agent、云端Agent、企业协同Agent三种运行形态,不再局限简单问答,接收业务目标之后自主拆解任务步骤,调用各类工具,处理文档、表格、浏览器自动化、数据查询,直接输出可交付的办公
1613 1
|
5天前
|
SQL 人工智能 前端开发
QoderWake 1.0 正式发布:从桌面里的 Agent,到工作现场的数字员工
QoderWake v1.0正式发布:企业级数字员工团队平台。支持“一句话建岗”,预置10类特训岗位;Waker常驻钉钉/飞书群,@即响应、自动协作、跨任务记忆;具备定时/事件/API多触发方式与统一任务看板;已沉淀27.6万条记忆、12.3万项技能,助力组织实现人机协同增效。
713 1
|
17天前
|
人工智能 自然语言处理 安全
阿里云千问办公、Qoder Teams、Qoder CN区别与选择指南:模型能力、适用场景与最新活动参考
本文聚焦阿里云2026年推出的三款自研AI办公产品,清晰拆解千问办公、Qoder Teams、Qoder CN的差异化定位与能力边界:千问办公主打职场全场景提效,支持自然语言指令一键完成PPT生成、数据分析等高频办公任务;Qoder Teams面向程序员团队,深度整合AI代码生成、团队协同与企业知识库能力;Qoder CN则专为金融、政务等强合规场景打造,实现数据不出境与VPC私有化部署。文章同步给出分场景选型指南与最新活动定价,帮助不同类型的企业按需组合产品,实现业务岗、研发岗与强合规场景的AI能力全覆盖。
3873 5
阿里云千问办公、Qoder Teams、Qoder CN区别与选择指南:模型能力、适用场景与最新活动参考
|
8天前
|
人工智能 自然语言处理 安全
阿里云AI数智鉴密:AI 生成内容如何拿到一张"防篡改的身份证"
隐形水印 + C2PA签名:让AI生成内容“持证上岗”。
1142 0
|
9天前
|
网络协议 Linux iOS开发
【2026实测】Wireshark下载+安装+汉化+使用教程(图文版,巨详细)
Wireshark 是一款免费开源的网络协议分析工具,可实时捕获、解析并可视化数据包,助你诊断网络故障、分析通信协议(如HTTP、DNS、TCP等)。支持Windows/macOS/Linux,含中文界面,新手入门便捷。(239字)
|
3天前
|
缓存 测试技术 API
DeepSeek V4.1 Flash 内测接入:改个模型名即可调用(附代码)
DeepSeek V4.1 Flash 内测不用申请,base_url 不变、改个模型名就能调,9/10 到期。本文讲清接入、计费限流与多模态注意点。
692 0
DeepSeek V4.1 Flash 内测接入:改个模型名即可调用(附代码)