是黑客?

程序员与拳击手_java


是整天穿着格子衫,木讷的只会和电脑交流软件开发者?

程序员与拳击手_java_02


会修电脑?

程序员与拳击手_java_03

还是其他的呢?



那说起「拳击手」手呢?可能会想到泰森、梅威瑟、邹市明这些拳王、奥运冠军等。

程序员与拳击手_java_04程序员与拳击手_java_05

程序员与拳击手_java_06

也可能会认为拳击只是暴力,是两个人比谁更壮,谁更有力,靠着蛮力在台上打架。

程序员与拳击手_java_07



今年年初,机缘巧合学起了拳击。随着不断的学习,越来越觉得拳击手和我们程序员本质都是一样的。


听我喘口气,从以下几个方面慢慢说。



一、工具箱


我们学习编程基本都是从变量,常量,循环,条件等学起,一点一点不断丰富自己的「工具箱」。后续在开发的场景中,再从工具箱中使用合适的工具来进行「创作」。

程序员与拳击手_java_08



拳击手呢?咱不说健身房的搏击操,一天能让你感觉「天下无敌」。好的教练会像教编程基础一样,从拳击的站架,腰胯的发力,直拳勾拳摆拳、滑步跳步等脚下的步法和闪避的身法训练,不断充实你的「拳击工具箱」,在比赛实战中使用工具箱中合适的「技术」来保护自己和打击对手。




二、精益求精


我们程序员都在不断调试、修改自己的程序,让自己的「作品」占用内存更小,性能更高,宕机时间更短,稳定性更高,架构更合理,设计更漂亮,更容易扩展 ...


拳击手在不断磨练自己的技艺, 出拳击速度更快,摇闪更及时,力量更大,脚下更灵活,体能和心肺功能更强,身体素质更好。



三、反常识


以 Java 程序员为例,如果遇上 OOM 中的栈溢出,如果我们根据生活常识,就会想着把栈调大嘛。但随着栈增大,带来的是 每个栈占用空间更大,反而更容易出现溢出,对应的处理方式是需要把栈往小调。再比如像像堆空间,空间不足就往大调,但GC的时间也会跟着上升,并不是加大了就有作用。


拳击手的滑步,会在想向前移动的时候通过「后脚」来发力(PS: 这里的后脚是指拳击站架里位置靠后的脚),而向后移动则通过「前脚」,会以类似「米」字的方向移动,而不是我们生活中向前走迈前脚这样。


有没有觉得我们两种角色真的很相似,在我看来,我们都是「艺术家」。



最后说说我在学习拳击多半年多之受。


首先是身体素质更好了,体脂下降了很多,协调性也好多了。像我们普通的拳击爱好者,为了技术不那么粗糙,体能可以撑下来三个二分钟的回合,为了协调性更好一些,都需要「不断」的练习。这些练习除了会使自己身体更健康,另一方面,为了保持身体素质,也会让自己更自律和克制,不会找借口不练,毕竟长时间不练退步太明显。



拳击学习之后,再看到游戏拳皇里的人物,会感觉那两个人在原地脚不停的前后动,或者身体要扭来扭去是多么机智。不动就是活靶子,就是在原地挨打啊!



除此之外,知道了拳击中跳绳,



速度球



等等各种好玩的练习工具。要不要一起通过跳绳,成为大众身边最亮的崽。


此外还在广场结识了很多老大爷程序员与拳击手_java_09,提前融入到了广场上的老年健身群体中。




写到最后,发现没怎么写出拳击的好处,惭愧。


这里友情推荐下我的拳击教练的公众号,里面有许多专业的文章,如果有朋友对拳击感兴趣,可以关注了解,或者报名学习。可以提我名字,保证不打折 :-)。这不像你在剪头发时满大街都找的到的Tony老师,而是真正的科班出身,既有比赛经验,又有教学经验。