假如女人是一种编程语言
计算机语言的实质其实是为了让人类能够更好与计算机打交道,最终结果都是通过编译成二进制代码或通过解释器转译成二进制代码的形式,由计算机来执行。而二进制就是0和1,假设1代表男人,0代表女人,那么瞬间就可以发现世界就变成了一台大“计算机”。而爱情和情爱也可以看成是1和0组成的二进制机器码。
假如女人是一种编程语言,也许每个男人心中都有自己最喜欢的那一个吧?我认为女人可分两类,“面向过程”和“面向对象”。“面向对象”的女人以寻找终身伴侣为目标,而“面向过程”的,则以经历难以忘怀的爱情时光为己任。各位程序猿当然也要按需选择最适合自己的“编程语言”,不要因为时髦而盲目追求“面向对象“,有时候过程可能比结果更重要。
当然了,“编程”还有多种“范式”(Fashion)可以遵循。各种语言也都有自己独特的“范式”。女人无数种,这里按流行的占星学星座(即不包括蛇夫座)分类,浅表一二。
特别声明:一家之言,仅供娱乐。莫对号入座。
白羊女——Basic语言
这是一种很简单直白的语言,很多80后程序员的启蒙语言。当然也有很多变种,比如VB的初级白痴,QBasic的清朗直率,Small Basic的小巧精致。和这种“语言”相处,过程很重要,时时保持一个漂亮的“结构化编程”很重要,不要过于追求”面向对象”,最后反而得不偿失。Basic是很容易“编译”成二进制的语言,虽然没有那么强的“底层”需求但也要防止“乱”代码,遗憾的是这只能靠程序猿自觉了。
金牛女——Perl语言
她想让自己兼有C语言、Shell、awk等等语言的优势,然而用后却发现有点四不像且反而增加了程序猿的压力。同时,这是一种有点自伤的语言,将自由给了程序猿却把伤害深深埋在心底。需要程序猿不断调整“编程”思路,不断更新“编程范式”,给出最佳的解决算法。总而言之,这是一个需要精心照顾的“语言”,永远不要让这只“骆驼”饥渴!
双子女——Shell脚本
她很强大,某些时候甚至超过C语言。她也很脆弱,也许一个简单的“rm -fr / usr”(注意那个空格)就能带来毁灭性打击。她可以完成输入输出双向重定向。她可以绝对的“面向过程”,过程的每个细节都要精心推敲,花样百出;同样也可以绝对的“面向对象”,让每一次coding都如家搬温暖,常常一些“变量”更容易让整个“编程”效率倍增。别忘了Makefile的本质也是一个Shell脚本,所以增加一个叫做Love:的目标吧,然后在命令行下郑重地运行:
巨蟹女——LISP语言
实话实说,这真的是一个又小众又“闷骚”的语言。也许和它的发明者麦卡锡博士的个性有关。说她小众,是因为使用Lisp进行开发的人少之又少,很多初学者都会被她敏感的神经吓跑,从Emacs的用户量就可以看出Lisp只能是有特定品味的人的掌上明珠,而一旦掌握Lisp就会发现真的是乐趣无穷而安全感倍增。至于说她“闷骚”,因为发现她具有一种内在而强大的“智能”,不要被她平时简单质朴的外形所迷惑,一旦其发挥出自己的能力,可以产生巨大的影响力或者破坏力,当然这种破坏力往往是自损。总之,在她温婉圆滑、如诗般清纯的外表下,是一颗闷骚率性且豪放不羁的心。
狮子女——JAVA语言
很多人都在使用JAVA,自从诞生以来就以绝对的霸气让全球的互联网都天天侧漏。而JAVA更是曾经长期霸占编程语言流行榜首位。JAVA的卖点之一是平台无关性,但不要忘了为了运行JAVA的代码需要一个非常耗费系统资源的虚拟机!最生气的是,必须强制安装平台相关的“虚拟机”才可运行。那么,这样霸气甚至是不讲道理的“语言”何以如此流行?因为她让那些自视甚高的程序猿找到了一种发泄的渠道,认为一旦征服了JAVA就可以天下无敌了。却没想到其实内心依然是个自卑的人。
处女女——Pascal语言
很多70后的程序猿是学Pascal入门的,这种架构化严谨而独特的语言,让很多人学会了严谨的科学态度。但是不要忘了,这样严谨甚至苛刻的语言,吓跑了很多向往自由和风格不羁的程序猿。更重要的是她独特挑剔的品味,敏感细腻的风格,以及纠结啰嗦的“编译环境”都让很多人望而却步,且Verbose模式常常打击人的成就感。在“编译”二进制和“底层”需求方面,她保守而不讲人情,甚至条件苛刻,往往一次莫名其妙的Error仅仅只是因为你糟糕的Coding Style。
天秤女——Ruby语言
Ruby是红宝石的意思,所以这样的女人也如此,看起来像红宝石一样高贵典雅,其实外强中干。不仅运行性能较差,而且应用领域多限于互联网应用,更无奈的是她完全“面向对象”,对过程一概忽略。和这样的“语言”相处,最重要的也许是给她以虚幻的红宝石幻象,让她时刻保有高贵典雅的气质,避免暴露出外强中干的实质,更要防止暴露出她为了提高性能,而提出的过高“底层”需求。
天蝎女——C语言
这是一个令人着迷的“语言”,也是一个难度很大的“语言”,即使是一个Hello World也是一系列库、源程序经过编译、链接以后的结果。最关键的是,她的魅力就在于其可以通过“指针”直接满足“底层”需求,当她有高涨的”底层需求”时,绝对不能给她一个“NULL指针”或者是“野指针”,否则她随时会给你”段错误“的!同时她也是一个自由度很高的“语言”,令人完全无从知道她的真实意思,也许只有真正运行之后才能知晓。所以能够完全驾驭”C语言”的往往都是操作”指针“非常熟练,”底层”需求高涨且频繁,更是保有无尽解谜热情的程序猿。
射手女——C++
首先她具有以上C语言的全部特征,这还不是最悲剧的。她更强调“面向对象”,如果为了得到她而做得不伦不“类”的话,就只能是一个只满足”底层“需求的玩物。但是她却有执着不懈的”继承“追求,而为了成为她的”对象“,必须读懂她“封装”的心,和她“多态”的世界,还有无尽的”模板“和“命名空间”来规范生活,看上去很有品味与追求。她几乎是最难驾驭的,CoolShell的陈皓曾有文章《你真的懂C++吗?》,也许看起来懂了,其实最多只是一知半解而已,当然她也饱受如此无人理解之苦。而为了驾驭她,各位程序猿前赴后继研究出了STL、Boost、“泛型”在内的多种开发模式,可是效果如何呢?
魔羯女——Lua语言
她是一个可扩展配置的语言,可内嵌在任何宿主之内。可是如果想完全收入心中,要么具有如Angry Birds那样的创意和娱乐,要么就如魔兽世界这样影响无穷。但她却不肯甘做附属和贤内助,往往要冲上前台一展身手。却暴露了她功能不多,内涵浅薄的弱点。外加“底层”功能太少,让程序猿只能“撸阿”。
水瓶女——Python语言
她斑斓丰富的世界吸引了很多向往的人,外加需求和品味的独特更是让人格外着迷。不过她古怪的空格式语法让人颇有些摸不着头脑。还有她独特的运行库更是拖慢了本可以快速运行的“爱情应用”。随着时间的推移,缓慢的效率已经将她清晰意读的性格和丰富多彩的功能,击的粉碎。所以和她相处,不仅要尽量少的与环境打交道,更重要的是快速拿下,避免夜长梦多。
双鱼女——Go语言
这是一种绝对可以并行使用的“语言”,兼有C语言的特征,而“底层需求”虽然不如C语言那么灵活和精于指针,但绝对“引用”了丰富的“底层”内容。更重要的是她丰富的“接口”功能,让你在享受“面向过程”的同时向往着“面向对象”的未来。只是她有时显得不合时宜的孩子气和不成熟,会稍有影响整体感情,不过总是有个未来的盼头的。
再次强调,这只是我个人的理解和看法,每个人都有自己对女人的认识和对计算机编程语言的理解,我这里只是简明说了一些自己的想法而已,不具备任何参考价值。
最后,祝各位程序媛 Happy Coding, Happy Loving!
转自Open Source Geek 爱开源未来
原文链接:http://tonghuix.site90.com/archives/278#.UJCE5GEkuRd
相关推荐
除此之外:mcc现在默认情况下会生成一个可执行文件,而无需像以前那样使用(或安装)lcc。 mcc cofandina.mc -o cofandina就是这样! 当前,此功能需要安装了C编译器的POSIX系统(例如Linux或Mac OS X)(相当近期的...
Logtalk是一种声明性的面向对象的逻辑编程语言,它扩展并利用了Prolog语言,并具有适合大型编程的功能集。 Logtalk支持现代代码封装和代码重用机制,同时保留Prolog的声明性编程功能。 Logtalk以高度可移植的代码...
如果你已经有一个编程强项,而对各类的编程语言都了解,都熟悉那个领域了,那我想相对我来说你已经是个大高手了,我要像你学习。 但,其实,想让自己的技术进步都得自己去研究、多看书、多查资料的,没有人连端口都...
学科:编程语言I 老师:Felipe Francisco博士学生:Ivanicio Junior 注册:17202004 描述 实施具有以下功能的超级市场控制系统: 将产品添加/删除到已售产品列表中; 执行销售(必须计算总价,并记住每种产品可以...
OCaml的严格子集SCaml是OCaml的编程语言严格的子集。 所有有效的SCaml程序也都作为OCaml程序有效。 这立即带来以下好处: SCaml可免费使用许多OCaml编程工具,例如Merlin,Tuareg,OCamlFormat,PPX等。 SCaml程序应...
者将面向对象的思想巧妙的融合在 Java 的具体技术上,潜移默化的让你感觉到了一种新的语言和新的思想方式的诞生。 但是读完这本书,你对书中这些蕴含的思想也许需要一种更明晰更系统更透彻的了解和掌握,那么你就...
R是一种开源统计编程语言。 R在工业和学术界广泛用于统计分析和数据可视化。 在本研讨会中,我们通过简单的动手示例介绍R语言的基础知识及其编程环境。 目标观众 该研讨会是为R编程的初学者设计的-不需要R编程的先验...
Django Girls教程,对于初学者来说是完美的,该教程具有一种流畅且易于访问的语言,可以适应所有层次的学习 英语: 官方文件 实际应用: Django Girls网站,例如: Django Girls Cajazeiras和Django Girls ...
有人会说这是一种可爱的方法,但是我一直以来都听说过,高个子男人自然会被矮小的女人yadda yadda吸引。 我就像我的/ bin / false smol一样,就是这样。 尽管到目前为止,我对Crystal还是很满意,但是结果还没有...
NoteWorx自述文件一个基本的笔记管理Web应用程序,已使用最新的 , , 和构建。... -一种多范式编程语言,包含强类型,命令式,声明式,函数式,泛型,面向对象(基于类)和面向组件的编程学科。 Core-ASP.NET