`

程序员应知 善于借鉴

 
阅读更多


作为程序员,我想每个人都对于提高和进步非常渴望,也期望自己有朝一日能够从菜鸟变成大师级的人物,能够做出很棒的系统,能够得到他人的尊敬和赞赏,当然还可以得到不菲的收入。

AD: 51CTO云计算架构师峰会 抢票进行中!

最近几天对D语言有了一些了解,据说能够具备和C、C++一样的高性能,语法类似于C#和Java,并且支持当前比较流行的语言——像Ruby和Python——的一些新特性,而且微软还提供了Visual D的插件,可以安装在Visual studio中,从而使用它来开发D语言的程序。

我们会发现,其实这门语言,在很大程度上是以往各种语言长处的结合(不知道是否实现了这一点,但目的应该是这样),与其说是一种新的语言,不如说是在借鉴了很多语言之后,组合出的一种语言。

由此我们可以发现,借鉴具有很强的力量。通过借鉴,我们能够创造出一些新的有自身特色的东西来。

说到借鉴,就不能不说创新,曾经有位朋友拿微软和苹果做过比较:微软最近几年来,在技术上一直没有非常明显的创新,似乎总是跟在别人的后面走,比方说云计算,比方说手机开发,再比方说服务式的web应用等等。而苹果的东西似乎每一种都具有很强的创新性,iPad、iPhone、手表式的ipod,还有传言中的裸眼3D功能的iPad等等,都让人能够眼前一亮。

的确,创新很棒!能够产生不错的效果。相比之下,借鉴似乎就要差一些,而且“山寨”和借鉴之间也有些搞不清楚。然而,我们也应该看到,创新其实也是建立在借鉴的基础之上,而且借鉴也能够产生很不错的效果。毕竟,创新力不是说说就能具备的,也需要长时间的积累和思考,而且还有一些天赋的成分在里面,试问世界上又能有几个乔帮主级别的人物。而借鉴往往更适合我们这些普通人,能够让我们从中受益。

作为程序员来说,也有很多地方都可以采用借鉴的方式来提升自己的能力。

比方说前几天我在百度Web app开发大会上的演讲中,谈到Web应用前端设计如何能够美观的时候,我就借鉴了版面设计的理论(来自于《写个大家看的设计书》),web应用的设计也应该遵循重复、对齐、对比、亲密性四种原则,那样就会达到美观的效果。而谈到设计需要规范的时候,我也借鉴了项目中经常会使用的代码规范,对于前端设计也一样要有相应的规范,那样才能够更利于开发和后期的维护工作。

再比方说之前的一篇blog中,我谈到了如果《以投资的观点学习编程》,这正是在听了公司投资部经理关于投资的一场讲座之后想到的,学习编程和投资一样,也有不少可以触类旁通的地方。

不仅仅如此,软件这个年轻的产业,本身很多方法都是从其他传统行业借鉴过来的,软件架构在很大程度上借鉴了建筑学的知识,而精益的理论更是来自于生产行业,我们能够看到,软件行业的发展与对其他行业的借鉴是分不开的。

而作为程序员,我们应该借鉴什么呢?

首先我想要借鉴已有的程序和项目,当我们想要完成一项任务的时候,不一定要从零开始,毕竟不是考试,我们完全可以先查看一下是否已经有类似的程序或者类似的项目,看看他们是如何完成的,而且在完成的过程中是否有相关的经验和教训,那些都是非常宝贵的财富。当然我们不是要完全地复制,而是要“批判地学习”,在理解了已有内容的基础上,加上自己的思考,从而创建出最适合我们自己的程序。在这个过程中,借鉴本身就是学习和提高的过程。

其次我想可以借鉴在非计算机领域解决问题的方式。我们知道,计算机真正广泛应用在解决问题上,也就是几十年间的事儿,之前遇到问题,传统的行业中一样可以解决,也都形成了不少方法论。那正是我们需要借鉴的地方,不一定在解决问题的时候完全要依赖于计算机,先从非计算机的方式入手,放宽一下自己的视野,可能会有更好的效果。

想要真正实现良好的借鉴,我想我们要时刻有借鉴的准备,机会总是留给又准备的人的,当我们在平时的生活中,或者是在各种书籍中,发现好的解决问题的方法时,就可以试着思考一下,是否可以借鉴到计算机领域中,这样,在以后编程解决问题的时候,可能就会不自觉地使用了。切不可把自己处于一种封闭的状态,对外界的事情不闻不问,更可怕的就是完全排斥了,根本就不接受外界的思想,那样“闭关锁国”的话,如何才能发展呢?(这里貌似也是借鉴,:))
分享到:
评论

相关推荐

    新入行程序员应知的十个秘密

    根据给定的信息,我们可以总结出以下相关知识点,这些知识点主要围绕新入行程序员应该了解的秘密进行阐述: ### 1. **选择与成长** - **关键点:** 选择一个适合自己的技术栈对于程序员的成长至关重要。 - **详细...

    程序员接活借鉴.pdf

    【程序员接活借鉴.pdf】这份文档讲述了程序员个人接私活的经历和过程中需要注意的要点,主要分为四个部分: 一、项目确立 在这个阶段,作者通过CSDN外包频道接触到了一家需要开发业务系统的贸易公司。通过积极主动...

    算法 谢路云译 第4版.zip

    算法(第4版)》是Sedgewick之巨著,与高德纳TAOCP一脉相承,是算法领域经典的...第4版具体给出了每位程序员应知应会的50个算法,提供了实际代码,而且这些Java代码实现采用了模块化的编程风格,读者可以方便地加以改造

    《算法》第四版的jar包

    《算法(第4版)》是Sedgewick之巨著,与高德纳TAOCP一脉相承,是算法领域经典...第4版具体给出了每位程序员应知应会的50个算法,提供了实际代码,而且这些》内容的摘要及更多的代码实现、测试数据、练习、教学课件等资源

    算法(英文第四版)

    《算法(第4版)》是Sedgewick的巨著,与高德纳TAOCP一脉相承,是算法领域经典...第4版具体给出了每位程序员应知应会的50个算法,提供了实际代码,而且这些内容的摘要及更多的代码实现、测试数据、练习、教学课件等资源。

    程序员简历 ,可以借鉴下载

    程序员简历 ,可以借鉴下载

    算法 第4版-谢路云 完整版 part3

    与高德纳TAOCP一脉相承 是算法领域经典的参考书 涵盖所有程序员必须掌握的50种算法 全面介绍了关于算法和数据结构的必备知识 并特别针对排序 搜索 图处理和字符串处理进行了论述 第4版具体给出了每位程序员应知应会...

    算法 第4版-谢路云 完整版 part4

    与高德纳TAOCP一脉相承 是算法领域经典的参考书 涵盖所有程序员必须掌握的50种算法 全面介绍了关于算法和数据结构的必备知识 并特别针对排序 搜索 图处理和字符串处理进行了论述 第4版具体给出了每位程序员应知应会...

    算法 第4版-谢路云 完整版 part2

    与高德纳TAOCP一脉相承 是算法领域经典的参考书 涵盖所有程序员必须掌握的50种算法 全面介绍了关于算法和数据结构的必备知识 并特别针对排序 搜索 图处理和字符串处理进行了论述 第4版具体给出了每位程序员应知应会...

    算法 第4版-谢路云 译(Java描述)-中文-完整版.pdf

    《算法(第4版)》是Sedgewick之巨著,与...第4版具体给出了每位程序员应知应会的50个算法,提供了实际代码,而且这些Java代码实现采用了模块化的编程风格,读者可以方便地加以改造。配套网站提供了《算法(第4版)》内容的

    Algorithms(算法概论)pdf

    第4 版具体给出了每位程序员应知应会的50 个算法,提供了实 际代码,而且这些Java 代码实现采用了模块化的编程风格,读者可以方便地加以改造。配套网站提供了 本书内容的摘要及更多的代码实现、测试数据、练习、教学...

    算法 第4版-谢路云 Java描述-PDF

    第4 版具体给出了每位程序员应知应会的50 个算法,提供了实际代码,而且这些java 代码实现采用了模块化的编程风格,读者可以方便地加以改造。配套网站提供了本书内容的摘要及更多的代码实现、测试数据、练习、教学...

    算法-第四版-java语言描述-: Robert Sedgewick

    第4版具体给出了每位程序员应知应会的50个算法,提供了实际代码,而且这些Java代码实现采用了模块化的编程风格,读者可以方便地加以改造。本书配套网站提供了本书内容的摘要及更多的代码实现、测试数据、练习、教学...

    算法(第四版) 谢路云译 PDF扫描版.part1.rar

    第4版具体给出了每位程序员应知应会的50个算法,提供了实际代码,而且这些Java 代码实现采用了模块化的编程风格,读者可以方便地加以改造。本书配套网站提供了书中内容的摘要及更多的代码实现、测试数据、练习、教学...

    算法(第四版) 谢路云译 PDF扫描版.part4.rar

    第4版具体给出了每位程序员应知应会的50个算法, 提供了实际代码,而且这些Java 代码实现采用了模块化的编程风格,读者可以方便地加以改造。本书配套网站提供了书中内容的摘要及更多的代码实现、测试数据、练习、...

    算法(第四版) 谢路云译 PDF扫描版.part3.rar

    第4版具体给出了每位程序员应知应会的50个算法, 提供了实际代码,而且这些Java 代码实现采用了模块化的编程风格,读者可以方便地加以改造。本书配套网站提供了书中内容的摘要及更多的代码实现、测试数据、练习、...

Global site tag (gtag.js) - Google Analytics