PHP 还是 ASP.NET:我做了正确选择么?
在2001年, 我曾面临一个选择,去学PHP或者ASP.NET。 我最终选了后者,但我依然怀疑这个选择其实不好。
那是2001年,我面临一个选择。
原文链接:http://bbs.tianya.cn/list-112764-1.shtml
设想一下,如果你可以回到过去,改写你的技术生涯。哪些重要的时刻,你会想改变?在2001年,我曾作为一家成功的网站咨询公司的共同合伙人,去处理有关 Classic ASP的事情。当时,这些事情是很了不起的。我们是一家微软产品的经销商,并且为此感到自豪!但是……
我曾用过早期的.NET 并且很痛恨它。我讨厌Visual Studio。我不知道 C#,而 VB.NET 看起来就像一个笑话。我记得我坐在奥克兰到旧金山的船上,决定学习ASP.NET的基础来应对工作,而一边又不停的问自己一个问题。
你究竟要多努力才能搞懂这些?那天我去工作,并且和我的合作人坐在一起。我告诉他 “.NET” 已经脱轨了。他笑了笑,然后那天,我们有了一次关于我们公司和我的未来的谈话。
我熟悉classic ASP,IIS SQL 服务器,windows NT/2000 – 我知道如何处理这些事情。我并不知道 Linux 或者 MySQL, 但是我通过阅读代码可以发现:新的框架其实基本上照搬Classic ASP,但有些针对MySQL和Apache的改动。
我本可以预料到这些,并且这本可能成为一个有趣的挑战。我一直喜欢学习直到现在。我可以回去买书并且在一个月内掌握这些新技术。
但是我们有一些不能流失的顾客。我必须立刻服务他们,不能中断。这种情况下,学习一个新技术平台会非常困难,尤其是我们顾客找我们的理由是因为我们是微软专家。(就像毒瘾一样,难以割舍。)
“继续做自己熟悉的事情“是个想当然的选择。问题是我过去的知识和经验并不能很好应用到.NET上。无论如何,我需要学习一门新语言和新框架。
微软统治的年代
MVP
你需要记住2001年是微软统治的年代。大型的网站是由Linux和Java构建开发的。如果你那时在硅谷,并且和别人说你是一个微软开发者,你会被嘲笑的。(现在嘲笑的人更多了)
出了硅谷,对于任何企业,微软就是答案。这些公司已经购买了微软的Window和Office,而他们现在要网站。微软是他们想当然的选择。
不幸的是,(我的咨询公司在IT泡沫事件破产)我去了一家”The Valley“的初创企业。这家企业的架构是由开源/Java/Emacs/Eclipse组成的。我是唯一一个微软程序员,服务一个全部采用微软技术的重要客户。
其他开发团队需要数周来完成在客户网站上的一个小改动。而我仅要几个时辰就可以用SQL服务器和Classic ASP达到。对于他们本打算放弃的任务,我总能给客户满意的结果。
这就是我选择成为一个微软专家和一个.NET的开发者的原因。除此之外,我曾拼命地去成为一个微软认证工程师。(我曾经做到了!)最终,我貌似成为了一个微软方面的MVP。或者说,我认为我成为了。
现在看来这实在很愚蠢,但如果你是当时的我,在那种工作环境之下,MVP的头衔意味着一切。去问问你的.NET朋友,他们会告诉你这些。
接下来的事
ods
BOM
因为对象数据源不能同数据列表绑定,所以Entity Framework不能被使用。
虽然我现在发了这条Tweet,但是很多ASP.NET的程序员依然对这个问题很茫然。这不是恶搞,这是一个微软官方的教程。
这就是我决定转行之前,我职业生涯的真实写照。
从2002到2008年,微软网站产品曾经是(现在很大程度上依然是)“可视化组件开发”。这意味着你只需要不断地拖放组件,然后让组件实现你的功能。(生成HTML,连接服务器,CSS代码等等)
这项技术使得表格必须用“数据源”这种原始方式去生成。我需要麻烦的写出一些XML文件去映射“数据源”。
这事从来没有顺利过,但我还是坚持去做。请不要问我为什么。
这些也发生了
2008年,我开始用Rails,并且立刻喜欢上了它。但这并不意味着我从此“义无反顾”的转向了。Rails令我可以,像以前开发时一样,拥有全面的反馈。HTML和CSS不再可怕。(它们对ASP.net开发者而言很可怕)代码重新成为你的朋友。
在.NET的环境下,在某种程度上,我们处理后台代码和服务器组件,而水平最高的开发者仅用最少的代码来完成程序。不知何故,在这一情形的驱使下,我们背离了我们原本的目标:网站开发者。
这一切想法向我涌来。我清楚地记得我想远离.NET的想法。但当我冷静下来,我有了个想法:
如果我将我在Rails学到的带回ASP.NET,那么会发生什么?
从此我启动了”亚声波“项目(受ruby的”活动记录“启发而写的ORM),并且尝试了5种不同的方法去构建一个基于.NET的MVC的框架。 我喜欢C#,而且微软的产品市场很大。为什么要依赖微软的研究室来决定如何写堆栈?这构成我接下来5年的职业生涯。我被认为是一个”麻烦制造者“,”搅罐器“,”抱怨者”,并且被认为是个“巨魔”。或许这些看法确实有点适合我。 “改革推动者”对我而言是个新角色。(Twitter也是)因此… 我觉得我的公关技巧还需要改善。
这有些跑题了(但还是有联系)。我真正想知道的是…
如果当时我不这么做,会发生什么?
今天提起这件事情是因为我有一次我被邀请去看一个”Ghost Blog“的模块。(作为一次随意讨论的一部分)而这个Node程序看起来就像用PHP写。
这不禁让我想到”如果我坚持用PHP,是否我会用同样的方式写Node程序“?我很可能通过一个脚本开发者的角度去看网站,并且错过了一些我从.NET开发中学到的”高级概念“。这种想法很正常,我应该会这么写Node。
这当然引发了另一个问题:我写Node程序是否和.NET开发者类似?
或许有一些。我知道我写ruby程序就是这样…那么这是个糟糕的事情?这些影响是否令我更容易扭曲我的Node代码?
我知道我将会习得很多有关Linux或MySQL的知识,并且我确定我将会参加一些有趣的开源项目,如同我写.NET时一样。我可能会迷上Rails,并且尝试将一些Rails优点带到PHP中。
好似历史就会重新聚焦到此刻,但有一个重大的不同:我将不会陷入ASP.NET的泥潭长达五年。
我认为我应该能做到:
更加了解Linux系统
更加了解MySQL和其他开源服务器。
我不会像4年前一样害怕Javascript
不再依赖开发工具
喜欢HTML和CSS
这里有一个明显的缺点:.NET阻碍我增加关于HTML/CSS/Javascript的知识。我无须告诉你这些知识是如何重要,永远不需要。
另外,我被迫使用”Visual 工具“,而且现在每天还同它作斗争。在网站项目上,我习惯于用TreeView控件来看数据库和文件里的表格。Visual开发已经被烧录进我的大脑!啊哈!
另一方面
或许当我最终决定进入Rails的世界时,这些挫折迫使我不断的学习。这团火始终和我在一起,鼓励我发了这条博文。借用Lewis Black的一句话:
my favorite joke lewis black header
要不是因为我的马,我才不花时间上大学呢!
我的马就是 ASP.NET。
PHP 还是 ASP.NET:我做了正确选择么?
时间: 2024-11-08 10:42:35
PHP 还是 ASP.NET:我做了正确选择么?的相关文章
ASP.NET MVC 做的网站项目
感谢博客园团队日夜为广大需要获取知识人们所做的奉献 博客园团队您们辛苦了 ASP.NET MVC 实现有论坛功能的网站(有iis发布网站 这是之前写的... www.lazyfitness.cn 经过一个月的修正 通过ASP.NET MVC 所做的网站www.lazyfitness.cn正式发布了!!! 这个网站不再像之前的哪样页面简陋功能单一了(毕竟之前的是一周做的...) 丰富了很多功能,还有后台管理员哦~ 值得一提的是,这个全部是基于APS.NET MVC框架实现的,我在博客园其实看到用A
ASP.NET CORE做的网站运行在docker上(不用dockerfile文件部署)
原文:ASP.NET CORE做的网站运行在docker上(不用dockerfile文件部署) 按网上的做法用dockerfile文件是可以弄得出来的,http://www.docker.org.cn/article/119.html, 不过我想把网站文件放在外面硬盘目录,再映射进去,这样只要在硬盘目录中修改CSHTML文件后重启一下容器就行了 步骤如下: 1. vs中建立ASP.NET CORE网站,类名为coreweb1 2. 发布到c:\temp\coreweb1目录 3. 先在本地CMD
带你正确选择适合自己的韩国服务器!
如何选择适合自己的韩国服务器? 如何选择适合自己的韩国服务器? 通常选择服务器时有三种方式: 1.选择价格便宜的(如果你对产品质量没有要求,就选择这一种方式); 2.选择价格贵的(如果你是土豪,请任性地购买就OK了) 3.对产品价格和性能做一个综合评价,然后选择符合自己的. 接下来,我们开始选择过程: 这里:我们要弄清楚,不一样的价格对应的是不一样的产品品质.服务品质. 下面开始正式一起探讨选择一个性价比合适的韩服务器的过程: 一. 要选择的服务器确保是在韩国本土.如何鉴定服务器是在韩国本土呢
学习笔记网站之在ASP和PHP语言及数据库选择上的3个要点[图文]
学习笔记网站之在ASP和PHP语言及数据库选择上的3个要点[图文]去年12月份,我开始着手建立一个学习类的博客网站,由于博客站点我以前就接触过,因此在网站建设方面还是有些心得的,不过让我有些拿不定注意的是:如何选择系统语言,例如ASP和PHP的选择:如何配置数据库,例如到底是选择access.mysql.微软的ms-sql呢,另外如果要选择,版本又如何确立呢?这些都是在建立环境之前应该琢磨和考虑好的,一旦实施,再想修改那就是大工程了.为此,我对ZBLOG的两套系统进行了测试:1.ASP是固定搭配
iOS 正确选择图片加载方式
正确选择图片加载方式能够对内存优化起到很大的作用,常见的图片加载方式有下面三种: //方法1 UIImage *imag1 = [UIImage imageNamed:@"image.png"]; //方法2 UIImage *image2 = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"image.png" ofType:nil]]; //方法3 NSData
如何正确选择MySQL数据列类型
MySQL数据列类型选择是在我们设计表的时候经常会遇到的问题,下面就教您如何正确选择MySQL数据列类型,供您参考学习. 选择正确的数据列类型能大大提高数据库的性能和使数据库具有高扩展性.在选择MySQL数据列类型时,请从以下几个方面考虑: 存放到数据列中的数据类型. 数据值的取值范围. 考虑性能和处理效率. 数值操作比字符操作快. 小类型的处理速度比大类型快. 不同数据表中固定长度类型和可变长度类型的处理效率是不同的. 可变长度类型在经过删除和修改操作后容易产生碎片,降低系统性能,需定期运行O
傲翼科技:正确选择棋牌游戏开发公司,打造专业一流品牌
棋牌游戏本来就是群众喜欢的文娱项目,互联网时期,棋牌游戏开发商将线下棋牌移植到互联网络上,有效填补当今快节拍生活形式下老.中.青.少年人的等车.排队 等碎片或闲暇时间,满足棋牌游戏喜好者随时随地过把瘾的心愿.玩家越来越多,棋牌运营商数量日积月累,相应的,棋牌游戏开发商也在短短几年遍地开花.济南傲翼科技,国内老牌棋牌游戏开发商.傲翼棋牌产品涵盖PC棋牌游戏系列.手机棋牌游戏系列和街机游戏系列,三大棋牌平台逾两百款精品游戏,为广阔运营商提供 棋牌游戏定制+棋牌游戏开发+棋牌架设+售后技术支持+运营培
如何正确选择境外免备案服务器
众所周知,国内的服务器是需要进行备案的,否则搭建的网站是不允许被打开的,但境外的服务器则是免备案的,所以许多站长都会选择境外服务器 .那么,境外免备案服务器租用该如何正确选择呢? 首先,我们要知道目前免备案服务器有两大类,一种是香港服务器,香港使用的是国际带宽,所以说备案方面也是跟国际准则接轨的,所以香港服务器不需要备案,站长可以直接租用后使用进行网站建设.另一种就是国外服务器,国外服务器是指在其他国家服务器租用或是托管服务器,由于每个国家对互联网的政策不一样,所以说国外服务器也是不需要备案的.
如何申请邮箱号,正确选择好用的办公邮箱
随着我国改革开放的深入,与国际步伐的不断接轨,企业的进出口市场逐渐扩大,为了更好的展示公司形象和国外客户沟通,大多数外贸企业都会选择付费邮箱,那么如何注册一个洋气且好用的办公邮箱账号呢?下面小编以TOM-vip邮箱为例,分享给大家~一.申请邮箱号1.百度搜索TOMVIP邮箱,点击进入首页. 2.点击注册,首先选择适合自己的套餐.每月最低是8.5元,单词群发最多可达400封. 3.填写邮箱信息,包括用户名,密码,手机号等,注意了,这里的用户名可以设置3~5位哦,可以是纯数字,纯字母,豹子号,生日号