如何像程序员一样思考?
程序员文章站
2022-04-02 12:08:52
...
能否讲一下下程序员的思考逻辑?
男孩反问:“是*,还是其他没有声音的枪么?”
“不是.”
“枪声有多大?”
“80~100分贝.”
“那就是说会震的耳朵疼?”
“是.”
“在这个城市里打鸟犯不犯法?”
‘不犯.”
“您确定那只鸟真的被打死啦?”
“确定.”老师已经不耐烦了,”拜托,你告诉我还剩几只就行了,OK?”
“OK.鸟里有没有聋子?”
“没有.”
“有没有鸟智力有问题,呆傻到听到枪响不知道飞的?”
“没有,智商都在200以上!”
“有没有关在笼子里的?”
“没有.”
“边上还有没有其他的树,树上还有没有其他鸟?”
“没有.” “方圆十里呢?” “就这么一棵树!”
“有没有残疾或饿的飞不动的鸟?”
“没有,都身体倍棒.”
“算不算怀孕肚子里的小鸟?”
“都是公的.”
“都不可能怀孕?”
“………,决不可能.”
“打鸟的人眼里有没有花?保证是十只?”
“没有花,就十只.” 老师脑门上的汗已经流下来了,
下课铃响起,但男孩仍继续问:“有没有傻的不怕死的?”
“都怕死.”
“有没有因为情侣被打中,自己留下来的?”
“笨蛋,之前不是说都是公的嘛!”
“同志可不可以啊!”
“………….,性取向都很正常!”
“会不会一枪打死两只?”
“不会.”
“一枪打死三只呢?”
“不会.”
“四只呢?”
“更不会!”
“五只呢?”
“绝对不会!!!”
“那六只总有可能吧?”
“除非你他妈的是猪生的才有可能!一枪只能打死一只!”
“…好吧,那么所有的鸟都可以*活动么?”
“完全可以.”
“它们受到惊吓起飞时会不会惊慌失措而互相撞上?”
“不会,每只鸟都装有卫星导航系统,而且可以自动飞行.”
“恩,如果您的回答没有骗人,”学生满怀信心的回答,“打死的鸟要是挂在树上没掉下来,那么就剩一只,如果掉下来,就一只不剩.”
老师推推眼镜,强忍着要昏倒的感觉,颤抖地说道:“你可以去当程序员了……” 面向过程的:
第一步怎样怎样,第二步怎样怎样,第三步怎样怎样
嗯,我找到一个捷径,可以从第一步直接跳到第三步
面向对象的:
首先找谁谁谁,然后找谁谁谁,接下来找谁谁谁
嗯,我找到一个代理人,我只要找他就可以了,后面的人让他去找吧 程序不会出错,总是忠实的执行我的命令,如果程序工作不正常,那一定是我做错了什么。 出处已不可考,我只是搬运工——
[1]. - 如果有一堆着火了的草,旁边有一个装满水的桶,应该怎么办?
- 把桶中的水浇到草上灭火。
[2]. - 如果有一堆着火了的草,旁边有一个空的桶,应该怎么办?
- 把桶装满水,然后就得到了[1]的情况。
[3] - 如果有一堆草,旁边有一个空的桶,应该怎么办?
- 点燃那堆草,然后就得到了[2]的情况。 程序员本来就没有一样的思考 所以如何和程序员“一样的思考” 前提不成立 when~then~
if~else~
do~ 抽象概括?嗯,他在思考... 想象一下自己解数学题时的各种思路,然后用一个总体思路概括这些思路。这时,你得到了图灵机的原理。然后看一下什么是图灵机,之后在心中想象一个装置,这个装置是用现有的各种设备的参数代替图灵机里的设备的参数得到的。于是,你就得到了一个脑内虚拟机(黑箱中的)。之后,遇到涉及底层的困难时,将虚拟机调出来,思考一下这个问题在底层是怎样实现的,就迎刃而解了。
照此方式,还可以在虚拟机中运行汇编语言、C语言、操作系统以及各类其他高级语言等。
不过,要注意需要将大脑的运算量集中到问题上,并把不必要的地方看成黑箱。要是想找出超过500的汇编语言的bug,请辅以Debug。 五维运算,分析问题解决问题 万物皆对象。
程序如果有错,那一定是自己的。
回复内容:
某日,老师在课堂上想考考学生们的智商,就问一个男孩: “树上有十只鸟,开枪打死一只,还剩几只?”男孩反问:“是*,还是其他没有声音的枪么?”
“不是.”
“枪声有多大?”
“80~100分贝.”
“那就是说会震的耳朵疼?”
“是.”
“在这个城市里打鸟犯不犯法?”
‘不犯.”
“您确定那只鸟真的被打死啦?”
“确定.”老师已经不耐烦了,”拜托,你告诉我还剩几只就行了,OK?”
“OK.鸟里有没有聋子?”
“没有.”
“有没有鸟智力有问题,呆傻到听到枪响不知道飞的?”
“没有,智商都在200以上!”
“有没有关在笼子里的?”
“没有.”
“边上还有没有其他的树,树上还有没有其他鸟?”
“没有.” “方圆十里呢?” “就这么一棵树!”
“有没有残疾或饿的飞不动的鸟?”
“没有,都身体倍棒.”
“算不算怀孕肚子里的小鸟?”
“都是公的.”
“都不可能怀孕?”
“………,决不可能.”
“打鸟的人眼里有没有花?保证是十只?”
“没有花,就十只.” 老师脑门上的汗已经流下来了,
下课铃响起,但男孩仍继续问:“有没有傻的不怕死的?”
“都怕死.”
“有没有因为情侣被打中,自己留下来的?”
“笨蛋,之前不是说都是公的嘛!”
“同志可不可以啊!”
“………….,性取向都很正常!”
“会不会一枪打死两只?”
“不会.”
“一枪打死三只呢?”
“不会.”
“四只呢?”
“更不会!”
“五只呢?”
“绝对不会!!!”
“那六只总有可能吧?”
“除非你他妈的是猪生的才有可能!一枪只能打死一只!”
“…好吧,那么所有的鸟都可以*活动么?”
“完全可以.”
“它们受到惊吓起飞时会不会惊慌失措而互相撞上?”
“不会,每只鸟都装有卫星导航系统,而且可以自动飞行.”
“恩,如果您的回答没有骗人,”学生满怀信心的回答,“打死的鸟要是挂在树上没掉下来,那么就剩一只,如果掉下来,就一只不剩.”
老师推推眼镜,强忍着要昏倒的感觉,颤抖地说道:“你可以去当程序员了……” 面向过程的:
第一步怎样怎样,第二步怎样怎样,第三步怎样怎样
嗯,我找到一个捷径,可以从第一步直接跳到第三步
面向对象的:
首先找谁谁谁,然后找谁谁谁,接下来找谁谁谁
嗯,我找到一个代理人,我只要找他就可以了,后面的人让他去找吧 程序不会出错,总是忠实的执行我的命令,如果程序工作不正常,那一定是我做错了什么。 出处已不可考,我只是搬运工——
[1]. - 如果有一堆着火了的草,旁边有一个装满水的桶,应该怎么办?
- 把桶中的水浇到草上灭火。
[2]. - 如果有一堆着火了的草,旁边有一个空的桶,应该怎么办?
- 把桶装满水,然后就得到了[1]的情况。
[3] - 如果有一堆草,旁边有一个空的桶,应该怎么办?
- 点燃那堆草,然后就得到了[2]的情况。 程序员本来就没有一样的思考 所以如何和程序员“一样的思考” 前提不成立 when~then~
if~else~
do~ 抽象概括?嗯,他在思考... 想象一下自己解数学题时的各种思路,然后用一个总体思路概括这些思路。这时,你得到了图灵机的原理。然后看一下什么是图灵机,之后在心中想象一个装置,这个装置是用现有的各种设备的参数代替图灵机里的设备的参数得到的。于是,你就得到了一个脑内虚拟机(黑箱中的)。之后,遇到涉及底层的困难时,将虚拟机调出来,思考一下这个问题在底层是怎样实现的,就迎刃而解了。
照此方式,还可以在虚拟机中运行汇编语言、C语言、操作系统以及各类其他高级语言等。
不过,要注意需要将大脑的运算量集中到问题上,并把不必要的地方看成黑箱。要是想找出超过500的汇编语言的bug,请辅以Debug。 五维运算,分析问题解决问题 万物皆对象。
程序如果有错,那一定是自己的。