专栏首页编程我给所有新手程序员的建议

我给所有新手程序员的建议

欢迎来到编程的世界!

1. 编程真的很难

无论你多擅长编程,唯一能降低开发速度的,就是学习和解决问题的能力。而当你越是擅长编程的时候,这种情况就可能越明显。这是一个非常吸引人的特质—你永远不会厌倦编程。如果你厌倦了,那么你的做法肯定是错的,你应该去总结思考你在重写的代码。

2. 编程也会是最令人沮丧的事情之一

编程的一般步骤是:尝试解决问题 受挫 更努力地尝试 回顾 顿悟之后最终把程序运行起来。感到沮丧太正常了,而且这种感觉永远不会完全离去。(当你能力更强的时候,你将会面对更加困难的问题,因此也会存在同样的情况)。但这种沮丧的感觉,将使得解决这个问题感到更加地满足。因此你需要去适应在这种沮丧的感觉中工作。

3. 无论问题多么复杂,总会有其对应的解决方案的

当你的编程技能逐渐提升的时候,你也将更擅长也更有信心使自己保持平静,不陷入沮丧抓狂之中。这会使得沮丧的感觉变淡,同时也将促使你去解决更加困难复杂的问题。(如果问题太简单了,你甚至会觉得无聊的!)

4. 编程不是每个人都能做的

当我们还是孩子的时候,我们做不好任何事,但是我们也没有意识到这些。然而作为成年人,我们几乎没有机会去搞砸某些事。拥抱这种感觉吧。这太正常了,因为你在做的事,并不是每个人都有能力做的。

5. 要知道和你编程的第一个小时相比,练习 10 小时之后将会完全不同

同样的,当你完成100小时的练习之后,事情又更不一样了。曾经有个人在博客上写到当他在高尔夫上练习一万小时之后,水平产生了质的飞越。编程也是这样的。

6. 如果程序员是巫师哈利,那编程是基础的魔法

我们努力学习,钻研“课本知识”(计算机+互联网),学习“单词拼写”(程序)。巫师也可以教其他巫师如何使用他们的魔法。我们也可让这样的情景在地球上实现,去创造每个人都可以使用的神奇的设备。(就像互联网和手机)。即使没有我们“施魔法”,这些设备同样可以做一些不可能的事情。

7. 用好互联网

在你开始学习编程的第一年,你所遇到的每一个问题都是其他100个人已经遇到的。解决方法在网上已经记录下来了。你越快的学会有效的使用 Google 寻求帮助,你也将变得越开心。提示:如果你不明白代码的原理是什么,永远不要直接从网上复制。

8. 善于总结经验和技巧

作为程序员,无论何时,我们都要带一个工具箱。工具包含了我们解决问题的所有技巧。你所学的第一个对象(比如变量、for 循环等等)就像我们的螺丝刀和锤子。在你的编程生涯中将会每天都使用它们。当逐渐熟练的时候,你将开始学习如何使用更加高级的工具,这些工具可能不会被经常使用,但是却在解决特定问题的时候非常有效。(比如数据结构中的树、A* 算法、valgrind (内存调试工具)、调试器等)。大部分开发领域(游戏开发、 web 开发、数据库)同样也有着各自领域内的特定问题和解决方案。其结果就是,你所解决的任何问题在下次遇到的时候将会简单很多。

9. 每个写好的程序,都是一步一步编码而来的

你几乎可以在你的计算机上阅读、修改、测试任何项目,同样也包含大部分别人写好的项目。对计算机来说,这基本上就是一项超能力。

10. 坚持大量实践

在开发上有所进步的最好方法就是大量写程序坚持做东西。作为老师,在我力所能及范围内我将会给予帮助。但是一旦掌握了足够的知识储备,你将有能力弄懂我告诉你的任何事情而不需要太多时间。所以坚持写程序吧。正如一位智者曾经告诉我的:“只要有耐心,成功不可避免。”

11. 多读优秀代码

有太多的程序员比我们聪明了。他们写了很多代码,只要你需要你都可以阅读。这些代码很有可能在 Github 上。

12. 据说,你所学的第二种编程语言将会是最难的

第一门编程语言将会塑造你对程序的思维模式(严肃脸!),当学习第二门语言的时候,你将不得不陷入前面的思维模式中。(丝毫不影响大脑思维方式的编程语言根本不值得学习)。但是当完成第二门语言的学习之后,你将能够很快的学会其他新的语言。现在我可以在一周的时间内把任意一门给定的命令式语言学得足够熟练。

13. 没有所谓的“最好的语言”

某些语言和工具只是在解决特定对应的问题时比其它的要好一点。当学习新的语言的时候,不要尝试把你过去的思维模式带到新的语言系统中。相应地,我们应该学会如何更“地道”用新语言编程。

14. 放松心态、保持“单纯”

编程是一个巨大的乐高积木集合,充满了各种需要被解决的有趣的问题。为了深入弄懂其中的构造,花时间去编写有趣的程序,将比给你任何任命都要有趣的多。

15. 最优秀的程序员总是在工作之外自己也一直尝试编程。

如果你真的非常喜欢且擅长这样,你将永远不会失业。

16. 当你卡壳的时候,在纸上写下你的程序。我是认真的。

这非常神奇,是在编程竞赛中的标准训练模式。(我认为这个方法有效的原因是,当你不必花费精力去考虑语法的时候,你会有更多的精力去思考问题的本质和如何解决它)。

之前我也时不时给出了其他建议。但正如大多数建议一样,如果某件事对你真的很重要,相信你自己会主动去研究清楚的。

本文来自企鹅号 - 尚学堂java学院媒体

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java程序员如何提高自己的编程能力

    编程对于一部分人来说是一项工作,但对于真正喜欢编程的人来说,不仅仅是一种知识,更重要的是一门手艺。其实大部分人学习编程都希望自己的工作生活变得更好。既然明白了编...

    企鹅号小编
  • 少儿为什么要学编程:程序才是未来世界的通用语言

    “不要只是买一个新的电脑游戏,自己做一个;不要只是下载最新的应用程序,帮助设计它;不要单纯在手机上玩,编写它的代码。无论你在城市还是农村,电脑将是你未来的重要组...

    企鹅号小编
  • 90%家长都不知道关于少儿编程的这些疑题!

    2017年7月,国务院印发《新一代人工智能发展规划》。其中明确提出:广泛开展人工智能科普活动。实施全民智能教育项目,在中小学阶段设置人工智能相关课程,逐步推广编...

    企鹅号小编
  • 聊一聊少儿编程

    1984年,邓小平的一句话开启了中国计算机的新篇章“计算机普及要从娃娃抓起”。而且在2017年浙江省就明确表明,Python将纳入浙江省的的高考。如果说这离我们...

    算法与编程之美
  • 编程小白 | 每日一练(141)

    这道理放在编程上也一并受用。在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从编程小白进阶到高手,需要经历的是日积月累的学习,那么如何学习呢?当然是每天都...

    C语言入门到精通
  • Java程序员如何提高自己的编程能力

    编程对于一部分人来说是一项工作,但对于真正喜欢编程的人来说,不仅仅是一种知识,更重要的是一门手艺。其实大部分人学习编程都希望自己的工作生活变得更好。既然明白了编...

    企鹅号小编
  • 【编程指导】学习编程6条箴言

    1、在学习编程之前,想清楚自己到底想写什么程序。 学习编程基本就是在学习建造东西。如果你知道你到底想造什么,你的编程学习之路将会豁然开朗。如果你的目标只是“学习...

    程序员互动联盟
  • 编程小白 | 每日一练(125)

    这道理放在编程上也一并受用。在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从编程小白进阶到高手,需要经历的是日积月累的学习,那么如何学习呢?当然是每天都...

    C语言入门到精通
  • 编程小白 | 每日一练(154)

    这道理放在编程上也一并受用。在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从编程小白进阶到高手,需要经历的是日积月累的学习,那么如何学习呢?当然是每天都...

    C语言入门到精通
  • 走向小城时代的少儿编程教育,独占K12教育C位

    无人驾驶、人脸识别、智能家居,这些与人工智能密切相关的行业,先后成为近年来市场追捧的爆发性风口,人们不难从中窥见人工智能在未来所拥有的巨大前景。如果不懂编程、不...

    翟菜花

扫码关注云+社区

领取腾讯云代金券