编程杂谈

 
其实也说不上谈,只是自己从大一开始接触编程,语言开始,就没离开过这玩意儿,一直以来也没觉得有什么异样,从 C到C++,再到Java,顺便还摘了个Python(只是知道一点皮毛),似乎已经很完备,可以兵来将挡,水来土淹了,但每次到真正想写个像样的东西出来的时候,却总是因为各种原因半途而废或是成就了一堆垃圾代码。我这人属于比较后知后觉的那种,所以就这样一直混混沌沌的过着。直到这个学期刚开始的时候我遇到了一个已经在上海工作了半年的学长,我和他聊了起来,我问他说编程最重要的东西是什么(我这人有时候喜欢装深沉),他几乎是毫不犹豫的回答了我:Thinking Model。他见我有点愣愣地样子,于是接着说:Thinking Model顾名思义就是思维模式,思维模式简单来说就是给你一个问题,你怎么考虑它,用什么思路去解决它,举个例子来说,我在上海工作时,我公司的一个团队有一个数据库效率的问题,整整一个星期都没能解决它,也就是没有找到速度瓶颈,而我拿到这个问题只用了一个下午就解决了,为什么呢,因为我一看这个问题我就知道解决这个问题的思路,我知道用什么方法,而且我知道肯定行,这是寻找速度瓶颈的问题,你只要将代码拆得很细,加入显示时间的代码,耐心点,肯定能找到引起速度瓶颈的地方,而他们却只会对整个函数进行测试,查阅整个代码,因此一个星期都找不出问题所在。这只是一个很简单的例子,却能很好的说明什么是Thinking Model,而Thinking Model你在平时实践,编程时通过思考锻炼出来的。他看我听得很入神,便接着说:人的思维模式有三个层次:What, How, Why。也很好理解,What是你知道这个东西是什么或这是要解决一个什么样的问题,How是你通过学习了解这个东西怎么样,如何使用或这个问题如何解决等,而Why则是最深层次的思维,这个东西为什么是这样,或者为什么用这种方法,甚至可以想这个方法还可以解决什么类似的问题,能不能改进这个方法或有更好的方法。而一般人只会去想What,How,很少有人会遇到问题就想一想Why,而这正是思维模式的精髓,以后你遇到任何问题,只要你有良好的Thinking Model,不管你以前是否遇到过类似的问题,你都能很快地想到好的思路。这时我听的甚至有点入迷了,其实这个道理隐约高中做题的时候就有这种感受,只是我们不知道从这个角度去考虑。我这时有点和他相见恨晚的感觉,心中的很多困惑也好像全部都自动躲藏起来了。后来自己细细一体会,便更有感触,其实我们编程也没什么不同,很多人一开始就在为应该学什么语言而纠缠不清,困惑不已,问学长,上网查,网上也有很多论坛帖子经常探讨这个问题,好像可以从中可以挖到宝一样,你学编程干什么呀,还不是来解决问题的,不能解决问题,你学什么什么语言顶个屁用啊!所以记住一点:编程是用来解决问题的!!!(当然解决问题包括很多方面:满足用户需求,提供更好的用户体验。。。这些要在实践中通过多思考Why来获得锻炼)
 
再说一说对编程的态度。上面提到的那位学长接着又说了一句话:软件是一种艺术,对软件的态度就是一个人对自己人生的态度。当时听完这句话的感觉就像是刚刚从一场大梦中苏醒一样,整个世界好像清晰了很多,很多在头脑中杂乱已久的事情顿时自动解开。对,软件就是一种艺术,是一种美,是程序员用自己的智慧创造出来的一种美,有时候这种美是可以让人感叹,让人窒息,就像你在看到一个美仑美奂的 3D画面或是一个无比绚丽的游戏场景那种感觉一样(你可以想像一下魔兽世界里的那些画面,要知道那都是一行代码一行代码写出来的),当你感慨这种美丽的时候,你也会有一种想创造这种美丽的冲动,所以你会用你的智慧用你的灵感和创意去创造出更多更美好的softwares。而艺术的创造是需要一个艺术家的执着的追求,就像任何其它艺术品一样,软件艺术也需要你用心去体验,需要精雕细琢,需要你执着地去追求,追求更快,更好,更美。一个人对软件的态度就是一个人对自己人生的态度,人的一生也需要在不断追求完美中进步,并且执着地追求自己热爱的事物和生活。所以,记住:软件是一种艺术,编程是在创造艺术,在不断追求完美中体验美,在执着的追逐中寻找快乐。
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值