不知不觉接触编程已经十几年了,上高中的时候就对编程很感兴趣,当时没有电脑,就在本子的正反面抄代码,那是一本《c语言入门教程》的书,一直看到指针的内容,后面的内容我就看不懂了。
高中从来没在电脑上运行过一行代码,上了大学有了电脑就彻底解放了,开始学习java,和各种关于编程的各种知识。
我们先把编程分成几个等级,每个等级有不同的学习方法,学习的前提还是要对编程感兴趣,如果没有兴趣,就很枯燥,还不如打打王者荣耀。
初入江湖
作为江湖小白,学习编程要选择一门入门语言,这相当于新手任务。
如果你学习编程的目的是为了处理工作中的数据,为了让自己工作更有效率,为了学习人工智能,为了cool,推荐你学习python。
如果你学习编程的目的是为了进入大公司或互联网公司,推荐你学习java。
如果你学习编程的目的是为了写操作系统和智能硬件嵌入式,推荐你学习c语言。
如果你学习编程的目的是为了开发网站,就是你在浏览器或者手机上看到的网站,推荐你学习php。
选好入门语言之后,用百度搜索,每种语言的视频教程很多,选一个自己能看懂的视频,跟着视频一步一步的写代码。
上京东,亚马逊或者当当搜索你要销量最高的书,把书上的代码,全部自己在电脑上敲一遍。
学习编程语言跟在小学学汉字也差不多,多在电脑上敲代码,多多益善。
看完了视频和入门书籍,作为江湖小白,你基本上能做一些事情,知道代码逻辑是什么,很多你在视频或书上看到的东西,比如指针,spring,框架,线程,进程,数据库,虚拟机,锁,sql等,虽然你看到视频上是怎么使用的但是你对他们的了解并不深入。
学完视频和看完书相当于入门了。
江湖新秀
如果只是学习了一门编程语言,虽然也能做一些事情,但是编程语言的用处有限,我们还要了解与编程语言相关的很多知识点,下面的这些知识,如果你用到了,感觉自己又不会,就要搜索相关的视频或者书。
数据库:数据库最重要的是mysql数据库,操作数据库的语言是sql。
html和css:我们在手机和电脑上打开浏览器看到的网站界面都是用html+css编写的。
javascript:如果想要界面动起来,就需要学习javascript。这也是一门编程语言。
会了上面三项技能,你就能做出在朋友前面炫耀的产品了。
注:买书不要买太厚的,太厚的书只适合当参考书。
江湖少侠
我们编写的代码,大多时候都是在服务器上运行,我们常用的服务器是linux。linux又有两个重要的版本是centos和ubuntu,挑一个自己喜欢的学习linux。
linux是一种操作系统,跟我们用的windows系统一样,只不过在linux操作大多时候都是用命令行。
linux主要学习各种命令和安装配置软件。
linux上我们常用的软件,比如数据库mysql的安装配置,缓存redis,memcached,mongodb,nginx,php,apache,nginx等。上面这段话的每个英文单词都需要买本书看看。
看完这些你基本上可以自己独立完成完成很多功能。
江湖大侠
除了编程语言和各种软件在服务器上的使用和配置,作为大侠还要了解更多底层的东西。最重要的就是算法,关于算法还是要看书和看视频。了解算法可以让我们更了解语言和计算机。
学习了算法你才能明白,如果语言不提供排序,自己怎么排序最快,如果语言提供了排序,你也知道它是如何实现。
除了算法,还要了解分布式,微服务,SOA,当网站流量达到一定程度,一台电脑不能满足需求,就要使写的代码支持分布式。如果你学习的java就要学习springcloud或者dubbo+zookeeper。
除了分布式,还要了解系统和框架底层是怎么怎么回事。
一代掌门
最为一代宗师,最重要的是吹牛逼,把别人都懂的知识总结出来,让别人都听不懂。同时拥有大公司的各种头衔。经得起时间的洗礼。你开始写《xx入门的书》。
一代宗师
当你看到软件,你脑子中浮现出了软件构建过程,就差写代码实现出来了。所有的程序能正常运行都来自数学证明。
神仙
你的知识覆盖了从台积电生产芯片上每一个硅原子,到计算机硬件,再到操作系统,再到每一个软件。在你的眼里世界上只有0和1。你的大脑就是超级计算机。
总结
不管我们多了解怎么学习编程,最重要的三点。
自己要多在电脑上亲手写代码。学习编程是一件特别枯燥的事情,只有真正有兴趣才能坚持下去。所有的知识都在网络和书上,看过并且记住。
冯诺依曼