可怕的误导,来自(iHeavy Inc.公司的高级顾问Sean Hull的谬论... )

syeerzy 2006-05-06 11:40:25
昨晚无意随便浏览, 不小心"拜读"到 Sean Hull 先生的大作....
文章挺长,表面上是客观地对比php技术与asp.net技术,实际上,或者是作者根本不了解asp.net,或者是压根他就是php的忠实fans, 误导...超级误导.

地址我就不贴了,省的多误导些人, 提醒大家以后看技术文章多想想试试,不要轻信.

以下是摘录部分:(因为对php,本人并不很通,所以php他说对说错我也分不太出来)

......
ASP.NET 可以使用脚本语言(如 VBScript、JScript、Perlscript 和 Python)以及编译语言(如 VB、C#、C、Cobol、Smalltalk 和 Lisp)
.......
除了编程语言和方法之外,数据库访问也是要着重关心的一个因素。当您用 ASP.NET 编程时,可以用 ODBC 来集成数据库;ODBC 提供了一组一致的调用函数来访问您的目标数据库.
.......
但您得到了强健性,就将以损失效率为代价。ASP.NET 在内存使用和执行时间方面耗费非常大,这大部分归因于较长的代码路径。对基于 Web 的应用程序,这些局限可能是一个严重的问题,因为在 Web 上,您的应用程序可能扩展为每秒成千上万的用户。内存使用率还可能成为 Web 服务器上的一个问题
.......

您在选用 PHP 或 ASP.NET 时首先要考虑因素之一就是与数据库的连接。不过,利用 ASP.NET 更复杂,因为您可以从许多备选语言中选择任意一种语言。
.......

ASP.NET 与 Oracle 连接

  如果您希望利用 VB.NET(Visual Basic 是 Microsoft 的默认 .NET 编程语言)与 Oracle 连接,那么请看一下这个来自 MSDN 的示例:

Imports System
Imports System.Data
Imports System.Data.OracleClient
Imports Microsoft.VisualBasic

Class Sample

Public Shared Sub Main()

Dim oraConn As OracleConnection = New OracleConnection
("Data Source=MyOracleServer;Integrated Security=yes;")

Dim oraCMD As OracleCommand = New OracleCommand
("SELECT CUSTOMER_ID, NAME FROM DEMO.CUSTOMER", oraConn)

oraConn.Open()

Dim myReader As OracleDataReader = oraCMD.ExecuteReader()

Do While (myReader.Read())
Console.WriteLine(vbTab & "{0}" & vbTab & "{1}",
myReader.GetInt32(0), myReader.GetString(1))
Loop

myReader.Close()
oraConn.Close()
End Sub
End Class

作出选择

  假定您还没有决定选用 PHP,我可以断言 PHP 的优势远远超过它的弱点。(请参见表 1 中的概要。)这些优势归结为价格、速度和效率、安全性、跨平台适用性和开放源代码机遇。它惟一的弱点是缺少一种纯粹和完美的 OOP 实现,不过,这是一个很小的缺点。虽然语言结构的确有帮助,但好的编码最终是由实践、执行、好的习惯和规范带来的。

表 1

PHP 4 PHP 5 ASP.NET
软件价格 免费 免费 免费
平台价格 免费 免费 $$
速度 强 强 弱
效率 强 强 弱
安全性 强 强 强
平台 强 强 弱(仅用于 IIS)
平台 任意 任意 win32(仅用于 IIS)
提供源代码 是 是 否
异常 否 是 是
OOP 弱 强 强
.......
速度和效率。正如我先前提到的,ASP.NET 是一个允许您使用各种编程语言的框架。此外,它据称拥有一个极好的面向对象模型。尽管所有这些都是真的,但在考虑到速度时,它却是不利的。基于以上原因,在 ASP.NET 中运行 ASP 页面与在 PHP 引擎中运行等效的 PHP 页面相比需要执行更多代码。PHP 是一种“快速粗糙”的解决方案,是为完成工作而设计的解决方案。虽然自 2.0 和 3.0 版本以来为其增强了许多强健性,但它仍然保留着核心的优化的高速方法。
.............




原来误导是可以这样......


...全文
4622 78 打赏 收藏 转发到动态 举报
写回复
用AI写文章
78 条回复
切换为时间正序
请发表友善的回复…
发表回复
int64 2006-05-11
  • 打赏
  • 举报
回复
.Net可以用在tomcat上的
LoveCherry 2006-05-11
  • 打赏
  • 举报
回复
假定您还没有决定选用 PHP,我可以断言 PHP 的优势远远超过它的弱点。(请参见表 1 中的概要。)这些优势归结为价格、速度和效率、安全性、跨平台适用性和开放源代码机遇。它惟一的弱点是缺少一种纯粹和完美的 OOP 实现,不过,这是一个很小的缺点。虽然语言结构的确有帮助,但好的编码最终是由实践、执行、好的习惯和规范带来的。

》》这个话不太客观吧(可能说这话不是有意偏向php,但把优点放大了,缺点说小了,如果不是OOP还用的着ASP.NET)作者这个文章挺有意思的,拿ASP和PHP去比较才公平,但是我觉得也不存在什么误导不误导的,不会有多少人因为看了他的文章转向php的
LoveCherry 2006-05-11
  • 打赏
  • 举报
回复
我是02年写php的,自从php5出来后就没有摸过,最新的是5吗?就我感觉php的1、2、3、4、5的进步和asp、asp.net1.1、2.0的进步相比差多了。。。。不光这个还有开发工具那?
syeerzy 2006-05-11
  • 打赏
  • 举报
回复
这两天忙,没过来,现在回来了,看来我也误导了一些人,呵呵,误导在"误导"2个字. "误导"不表示一定是错的, 你完全可以说一句正确的话去误导别人,只要隐瞒了更重要的其他部分就行了. 或者,说一句容易让人有多种理解的话.

都是误导.我不是说上面贴的"都是错误的",而是说是"误导".

至于ASP.NET微软推荐默认语言是VB (不是C#更不是VB.NET....)....用一个控制台程序来作为ASP.NET的例子,说他不了解,没错吧? 在客观对比中明显地使用了很不客观的情感也是事实.


再回答楼上一部分人,我是99年第一次接触php,第一次写php是是01年,不过最近几年没碰,可能php进步超出我想像,但是从我过去的了解上看. 根本不是所说的情况.你们觉得呢?
lovcal 2006-05-10
  • 打赏
  • 举报
回复
初学者,看得迷迷糊糊的……

这么严重的问题希望大家说的客观一点,要不我看了都不知道怎么办是好,我现在是这个也好,那个也好,还不知道到底哪个合用呢,哈哈
MonkWang 2006-05-10
  • 打赏
  • 举报
回复
呵呵
张国辉的宝崽 2006-05-10
  • 打赏
  • 举报
回复
有什么可比的 哎
jspxnet 2006-05-10
  • 打赏
  • 举报
回复
不喜欢php 因为它没有一个统一的数据库接口。

asp.net 不知道有没有不过看到下边这个oracle 就不想用了
Imports System.Data.OracleClient

如果能改成
Imports System.Data.DataBaseClient
这样就比较好了

Androclus 2006-05-10
  • 打赏
  • 举报
回复
接分~~
sclzmbie 2006-05-10
  • 打赏
  • 举报
回复
我觉得该顾问没有什么错误,楼主水平不够,就以为别人在误导吧?!
wangjemmy 2006-05-10
  • 打赏
  • 举报
回复
〉〉〉MySpace 每天15亿page view, asp.net 2.0+win2003, 访问量全球第二,其他也不说什么了


访问量可以说明什么问题?M$ 自己的平台,还承受不了负荷,他怎么混。

负载能力是由多方面去衡量的。
.................................................................................
My space什么时候成微软自己的平台了。 那是新闻集团下面的网站,最大的web 2.0站点。
MSN.com只排第3或者第4,第一是yahoo
hearing 2006-05-10
  • 打赏
  • 举报
回复
偏向于用JSP
kkk139 2006-05-09
  • 打赏
  • 举报
回复
晕 。。。我无意评价语言平台的好坏,但看到搂主的发言,可能我属于”粪清“级别,但偶还是得说几句
且不说搂主您是否有资格去“定性”xxx 顾问的发言是否是“毛论”

客观的说,我比较认同此顾问的评论,我用过 PHP, .NET 。 .NET 多强大啊,编译,中间代码,完整的类库支持,很好的设计模式实现,完整的面向对象,再看看“该死”的PHP, 弱类型,弱弱的面向对象,直到 PHP5 ,还是弱类型,连重载都没有,实话说,用 PHP 去构建一个巨大的web应用真的有点力不从心。

不过,何谓“巨大”? 站在一个企业的立场,我为什么有免费的咚咚不用,我用M$的?(免费的好处省略一大串) 。 我部署N台 linux 的服务器,完全免费(当然除了硬件成本),你dotnet 能做到么?(别说mono了,还不成数的东西)

再说速度,没错, dotnet 是编译运行的,是快,真的比 PHP 快么? 您用 apache 的 ab 测试工具去测试一下您的 IIS 模拟 N 个并发+ N个请求去看看 dotnet 和 经过ZEND 优化器优化过的 php+apache 之间的对比,我看过一些测试资料, php 和java差不多,和dotnet的比较我不了解,不过如果搂主您未经测试就认为猫论的话,,呵呵。

再说程序员,初学者。 dotnet 的复杂性对于一个初学者来说,入门不容易,而php确是很简单的东西, dotnet 要构造一个应用,复杂度和时间耗费都比php大得多。

对于一个软件企业来说, 开发工具,和运行环境是基础设施,为了假设基础设施,我需要投入N多银子,这就是 dotnet 的强大所带来的好处么?

对于一个软件生产企业来说,开发速度和产品质量都是最重要的。

语言仅仅是一种工具,对于一个出色的程序员,无论你用 php, jsp, .net 都是一样的。既然是一样的,我可以考虑用免费的。

当盗版不复存在的那一天,当人们卖光内裤,都买不起一套 VS.net 的时候。呵呵 。。。

偶现在用 python 和 cpp,免费的gcc, web 应用和脚本程序,或者shell,我用python, 当脚本无法满足要求的时候我用 c 或者 cpp。 世界是多么美好 。。。 我不需要再受困于xxx软件公
司,我的代码可以随处运行。。 生产效率,产品质量,,,,呼呼。。。

perryhg 2006-05-09
  • 打赏
  • 举报
回复
拿拖拉机和法拉利都是机动车。很多方面的比较来看,法拉利犁地的性能不如拖拉机,由此得出结论:法拉利不如拖拉机。鉴定完毕。
cj723 2006-05-09
  • 打赏
  • 举报
回复
任何存在,都有合理的成份,其实.net的强大是不用过多地去强调,而PHP在夕阳无限之时,当然也有它的簇拥,我们应该要把更多的精力放在编程思想上,而不是具体的技术是用.net 还是java,还是PHP,因为只有编程思想上的进步,能写出或设计出高质量的代码,才是真正的程序员的出路。
charles_y 2006-05-09
  • 打赏
  • 举报
回复
谁不说自己或者自己用的东西好,
对贬低对手的说法,根本就不能全信,甚至能不能信都是问题
Ivony 2006-05-09
  • 打赏
  • 举报
回复
还有就是似乎也没误导什么吧:

ASP.NET 可以使用脚本语言(如 VBScript、JScript、Perlscript 和 Python)以及编译语言(如 VB、C#、C、Cobol、Smalltalk 和 Lisp)

有什么问题吗?
ASP.NET本来是可以使用
JScript、PerlSript、Python
活靶子哥哥 2006-05-09
  • 打赏
  • 举报
回复
我个人觉得
Asp.Net 已经远远的把Php甩在后面了,
如果asp.net1.1的时候还有人拿php说事,那2.0时他就该好好学习学习了。
smile9961 2006-05-09
  • 打赏
  • 举报
回复
mark
Ivony 2006-05-09
  • 打赏
  • 举报
回复
Commutity Server不是什么习惯问题也不是什么技术问题,而硬是这个团队的问题。
国外也不是没有优秀的论坛,Discuz!不就是从vBB抄过来的?
很多东西很多做法还保留着vBB的影子……

ASP.NET 2.0出来很久了,Commutity Server似乎也是推出了2.0的版本,但根本就不是在ASP.NET 2.0上面写的原生代码,而是让1.1的代码运行在2.0上。
加载更多回复(58)

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧