假如女人是一种编程语言
计算机语言的实质其实是为了让人类能够更好与计算机打交道,最终结果都是通过编译成二进制代码或通过解释器转译成二进制代码的形式,由计算机来执行。而二进制就是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
相关推荐
CG语言全称为“Cg”,是“C for graphics”的缩写,是一种由NVIDIA公司开发的高级编程语言,专门用于编程GPU(图形处理器)进行图形渲染。 GPU编程主要关注于GPU的并行处理能力,能够将复杂的图形渲染任务高效地...
这篇独特的小文以比喻的方式介绍了多种编程语言的特点和历史,让我们深入理解这些语言的内在性格。...每种语言都有其独特的魅力和应用场景,选择合适自己的“女性”(编程语言)是成为一名优秀程序员的关键。
除此之外:mcc现在默认情况下会生成一个可执行文件,而无需像以前那样使用(或安装)lcc。 mcc cofandina.mc -o cofandina就是这样! 当前,此功能需要安装了C编译器的POSIX系统(例如Linux或Mac OS X)(相当近期的...
1. **C/C++编程基础**:C和C++是两种强大的编程语言,它们被广泛用于系统级编程、游戏开发、嵌入式系统和高性能计算等领域。C++是C语言的扩展,提供了面向对象的特性。 2. **系统垃圾清理脚本.bat**:这是一个...
而JavaScript则是一种真正的编程语言,它能实现交互性,如响应用户操作、处理动态内容、与服务器通信等。JavaScript可以嵌入HTML中,或者作为单独文件引用,通过DOM(文档对象模型)来操作HTML元素。 HTML5是HTML的...
Java是一种广泛使用的高级编程语言,其设计目标是具有简单性、面向对象、健壮性、安全性和跨平台性。Java的基础常识包括理解软件的定义,它是由计算机数据和指令组成的集合,分为系统软件(如Windows、Mac OS、Linux...
C++是一种通用的、面向对象的编程语言,由C语言发展而来,具有高效、灵活和可移植性等特点。它广泛应用于系统软件、游戏开发、服务器端应用等领域。 从压缩包子文件的文件名称"study-language-main"来看,这可能是...
Java编程语言是面向对象的、跨平台的编程语言,由Sun Microsystems(现为Oracle Corporation的一部分)于1995年发布。它以其“一次编写,到处运行”的特性而闻名,这意味着编写好的Java代码可以在任何支持Java的平台...
标量编程是一种编程范式,它着重于单个数据元素,即“标量”,的处理。在计算机科学中,标量通常指的是基本的数据类型,如整数、浮点数或布尔值。标量编程强调的是对这些单一数据单元进行操作,以构建更复杂的算法和...
Logtalk是一种声明性的面向对象的逻辑编程语言,它扩展并利用了Prolog语言,并具有适合大型编程的功能集。 Logtalk支持现代代码封装和代码重用机制,同时保留Prolog的声明性编程功能。 Logtalk以高度可移植的代码...
在网页模版中,用户可以节省大量的时间和精力,尤其是对于那些不具备高级编程技能的用户来说,模版提供了一种快速建立网站的方式。 在压缩包文件名为“chahua1818”的情况下,我们可以推断这可能是一个具体的模板...
本次实验的核心是研究并实现一种能够产生稳定匹配的算法,即著名的“盖尔-沙普利(Gale-Shapley)”算法,又称为“医院-住院医师问题”,它由数学家戴维·盖尔和劳埃德·沙普利提出,广泛应用于婚姻问题、实习医生...
要求用两种方法计算:1) for 循环,计算前 50 项 2)while 循环,直至最后一项的值小于 10-4 这个问题考察了循环语句的使用和实现,包括 for 循环和 while 循环的应用。 三、数组操作 使用数组,编写一个十进制正...
C语言编程练习题集锦 本资源摘要信息涵盖了 C 语言编程的多个方面,包括数学运算、字符串处理、...这些资源摘要信息涵盖了 C 语言编程的多个方面,旨在帮助编程新手或编程爱好者快速掌握 C 语言编程的基本技能和技术。
标题中的“漂亮的女人资讯门户源码”指的是一个专门针对女性信息的网站源代码,它可能是用ASP编程语言编写的,ASP是一种经典的服务器端脚本语言,用于构建动态网页。源码意味着包含了整个网站运行所需的全部代码,...
Word2vec是一种基于深度学习的方法,由Tomas Mikolov等人在2013年提出。它包含两种主要模型:Continuous Bag of Words (CBOW) 和 Skip-gram。CBOW模型通过上下文词预测目标词,而Skip-gram则是通过目标词来预测上...
Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。它的设计目标是具有高度的可移植性、安全性和性能,使其能够在各种操作系统和硬件平台上无缝运行。 1. **...
【标题】"基于PHP的最新精仿4738女人世界门户源码.zip" 提供的是一个使用PHP编程语言开发的、高度模仿“4738女人世界”门户网站的源代码包。这样的源码通常包含了构建类似网站所需的所有组件,包括前端用户界面、...
如果你已经有一个编程强项,而对各类的编程语言都了解,都熟悉那个领域了,那我想相对我来说你已经是个大高手了,我要像你学习。 但,其实,想让自己的技术进步都得自己去研究、多看书、多查资料的,没有人连端口都...