我相信这是大多初学者困惑的问题,也是阻碍很多初学者学习进度的问题。你不知道从哪里开始学习,或者不知道从何开始,接下来我以自己的学习经历,给大家提供一些建议,希望对你有帮助。
(1)你应该具备什么基础:
自学你至少得有一台自己电脑,这台电脑不需要配置有多高,除非你学习的是开发大型3D游戏。传统的开发学习,普通笔记本、台式机都可以的,但是必须得有网络,因为你需要从网络上获取这种学习资料,况且我们是在学习信息技术,没有网络怎么可能,想一想多可怕,最重要的是,你要喜欢它再去学它,如果不喜欢它,学了又有什么意义。
(2)数学、英语不好,能学好编程吗?
就这么说吧,如果你感觉自己数学不好,但是你喜欢信息技术方面,你就好好学吧,你是能学好编程的。我的数学和英语真的是超级不好,原因是我不喜欢它们。编程的逻辑性挺强的,但是不代表你的数学不好你的编程就学的差,它们本就不是一个回事,虽然编程很多时候用于科学计算方面,但是如果我们学习编程是为了开发应用软件,为的是找工作,编程本就没有那么别人说的那么难。
英语不好呢?那也可以学好的。计算机发展技术源自西方,西方人在这方面做的比我们多,当然这些计算机语言几乎全是英语字母组合的。我想,如果我们能赶在西方之前发展信息技术,现在外国人估计就使用中文来编程了。但是我英语不好,句子都读不通顺,怎么办?没关系的,读代码与读英语文章完全不一样,虽然大多数代码使用的是英文字母来编写,而理解代码更多的是理解它的逻辑。但是,如果你的英语不好,你最好提高一下的英语水平,因为很多开发文档、教程,是使用英文来写的。不是说你英语不好你就不能写代码,但是你不能连“hello”、“how are you”这些简单的英文单词都不认识,也就是说,你具有初中毕业生的英语水平就可以学习编程了。
(3)选择自己喜欢的方面入门:
软件开发过程中根据不同的需要,包含了多个工作任务和多种工作流程,因此也产生了不同的工作岗位,前端工程师:Android工程师、IOS工程师、Web前端工程师,后端工程师:C/C++开发工程师、Java后端工程师、Python后端工程师、PHP工程师,Linux运维工程师,现在还流行着大数据工程师、AI(人工智能)工程师,等等。当然,在人员缺少的情况下有的人却担任了好几种身份,但是在大公司里面,分工一般是明确的。
那怎么开始入门学习呢?首先,选择自己喜欢的语言,选择自己方向,朝着那么目标学习。可是我都没了解过,我怎么知道什么编程语言适合我?这就需要你事先了解一下了,既然打算自学编程,那你应该查阅一些资料了解一下,什么语言适合来做什么,自己又应该学习什么语言。当然,我们的长远的目标是精通一个技术方向,但是其他方向最好是什么都要会。
所以,我建议你选择自己喜欢的方向,容易的入门的方向进行入门学习。可是有的人说现在很火的不是大数据、人工智能吗?月薪两三万、四五万的。但是你要知道,对于一个任何基础都没有的普通初学者,需要花多少功夫才能达到大数据工程师、AI工程师的水平,所以学习基础是十分重要的,至少得保证你有一样技能了,能保证自己能胜任某项工作之后,再朝着更高得层次努力,也许那样会更好。
我当年选择C++作为入门学习的方向,原因是我挺喜欢C++。我开学习C++的时候是在2015年,那时候很多人说C++市场不如Java,学习C/C++会找不到工作。但是我并没有放弃,我想,如果有时间去担心以后找不到工作,为什么不静下心来好好学,只要学好了为什么还要怕找不到工作,为什么自己不可以作为那些学习C/C++中的佼佼者,你可以比别人笨,但是你也可以比别人努力,况且,又有多少人真正的承认自己比别人笨呢?现在再回想自己当年学习C++的时候,每天晚上坚持观看视频,记笔记,先学C语言基础,后是C++基础,数据结构算法,就这样坚持好几个月。挺辛苦,可是后来收获的是开心的。
当然,你有很多选择。如果你喜欢APP开发,那么就是Android和IOS了,而Android学习成本比IOS学习成本低,原因就是如果你要做IOS开发你需要mac电脑,Android开发使用普通的Windows就可以,进一步学习的话你可以安装一个Linux操作系统,再加上一个几百元的Android手机就可以学习了,等你掌握Android开发后再学习IOS也不迟。如果你喜欢后端开发,我建议你选择C++、Java、Python这些语言。假如你之前没有接触过编程,只要认真学,这些语言挺容易入门的,如果有一点C语言基础那更好。而如果你喜欢Web 前端,那你就好好学习H5+CSS3+JavaScript,一个合格web前端工程师除了能把网站做出漂亮的特效,还要懂得后端的知识,这时可以学一学Node.js。虽然开发技术分类很多,但是这些技术都是相通的,有了一门技术的基础之后,再学习其它技术就轻而易举了。而在初学者阶段,你需要选择一门技术进行系统的学习,同时不要忘记多了解一些其他的技术。
以下是编程语言在某个时间段的排行榜:
(4)怎么获取学习资源?
你可以买一本书。书有好有坏,有的书适合初学者,而有的书不适合初学者;有的书通俗易懂,也有一些书全是废话,甚至错误一堆,这就需要你好好辨认了。有的书适合你,但是有的书虽好,却不适合你,你应该到书店里面,到图书馆里面好好翻一翻,选择合适自己的一本系统教学书籍。对于技术类型的书,尽量选择比较新的,对于同一种技术,尽量避免好几年的书籍,因为技术书籍不像文学书籍那样,技术每天都在改变。
你还可以看一套系统的视频教程。互联网上免费的教程资源很多,如果好好利用,相信你一定能学好的。有的视频里老师讲课方式不适合你,而有的老师讲课方式很适合你,我相信后者对你的进步更有帮助。现在教学网站也很多,也提供了大量的免费资源,如极客学院、慕课网,百度传课、腾讯课堂等等都有大量的免费资源,建议你花一些时间去尝试听一下多套视频的第一节课,最后选择最适合自己的一套。
(5)要回利用互联网解决问题:
你在学习编程过程中必定遇到很多问题,甚至有时出现的bug让自己感到崩溃、无助,这时不要慌,这是很多初学者都是必定经历的过程,只要一个一个问题的解决了,积累经验,以后你才能解决实际开发中遇到的问题。在你遇到错误时,把你出现的错误百度一下,必定别人也遇到过,并有一堆的解决办法。你还可以到各大论坛寻求帮助,如国内的CSDN论坛,如果你英语阅读能力比较好,还可以到stackoverflow.com网站上寻求全球开发者的帮助。
(6)多读别人的代码,借鉴别人的长处:
阅读别人的代码是自己提高编码能力的一个方法,你可以看到自己与大神的距离,然后努力朝着目标努力,一个合格的开发者,不仅能自己写代码,还要有阅读别人代码的能力。
(7)多练习,孰能生巧:
学习中编程的过程中,看懂和会做完全是两回事,不要觉得自己看视频看懂了,或者看书看懂了就从来不去编码练习了。往往很多人看懂了,但是自己却敲出一堆的错误,这阶段你需要不断的练习。网上说的“7天掌握PHP”、“5节课掌握java”,等等这些,以一个普通初学者的角度来说绝对是不可能的,作为初学者,应该脚踏实地,每天坚持,积累上几万行代码,甚至几十万行代码,也许那样才是真正的入门。这世上没有不劳而获的,所有的收获,必定经历付出,知识也一样,加油!
总结:
上一个世纪的前辈们在学习的时候,他们没有网络,没有那么多学习资料,而他们却能给后人创造了很多有价值的东西,他们都那么坚持,我们就没有理由不努力了。
不管怎么说,学习编程不容易,一定要真正的喜欢它再去学,脚踏实地,坚持不懈,往既定的目标努力。入门学习的付出是辛苦的,甚至是乏味的,但是拼一拼,努力奋斗,相比最后得到的,是值得的。加油!
另外的话为了帮助大家,轻松,高效学习C语言/C++,我给大家分享我收集的资源,从最零基础开始的教程到C语言项目案例,帮助大家在学习C语言的道路上披荆斩棘!可以来我下方粉丝群领取哦~
整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)最重要的是你可以在群里面交流提问编程问题哦!
欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!(↓↓↓↓↓↓)