这一篇文章我就要和你聊聊编程如何学习,这一篇文章涉及的内容简直太多了,我将从入门开始,一步一步到如何提高,然后到一些学习的相关问题,还有一些计算机相关的术语等,干货也非常多,准备好了吗?那么我们开始吧。
编程入门
我们首先需要解决的就是如何入门的问题了,这也是很多新手/小白的困惑,到底如何入手呢?我该从哪里开始呢?
如果你有兴趣学习编程,那么树立一个正确的编程观念是很有帮助的。这个短片是很好的一个入门 https://www.youtube.com/watch?v=mvK0UzFNw1Q ,这个短片解释了你应该以一种合适的观点来开始编程。
在你树立了正确的编程观念后,你需要意识到一个问题,那就是没有通用的学习编程的方法,所以市面上大多数培训机构所提倡的方法并不适用于所有人,这只是他们大多数人所认可的学习方法,但是并不适用于你,你必须找到适合自己的编程方式。
这里需要说两个现象:
很多小伙伴们咨询我关于编程方式的问题,这个没有定数,有的人喜欢早上编程,因为早上比较清醒,思路比较清晰;有的人适合网上编程,晚上没人打扰,而且晚上有一种魔力:空杯心态,你能更清晰的认识自己,到达一种心流的状态。但是晚上有一点特别忌讳
,那就是熬夜
。所以你更需要平衡编程和生活,生活不全部是编程,编程不能完全替代生活,至少国内是这样。
所以你需要找到适合自己的编程方式,我这里强烈建议一下你按照下面这几种方式来进行:
- 首先找到一些你所感兴趣的问题或者项目,你可以尝试构建工具来解决生活中的小问题,也可以尝试实施从头开始发现有趣的程序。这个项目将有助于激发你继续学习编码的经验,并为你提供练习应用所学内容的机会。
- 做一些研究以确定哪种编程语言最适合你的项目。(下面我会进行介绍)
- 找到一些高质量的面对初学者的学习编程的资源。(同样,下面我会进行介绍)
- 通过 google 搜索来提问或者补充学习资源,如果没有 tz 的话,可以使用必应和搜狗(面向微信公众号平台),微信公众号很多文章比较专业的。
- 最终使用该语言完成了几个有意义的项目
其实,上面这几点归根结底就是这样
刚开始强烈建议规避
这些不良的编程习惯!!!!!!
- 不要只是简单的、被动的使用你正在使用的资源,要及时进行练习和家庭作业,实践是学习编码绝对必要的部分。
- 避免在编程语言之间来回切换;选择一门语言并坚持下去。这是因为编程最终与解决问题有关,而不是与编程语言有关。学会解决问题是具有挑战性的,并且是只有通过练习才能磨练的技能。每次切换语言时,你都在浪费时间,可以花时间练习运用所学的知识来提高解决问题的能力。
- 完成教程后,不要停止学习。编程是一项永远需要新知识的领域
最后,请你记住,学习编码注定是一项长期而又困难的过程,如果你觉得编码很困难,那完全不要气馁,这是很正常的,因为许多人会花很多年的时间学习和练习,才认为自己有能力找到寻找工作或者为重大开源项目做贡献。但是幸运的是,编程入门并不难。
如何选择编程语言
所以现在需要为上面的编程入门提到的几点做一个解释了。
首先,找到合适的、你所感兴趣的编程项目,这个因人而异的,所以就是编程语言的选择问题了。
我经常会被问到这个问题,我该选择哪种语言作为入门?
提出这种问题的人有两个误区
:第一个是你潜意识中认为一定有一门最完美的编程语言来进行学习;第二个是第一门学习的编程语言好像会伴随你的一生。。。。。。
事实上,没有最好的编程语言(PHP 是最好的编程语言纯碎是调侃,这篇文章要解惑下,大家不要相信,有的时候玩笑开着开着就成真的了)。而且你的第一门编程语言对你的职业生涯没有决定性的作用,说起到决定性作用的人,你扪心自问,自己是不是思想懒惰不愿意接触新的编程语言了?
我要告诉你一件事情,刚开始学习一门语言是最难的,因为有很多复杂的概念你搞不懂,但是其实上大多数基本概念是各个语言通用的。随着时间流逝和你对编程工作的深入,要学习一门新的语言会变得越来越容易。可能你刚开始可能要几个月才学会一门编程语言,而一个有经验的程序员可以在几天内熟悉一门新的编程语言。
理想情况下,所有程序员都应具有多种语言的经验。一旦你对一种语言感到满意,就可以继续使用另一种在某些基本方式上有所不同的语言。随着学习更多语言,你将变得更有能力为手头的任务选择合适的工具,这是优秀程序员的标志。由于编程概念至关重要,因此我建议初学者从下表中选择一种主流语言。所有这些语言使初学者可以开始编写简单的应用程序并练习编程,而不必使用任何更复杂的语言功能。
如果你已经有了项目和目标,并且将自己的技能应用到要解决的问题上,你将会学的更快。下面是一些常用编程语言的说明,能够让你有更多的选择。
如果看了这些你仍然觉得迷茫的话,那就不妨使用一门简单易上手的编程语言 Python,Python 是一种良好的,适合初学者的语言,拥有一个庞大的社区和许多库,可以执行几乎任何你想做的事情,从制作游戏到在家中或工作场所中使事情自动化,从进行数据分析到制作网站等等等等。在进入更复杂的应用之前,你需要找到一些好的学习资源
那么我在哪里能找到这些资源呢
下面我为你列出了一些资源获取途径
-
图书,学习任何一项技能前,看书都是一种最有效的途径,也是我最推荐给你的途径,因为我本身就喜欢看书,囤书也是我的一种乐趣。
-
免费的编程书籍,这个 github 上列出来的几乎包括所有编程书籍了,我看完之后大呼过瘾!!!https://github.com/EbookFoundation/free-programming-books/blob/master/books/free-programming-books-zh.md#java ,英文版的如下 https://github.com/EbookFoundation/free-programming-books/blob/master/books/free-programming-books.md
-
一些适合于初学者的书籍
-
C#:Rob Miles 撰写的
小黄书
http://www.csharpcourse.com/ - 面向初学者的 C# 编程。 -
Python: Al Sweigart’s 编写的 《Python 自动化》系列 http://automatetheboringstuff.com/,也有中文译本,即 《Python 编程从入门到实践》
-
同样是 Al Sweigart’s 编写的 《Python 发明》系列 http://inventwithpython.com/,该书通过使用Python和Pygame创建计算机游戏来教授编程。
-
Abelson and Sussman 编写的《计算机程序的构造和解释》,下面是编程网站 https://mitpress.mit.edu/sites/default/files/sicp/index.html
-
Python 编程游戏 http://programarcadegames.com/
-
C 语言:c primer plus ,这是一本入门 C 语言非常经典的好书
-
C 语言程序设计,同样是一本经典好书,虽然书籍不厚,但是浓缩的就是精华啊!!!
-
Java :Head First Java,这是入门 Java 最最最简单的一本书了,没有比这个再简单的了。事实上 Head First 系列都可以作为入门书籍
-
Java 核心技术卷一(卷二作为提高),可以看完 Head First 在看这个系列。入门 Java 就这几本书就够了。
-
-
这里给大家分享一份Python全套学习资料,包括学习路线、软件、源码、视频、面试题等等,都是我自己学习时整理的,希望可以对正在学习或者想要学习Python的朋友有帮助!
优快云大礼包:全网最全《全套Python学习资料》免费分享🎁
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
1️⃣零基础入门
① 学习路线
对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
② 路线对应学习视频
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
③练习题
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
因篇幅有限,仅展示部分资料
2️⃣国内外Python书籍、文档
① 文档和书籍资料
3️⃣Python工具包+项目源码合集
①Python工具包
学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
②Python实战案例
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
③Python小游戏源码
如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
4️⃣Python面试题
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
5️⃣Python兼职渠道
而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
上述所有资料 ⚡️ ,朋友们如果有需要 📦《全套Python学习资料》的,可以扫描下方二维码免费领取 🆓
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓