计算机语言的实质其实是为了让人类能够更好与计算机打交道,最终结果都是通过编译成二进制代码或通过解释器转译成二进制代码的形式,由计算机来执行。而二进制就是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就可以天下无敌了。却没想到其实内心依然是个自卑的人。
chunv女——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语言那么灵活和精于指针,但绝对“引用”了丰富的“底层”内容。更重要的是她丰富的“接口”功能,让你在享受“面向过程”的同时向往着“面向对象”的未来。只是她有时显得不合时宜的孩子气和不成熟,会稍有影响整体感情,不过总是有个未来的盼头的。
PHP是你的豆蔻年华的心上人,她是情窦初开的你今年夏天傻乎乎的追求的目标。玩一玩可以,但千万不要投入过深,因为这个女孩有严重的问题。
Perl 是PHP的姐姐。她对你来说年龄稍微大了一点,但在90年代,她是相当受欢迎的。她和Larry Wall(译注:Perl语言创始人)长期保持着亲密关系,因此她的审美一落千丈,如今她看起来是丑陋不堪。“无论你们怎么评论,我仍然爱她!”,Larry Wall说。没有第二个人会像他这样。
Ruby是脚本家族中一个非常漂亮的孩子。第一眼看她,你的心魄就会被她的美丽摄走。她还很有有趣。起初她看起来有点慢,不怎么稳定,但近些年来她已经成熟了很多。
Python 是Ruby的一个更懂事的姐姐。她优雅,新潮,成熟。她也许太过优秀。很多小伙都会说“嘿,兄弟,你怎么可能不爱上Python呢!?”。没错,你喜欢Python。你把她当成了一个脾气和浪漫都退烧了的Ruby。
Java是一个事业成功的女人。很多在她手下干过的人都感觉她的能力跟她的地位并不般配,她更多的是通过技巧打动了中层管理人员。你也许会认为她是很有智慧的人,你愿意跟随她。但你要准备好在数年里不断的听到“你用错了接口,你遗漏了一个分号”这样的责备。
C++ 是Java的表姐。她在很多地方跟Java类似,不同的是她成长于一个天真的年代,不认为需要使用“保护措施”。当然,“保护措施”是指自动内存管理。你以为我指的是什么? 
C 是C++的妈妈。对一些头发花白的老程序员说起这个名称,会让他们眼睛一亮,产生无限回忆。
Objective C C语言家族的另外一个成员。她加入了一个奇怪的教会,不愿意和任何教会之外的人约会。

(转) 假如女人是一种编程语言相关推荐

  1. 假如女人是一种编程语言

    计算机语言的实质其实是为了让人类能够更好与计算机打交道,最终结果都是通过编译成二进制代码或通过解释器转译成二进制代码的形式,由计算机来 执行.而二进制就是 0 和1,假设 1 代表男人,0 代表女人, ...

  2. 假如女人是一种编程语言(切勿按星座对号入座哦)

    计算机语言的实质其实是为了让人类能够更好与计算机打交道,最终结果都是通过编译成二进制代码或通过解释器转译成二进制代码的形式,由计算机来执行.而二进制就是0和1,假设1代表男人,0代表女人,那么瞬间就可 ...

  3. python十二星座符号_12种编程语言类比12星座女

    PS:这篇博文是一个技术群的码农写的,这哥们真有才,根据我对星座的看法,比喻得很靠谱,特转如下: 计算机语言的实质其实是为了让人类能够更好与计算机打交道,最终结果都是通过编译成二进制代码或通过解释器转 ...

  4. 机器学习编程语言_我应该选择哪种编程语言? 我应该专注于前端吗? 后端? 机器学习?...

    机器学习编程语言 by Preethi Kasireddy 通过Preethi Kasireddy 我应该选择哪种编程语言? 我应该专注于前端吗? 后端? 机器学习? (What programmin ...

  5. 2020年,最适合AI的5种编程语言

    来源 | medium 编译 | 张涛 责编 | Carol 出品 | AI科技大本营(ID:rgznai100) AI系统的开发必须有计算机代码,而计算机程序的开发有不同类型的编程语言可以选择.本文 ...

  6. 漫画:7 种编程语言的学习曲线

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 程序员 Dobiasd 绘制七种编程语言的学习曲线图. 这 ...

  7. 会写代码的AI开源了!C语言写得比Codex还要好,掌握12种编程语言丨CMU

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 萧箫 发自 凹非寺 量子位 | 公众号 QbitAI 比Codex还 ...

  8. 七种编程语言的学习曲线

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 程序员 Dobiasd 绘制七种编程语言的学习曲线图. 这些语言是 ...

  9. 哪种编程语言又快又省电?有人对比了27种语言

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|OpenCV学堂 在手机快没电时,管理软件往往会提醒我们 ...

最新文章

  1. 以系统时间命名文件方法(C++)
  2. Linux命令 -- ps
  3. 转:python模块学习 ---- smtplib 邮件发送
  4. CentOS中安装mysql
  5. knn的python代码_KNN-python代码实现
  6. python字符串转float出错_值错误:无法将字符串转换为float,NumPy
  7. 分享一段飞天R502读卡器的JAVA读卡代码
  8. 超详细!联想小新700黑苹果双系统完整教程(1)
  9. Repeated column in mapping for entity
  10. 基于Python爬取Bing图片
  11. word提示“Word上次启动失败,安全模式可以帮助您解决问题”的解决办法
  12. 安装tensorflow报错:Cannot uninstall ‘wrapt‘. It is a distutils installed project and thus we cannot accu
  13. python实现外部静态服务器,浏览器通过HTTP与之通信1
  14. Android模似器硬件加速
  15. 如何在局域网内让自己电脑的文件被其他电脑访问
  16. wps如何自己制作流程图_wps怎么制作流程图【搞定教程】
  17. 使用()关键字来创建python的自定义函数_17.python自定义函数
  18. tiny4412 裸机程序 六、重定位代码到IRAM+0x8000
  19. 图像处理与计算机视觉的区别
  20. Java的activiti的demo_activitiDemo

热门文章

  1. 基于vue自动化表单实践
  2. leetcode 88 Merge Sorted Array
  3. java mybatis XML文件中大于号小于号转义(转载)
  4. 或许每条喵咪上辈子都是陨落的码农
  5. webpack指南-webpack入门-webpack的安装
  6. 文件查找-locate find 学习笔记
  7. cisco交换机堆叠
  8. 读博文学Android
  9. 从自己实现Ruby单例模式揭秘Ruby模块内幕
  10. oracle tns 代理配置_oracle数据库tns配置方法详解