老外总结的编程技巧

最近看了一些国外的技术网站,发现还是有一些好东西的,下面给大家分享一下:

1.学习一门新的编程语言(Learn a new programming language)

学习一门新的编程语言将有助于你开拓新的思维方式,特别是当你使用不熟悉的语言时,你将学习到很多种思维方法应用到语言中。而所学习到的新思维方式,你可以运用在你所熟知的语言中。甚至有时你会使用新学的语言进行你的重要项目。

2.阅读好的且具有挑战性的编程书籍(Read a good, challenging programming book)

从书中你将学到很多,虽然实践很重要,但通过阅读好的且具有挑战性编程书籍是你改变思维方式重要的一步。这种具有挑战性的书籍包括《The Art of Computer Programming》、《Structure and Interpretation of Computer Programs (SICP)》、《A Discipline of Programming or the famous dragon book》。

当然,你可以选择一些难度较低的书籍,但要避免选择那些“傻瓜”书籍,即称能够在24小时或是21天内教会一切的书籍,从这些书中无法学习到提高编程技巧的内容。

3.加入一个开源项目( Join an open source project)

加入一个开源项目的优势是什么呢?你可以和其他人一起工作,当遇到不熟悉的代码时,你将会去研究,学习理解一个不熟悉的代码库(这应该是很有挑战性的)

4.解决编程难题(Solve programming puzzles)

你应该试图去解决代码问题;程序员在编程过程中总是尝试用最少的步骤来解决遇到的难题,而在这过程中,你可以学到语言的更深奥和更特殊的功能,从而你会不得不思考代码的创造性。

5.计划(Program)

在编程开始之时,制定一个计划,拟定设计框架并实现它。并重复该操作。通过编写代码是学习代码的最好方式。你将在错误中不断的学习、提升自己,相比于看书完成项目更加有激励性同时也带你带来更多的乐趣。

6.阅读学习代码(Read and study code)

学习著名的软件编程,如Linux 内核编程。MINIX3相对学习是一个很好的操作系统。从中你可以学到很多新的语言用法,对软件架构也能略知一二。虽然阅读不熟悉的代码比较困难,但你会受益很多。

通过阅读可以使你了解更多的API,或者是一门编程语言。

7.阅读一些编程网站( Hang out at programming sites and read blogs)

阅读不同的编程网站(如论坛和StackOverflow,或者关注公众号程序员互动联盟(coder_online))将有助于你通过其他程序员获取知识。

同时,你应该阅读大量的博客,说起软件行业中博客写的好当属Joel,(尽管他现在不在写博客了,很多有价值的文章依然存在文档里)。

当然,news.ycombinator.com.也不错。

8.书写代码(Write about coding)

在博客上练习书写代码。你也可以在不同的问答网站上回答问题。同时你也可以写一些教程(DreamInCode)。在你编写代码时,你会想着要正确编写,为了能够解释其中的问题和技术。编写代码还能够体现你的编程知识,提供你英语语法,这些在编程中都是很重要的。

9.学习基础的编程语言( Learn low-level programming)

学习基础编程语言,它们能够帮助你理解基层架构。比如C语言,或是汇编语言。

学习计算机是如何执行程序,知道操作系统是如何运作的,这是程序员最基本的要求。如果你想好好了解基础语言,你可以阅读有关计算机结构,操作系统,嵌入式系统,驱动程序操作系统开发等等的书籍。

10.有不懂得不要随便上网查(或问别人),自己多想想!(Don’t rush to StackOverflow. Think!)

代码出错时,你可能会急于用最少的时间去解决它。你会怎么做呢?上baidu(google也行)网站吗?Don‘t do this。要认真思考问题,拿出纸和笔,认真想出解决方案。放松大脑保持头脑清晰然后再重新看代码。

如果一小时后还没解决问题,再尝试上网寻找答案。但要记得,首先要自己思考解决问题哦。

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-05-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏互联网高可用架构

史上最全的架构师图谱

2574
来自专栏CDA数据分析师

Python初学者必读丨五分钟内教你如何学习Python

许多Python初学者都不知道该如何开始学习。软件工程师Daniel Moniz分享了他自己的故事,他是如何在辞职后从零开始学习Python,并找到自己心仪的工...

2397
来自专栏技术小黑屋

我学习Android的一些套路

今天我将给大家分享一下我学习Android的一些方法和想法,分享中并不局限于Android哪一块怎么学习。而是一个总体的,普适性的学习套路和方法。希望可以帮助大...

2002
来自专栏老九学堂

人工智能研发的热门编程语言:不死 Java、不朽 C/C ++,以及新贵 Python

流水的编程语言,铁打的 Java、C/C++。 ? 进行人工智能机器人研发,应该选择哪种编程语言? 而回归本文主题,对于首选编程语言的选择,没有最佳的答案,在很...

5208
来自专栏Java学习网

兴趣与坚持:程序员从初级到中级10个秘诀

  在一封与TechRepublic会员交流的邮件当中,他提到了面向程序员的博客、文章及杂志分成两类:面向初学者类(“hello world”这种类型的教程)以...

2837
来自专栏互联网杂技

如何做出优雅的搜索功能?

前言 搜索从宏观上来看有两种,一种是搜索引擎,另一种是垂直搜索。搜索引擎有 Google,Bing,百度,搜狗等等,而垂直搜索则是在大多数产品内置的对内容的检...

3096
来自专栏钱塘大数据

【干货】数据分析师的完整流程与知识结构体系

一个完整的数据分析流程,应该包括以下几个方面,建议收藏此图仔细阅读。完整的数据分析流程:1、业务建模。2、经验分析。3、数据准备。4、数据处理。5、数据分析与展...

2845
来自专栏数据的力量

【干货】数据分析师的完整知识结构

1954
来自专栏ThoughtWorks

ThoughtWorks的敏捷开发 | 洞见

ThoughtWorks的敏捷开发方法一直是一种神秘存在。在敏捷开发还没有主流化的年代,为了让外界理解ThoughtWorks全球团队怎么做敏捷,我们商定了一个...

2113
来自专栏CDA数据分析师

【干货】数据分析师的完整知识结构

作为数据分析师,无论最初的职业定位方向是技术还是业务,最终发到一定阶段后都会承担数据管理的角色。因此,一个具有较高层次的数据分析师需要具备完整的知识结构。 1....

1956

扫码关注云+社区

领取腾讯云代金券