网站大量收购独家精品文档,联系QQ:2885784924

不愿将多种编程语言杂糅在一起.docVIP

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
不愿将多种编程语言杂糅在一起?可能你还没意识到而已 之前我曾经在一篇博文中就多语言开发的问题进行过探讨,这一周来很多朋友发来了评论与邮件,其中自然不乏支持与反对的声音。其实这也早在意料之中,此类争议性话题总会带来两个不同阵营,双方分执一词吵个不可开交。 我实在弄不清楚为什么事情总要变成这样,也许这一切早在我们的孩提时代就已有征兆:那时候偏爱雪佛兰品牌的小孩儿会在福特汽车上小便,而支持福特品牌的小孩儿也乐于用污物糊雪佛兰一熊脸。也许随着年纪的增长、我们不会再纠结于超人和蝙蝠侠谁更厉害,但类似的争论却仍然经常性、持续性出现在我们身边。 我们往往会对自己 最偏爱 的语言产生过度依赖,对于任何人来说挣脱自己熟悉的一切、踏出迈向未知领域的步伐都相当困难。我们都喜欢躲在自己选定的 shell(壳) 里平静生活。从通用的Bash shell转向Zsh确实能让我们接触到一个迥异于前且突破了思维惯性的新世界,但由此带来的陌生感、失落感以及学习过程所必须投入的宝贵时间都不免让人感到恼火,有时候我们甚至宁愿抛开这一切、再度回到Bash的怀抱。这并不难理解,毕竟不是每个人都拥有充足的时间来推翻自己过去几十年中积累的经验、下定决心从头学起 无论最终成果有多么诱人,这样的成本都实在太过高昂了。 然而在不同编程语言之间游弋对于开发人员来说是一种非常理想的自我提升方式,这是永远颠扑不破的真理。无论是编程语言、shell还是应用程序,我们总是会选择那些自己最为熟悉的命令及实践方式,而且一旦建立起基本工作习惯、我们就再也不想离开这个温暖而舒适的安乐窝了。 举例来说,今天在使用Vi编辑器的时候,我仍然习惯性地连敲三次 w 键来将光标向前推向三个词距,或者按下 0 来直接将光标移至本行末尾;我当然知道可以使用 3w 或者 ) 这类更为简洁的运算符,但习惯的力量就是这么可怕。同样的道理,当需要上移至文件顶端时,我永远会本能地使用 1G 而非 gg 。这些直观反应已经溶化在了我的血液当中。 这类情况在开发工作中同样数见不鲜。我们拥有自己积累下来的函数认知、久经考验且稳定可靠的处理方法,也在自己喜爱的语言中掌握了拿来就用的操作模块。尽管我们清楚其它语言的用法,但在真正面对这些功能元素时、我们仍然会有种踏入未知水域的莫名恐惧感。 有趣的是,在多数情况下,浪费在反复使用固有方法上的时间足以帮助我们学习并掌握其它语言所提供的更为科学的处理机制。一旦我们拥有了数十次同一内容的编写经验,我们就会丧失观察其背后逻辑的愿望与理由。我们只知道我们可以将这些函数添加进来、为其填写内容,它们就自然会给出相应的正确答案。如此这般,青春就在重复中离我们而去。但如果换一种思路,立足于不同语言对同样的函数加以审视、我们往往会发现更多原先从未意识到的优化空间。用新视角观察旧代码既新鲜刺激又令人恐惧,但这也正是其意义所在。 但拨开重重迷雾,大家必须认清这样一个事实:大部分开发者已经在工作过程中使用多种语言进行程序编写 只不过很多人还没有意识到。我们所编写的代码又会编写出其它代码,而这些 其它代码 又会生成新的代码,这正是现代Web应用的特性。我们所编写的Python、PHP或者Ruby代码会生成JavaScript以及HTML。而在使用Rails等框架时,我们编写的代码会引用函数、从而为我们生成HTML、CSS、SQL以及JavaScript等结果。 在这样的情况下,无论选择哪一种核心语言、Web应用开发人员都必须在刚刚开始工作时就熟练掌握多种编程语言。当然,看起来在Rails中编写十行代码以保证Web应用能够执行某些简单功能 例如将文本字段插入到数据库当中再将返回结果显示出来 好像没什么难度,但如果大家不熟悉相关语言的真正基础,那么在尝试解决限制性问题或者检查代码问题的过程中必然会碰到很多其它更为严峻的挑战。 正如我在上周的文章中所说,选择成为一位掌握多种语言的开发者不仅能够拓宽我们的选择范围,同时也能帮助大家更清醒地意识到当前项目的实际需求与特定语言的实际功能之间存在着怎样的交集与差异。当然,最理想的情况是大家已经拥有多种语言开发能力,高山茶 eupai.net而且从事过Web应用的相关工作。 考虑到这一点,大家不妨拿出几天时间把自己已经利用某种语言编写出的成果换作另一种语言再重新编写一次,在我看来这是掌握新语言的最快方法。没错,这属于那种 重新发明轮子 的重复劳动过程,但由于模板由我们自己提供、因此我们所重现的轮子至少源于自己的创新成果。 英文:ddata-centerdont-want-mix-programming-languages-you-already-do-239907 【编辑推荐】 2014年5月编程语言排行榜:Adobe ActionScript进入top20 技术趣闻:十三种

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档