向心力
我承认,使用一种不常用的技术也有代价。你的经理担心这一点并不是完全没有道理的。但是,因为他不懂风险出在什么地方,所以往往把风险夸大了。
使用一种不常见的语言会出现的问题我想到了三个:你的程序可能无法很好地与使用其他语言写的程序协同工作;你可能找不到很多函数库;你可能不容易雇到程序员。
它们有多严重?第一个问题取决于你是否控制整个系统。如果你的软件运行在客户的机器上,而客户又使用一个到处都是bug的专有操作系统(我可没提操作系统的名字),那么使用那个操作系统的开发语言可能会给你带来优势。但是,如果你控制整个系统,并且还有各个组成部分的源码(正如我推测ITA就是这种情况),那么你就能使用任何你想用的语言。如果出现不兼容的情况,你自己就能动手解决。
把软件运行在服务器端就可以没有顾忌地使用最先进的技术。乔纳森·埃里克森说现在是“编程语言的文艺复兴时期”,我想最大的原因就是有了服务器端软件。这也能解释为什么像Perl和Python这样的新语言会流行起来,它们之所以流行不是因为人们使用它们开发Windows应用程序,而是因为人们在服务器上使用它们。随着软件从桌面端向服务器端转移(连微软公司都看出这是未来的趋势),逼迫你使用某一种语言的限制将越来越少。
至于第二个问题,函数库的重要性也取决于你的应用程序。对于那些条件不苛刻的应用,有没有一个好的函数库比语言本身的能力更重要。那么到底应该怎么选择语言?是根据函数库,还是根据语言本身的能力?很难确切地找出一条清楚的规则,但是无论哪种情况,你都必须考虑到你开发的应用程序的特点。如果你是一家软件公司,你开发的程序打算拿到市场上销售,那么这个程序可能会耗费好几个优秀程序员至少6个月的时间。为一个这样规模的项目选择编程语言,语言本身要有强大的编程能力可能就是最重要的考虑因素,比是否有方便的函数库更重要。第三个问题是你的经理担忧雇不到程序员,我认为这根本就是混淆视听。说实话,你究竟想雇用多少个黑客?到目前为止,大家公认少于10个人的团队最适合开发软件。雇用这样规模的开发团队,只要使用的不是无人知道的语言,应该都不会遇到很大麻烦。如果你无法找到10个Lisp黑客,那么你可能选错了创立软件公司的城市。
事实上,选择更强大的编程语言会减少所需要的开发人员数量。因为:(a)如果你使用的语言很强大,可能会减少一些编程的工作量,也就不需要那么多黑客了;(b)使用更高级语言的黑客可能比别的程序员更聪明。
我不是说外界因素对你没有影响,肯定还是会有很大压力,逼迫你使用公认的“标准”技术。Viaweb创业期间,很多风险投资商和潜在的并购方看到我们使用Lisp语言都感到很吃惊和不以为然。但是,我们让他们吃惊的还不止这一个地方,我们使用普通的兼容机充当服务器,而不是“企业级”的Sun服务器;我们使用那时还默默无闻的开源Unix系统FreeBSD,而不是流行的商业操作系统Windows NT,我们也没有采用SET(Secure Electronic Transaction,安全电子交易),它被认为将成为电子商务标准,而实际上现在没人记得它。诸如此类的事情还有很多。你不能让那些衣冠楚楚、西装革履的家伙替你做技术决策。潜在的并购方有没有对我们使用Lisp语言感到很难接受?稍微有一点吧,但是如果我们不使用Lisp,我们就根本写不出现在的软件,也就不会有人想收购我们。他们眼中不正常的事情恰恰就是使得这一切发生的原因所在。如果你创业的话,千万不要为了取悦风险投资商或潜在并购方而设计你的产品。让用户感到满意才是你的设计方向。只要赢得用户,其他事情就会接踵而来。如果没有用户,谁会关心你选择的“正统”技术是多么令人放心。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论