专栏名称: 吴师兄学算法
和程序员小吴一起从初学者的角度学习算法,以动画的形式呈现解题的思路。每周四篇原创文章,期待你的鉴赏!
目录
相关文章推荐
中科院物理所  ·  物理学中真有“魔法”,它代表一类量子资源 ·  3 天前  
中科院物理所  ·  橡皮能不能黏住尺子?小学生都知道DeepSe ... ·  3 天前  
环球物理  ·  【高中物理】 150道经典易错题附答案 ·  3 天前  
51好读  ›  专栏  ›  吴师兄学算法

奉劝那些想学编程的人

吴师兄学算法  · 公众号  ·  · 2021-04-29 16:25

正文


最近加了不少读者,和他们聊了聊学编程时的一些问题,有感而发,写了这篇文章,希望给你带来一些思考。

对于所有编程学习者,尤其是想自学编程的同学,在学习的初期最好能想明白下面几个问题:

  • 1、编程可以自学吗?
  • 2、学习编程需要什么基础?
  • 3、我应该学习哪种编程语言?
  • 4、应该按什么步骤学习编程语言?
  • 5、学习编程有什么方法吗?

一、编程可以自学吗?

首先给出结论,完全可以,但自学编程的弯路多得数不完,坑多得踩不完,这必定是一条充满挫折的道路。

有哪些坑呢?

  • 好几天都没有成功搭建一个可以正常使用的编程环境,比如 Python、Java

  • 敲了半天的代码,一运行发现提示几十个错误

  • 学了很久,感觉会的很多,但不知道自己的实际水平怎么样 ... 正如我们学习英语需要一个交流环境,编程的学习同样需要,特别是自学编程,以下几个网站尤其重要。

  • GitHub

  • Stack Overflow

  • 菜鸟教程

以上三个网站,可以帮助你解决自学过程中 90% 的难题。

二、学习编程需要什么基础

学习编程不需要什么基础,不需要你的数学、英语有多好,也不需要你精通计算机网络、编译原理等。

这个结论是有现实依据的,很多培训班根本就不会培训这些内容,照样量产出一些基础虽然不牢固但却可以工作的程序员。(这里并不是为了说明培训班这种方式是正确的方式)

三、我应该学习哪种编程语言?

可以通过下面这张图做个小测试,看看自己更适合哪种编程语言。


下面的图对比了最流行的9种编程语言,来帮初学者选择最适合自己的。












图片来源:https://byrslf.co/should-you-learn-python-c-or-ruby-to-be-a-top-coder-infographic-188a5bdc9f54

翻译:麻瓜编程

四、应该按什么步骤学习编程语言?

各种编程语言的学习路径基本上都这样的。


如果你学习过一段时间的编程看到这里,可能会疑惑: 为什么我从头到尾都没有提及计算机专业的那些课程?

计算机专业的课程内容:

  • 1、计算机组成原理
  • 2、计算机操作系统
  • 3、计算机编译原理
  • 4、数据结构与算法
  • 5、计算机网络

原因很简单: 先学习怎么用,再学习它的构造显然比反过来的要好得多!

很多计算机专业一开始都是先教 Java、Python、C 等等高级语言,然后在大二才开设数据结构和计算机组成原理等课程,因为在用这些高级语言做出 Demo、小项目的过程中,肯定会遇到各种问题,而这些问题的答案就藏在那些专业课里面。

一方面做出小东西能有成就感更加容易坚持下去学习,另外一方面带着问题去找答案效率更高映像更深刻。

否则一开始让你去学编译原理,估计一年过去了都不知道编程有啥乐趣。

五、学习编程有什么方法吗?

不知不觉自己的编程生涯已经有 6 年,变秃了,也变强了。

回想起这些年的编程经历,保守估计自学看视频的时间都有 3000 小时,我的一些经历或许可以带给你一些思考。

学习编程的道路上有太多的弯路,有的弯路很短,走进去就当散步,马上就能出来,增长了一些经验倒是好事;有的弯路是五连发夹弯,资深编程老司机都容易翻车;但还有一些弯路更可怕,它们是隐形的,弄不好你以为走在康庄大路上,实际上是南辕北辙却浑然不知。

学习编程的过程最切忌的就是用学生的思维学习编程,有不少人在这个弯路里面徘徊,浪费了时间与精力。

1、记笔记 Vs 写技术教程

在我们十几年的求学生涯中,关于知识的获取基本上都在执行以下步骤: 学习课本上给的教程案例,练习课后的配套习题,如此反复,直到通过考试。







请到「今天看啥」查看全文