今天在学习3d建模的时候,发现一个有趣的东西:3d建模的模型,如果要方便使用在各种软件当中的话,需要规範协议,这个协议是collada协议(好比我们逛网页的时候,只有协议一样,才能保证,网站发给我们看的,和我们看到的是一致的);而这个协议的编程方式和com很像;
看到编程两个字的时候,引发了我的思考:
什么是擅长编程?怎么理解自己擅长编程呢?
先说结论:任何领域,只要牵扯到编程的部分,都能快速上手,别人花很长时间都不懂,懂了做不出来(实现功能);但是擅长的人很快就能懂,而且懂了就能一步一步实现;
我有个朋友喜欢弹钢琴,有几次大家一起聊天的时候,她都会找个公共的钢琴,弹给我们听;她常常会弹一些练习曲,和即兴的弹一些流行音乐,或者圣歌;后面两个没有谱子,只靠自己听过,就能弹出来;有点儿像,只是听了歌,就能唱出来,而且很标準;她说:这个不是每个会钢琴的都会,看个人;如果说自己擅长唱歌,那么一首歌来了,上手就会很快很标準,而五音不全的普通人练习很久都还跑调;这就是擅长的感觉;
为什么能够快速上手?擅长的人能抓到更多的细节,同样的一件事情对于擅长的人来说,可以吸收到的信息量非常多,这些信息多到能让擅长的人重现这个事情;例如:最近找了新工作,公司有一套系统,同事向我介绍了一个下午,我就大概清楚系统的大体框架了,然后几个功能也都记忆犹新;事后补写文档纪录一下;如果我新做一个功能,请对方在哪个部分加进去,也清楚了;我并非一开始就能够做到这样,而是可以练习出来的,写程式的过程中,开始慢慢喜欢上了系统设计和功能设计,这些偏设计的部分,很多人都喜欢跳过这个部分,直接简单构思一下就开始做,但是因为我有兴趣,所有就会话时间设计,虽然很多的设计都是简单到甚至不需要图,但是设计的时候我就能找到很多的问题和细节;
为什么能够做到别人做不到的?细节很多的时候,掌握到的材料也就更多,再去找缺少的部分,就能够拼成一个完整的图了;做不到是因为知识框架不够,看不到足够多的细节,不知道自己有什么,也不知道自己缺少什么,就无从下手;