俗话说:三句不离本行,对于程序员这个可爱的群体来说也是一样。他们在编程中养成的一些思维方法会不自觉地在日常生活中表现出来。近年来,在StackExchange和Quora上也有过类似的讨论,我们这里总结了程序员日常生活中经常表现出来的8个编程思维。你有没有同感呢?
1.在正常交流中掺杂编程规范和语法
职业原因:编程语言都有自己特定的语法,程序员在开发者都要遵守这些。当然,还有一些约定俗成的编程规范,如代码缩进(是缩进4个字符还是8个字符)、注释风格,采用骆驼式(CamelCase)或帕斯卡式(Pascal)来命名变量或函数等等。
日常行为:这些编程习惯可能就会影响到程序员的日常文档书写习惯,比如写邮件时会用分号来结束一行内容等。
例子:
iWriteInCamelCaseEveryNowAndThenItAnnoysMySisterWhoReadsMyEmail.(小骆驼式拼写法)
IFyouhaveteaI'llhaveitELSEI'lljusttakewate.(利用了IF-ELSE判断语句)
2.真实生活中习惯讲操作快捷键
职业原因:程序员玩快捷键操作软件应该很熟练了,一般来说,Ctrl-C表示复制、Ctrl-V表示粘贴(对特定编辑器如Vi、Emacs来说会有不同)。
日常行为:这些快捷键有时在程序员的行为和话语中表现的很常见,这也会在一些场合引起尴尬。
例子:
"MentallytryingtoCtrl-ZonthingsIjustsaid.(Ctrl-z表示撤消,这句话意思是我收回我刚才说的话)
Inlifethereisnoundo.(生活中没有撤消)
3.从0开始计数
职业原因:大多数编程语言中的“数组”初始值都是从0开始而不是1。
日常行为:这种约定使得程序员经常在生活中数数都是从0开始,没有编程背景的人们很难理解这种计数方式,如果你的程序员朋友祝愿你在3千米长跑中获得第0名,你就偷着乐吧。
例子:
-Howmanybeersareleft?(啤酒还剩多少杯?)
-Zero,one,two,three...Wehavefourleft!(0,1,2,3,……我们还有4杯呢~)
4.生活方式不健康
职业原因:程序员写起程序来有时一坐就是大半天,眼镜不离电脑屏幕,甚至在灵感爆发时熬夜。
日常行为:作息无规律,锻炼不足,与外界接触过少。
例子:
Eatinglunchat3pmandgoingtobedat3am.(下午3点吃饭,凌晨3点睡觉)
Lackofexercise->Eatingtoomuch->unhealthylifestyle.(缺乏锻炼->吃得过多->生活方式不健康)
5.试图优化任何事情
职业原因:软件开发者会不断地优化自己的代码,让它越来越快。常用的方法有多线程处理任务、代码复用等,并在任何有可能自动化执行的情况下使其自动化。
日常行为:会尝试优化真实生活中的事情,尽量省力、快捷,往往会被认为太懒惰,比如脏衣服经常堆到一定规模,实在没有可穿的了才去清洗(往往一次全部清洗完)。
例子:
don'tsolveaproblemuntilyouabsolutely,positivelyhaveto.(不到万不得已,不解决问题)
6.过于强迫症
职业原因:程序中一般不能使用模糊语义,因为计算机不理解“差不多”,“基本”。程序中即使有一点小错误,也会导致程序编译不过、运行不起来。
日常行为:程序员也经常是过于认真,不放过任何小细节,“打破沙锅问到底”,这有时会给周围的人造成压力。
例子:
Requestingclearspecforfavorsanderrands.'Waitwhatdoyoumeanby'someeggs'?Whatisthelowerandupperbound?'"(老婆让去买些鸡蛋,会追问到底买几个啊?)
7.希望人们都和电脑一样循规蹈矩
职业原因:计算机会按照程序设定的方式运行,运行出错,那就是程序出Bug了。
日常行为:程序员有时会忽略人们是和电脑不一样的,人不可能完全按照逻辑和理性来做事,更多的是“跟着感觉走”。
例子:
Havingtoexplainwhatalogicalfallacyis,first,everytimesomeonesayssomethingcompletelywronggetsfrustratingfast.(经常去解释逻辑上存在的错误,如果人们否定整个事情则很容易感到沮丧)
8.总是想到2的乘方
职业原因:计算机存储信息的基本单位是bit(比特)。二进制系统中,每个0或1就是一个bit。
日常行为:常常不以10进制而是以2进制进行计算。一些平常的日子在程序员眼里也变得很神奇,如程序员日就是每年的第256天(2^8),也有人推荐将每年的10月24日作为程序员日(2^10)。
例子:
Everythinghastobeinpowersof2.(一切皆为2的乘方)
Imagineyouhave1,000bucks;orbetteraroundnumber—imagineyouhave1,024bucks.(假设你有1000块钱,最好这样说,假设你有1024块钱)
更多资讯尽在极悦官方微信平台《极悦Java学院》,好玩好看的资讯尽在微信平台,还有更多活动等你参与赢取奖励哦。