如何自学编程?

      这篇文章我将以我自学编程的经历、本身遇到的坑、如何解决问题等方面,给初学者朋友们分享本身的经验,但愿对正在自学编程的你有帮助。若是哪里说的不对,也望获得您的批评指正!前端

1.为何要学习编程?

(1)由于爱好:java

      若是你对信息技术充满激情与爱好,平常喜欢研究电脑、智能手机等,想要掌握计算机更多的知识,想让本身学会开发出本身的桌面软件、网站、APP。 (2)想要得到高薪资的工做:程序员

      IT行业的工资相对于传统行业来讲工资是比较高的,IT行业适用领域很广阔,餐饮、交通、物流、医疗、金融、教育等各大行业都离不开IT行业的支持,若是掌握这个行业的一门技术,那吃饭是不成问题的,能不能吃好饭就看本身了。web

      固然,你最好本身喜欢这个行业,喜欢信息技术,而后坚持往这个方向发展。若是仅仅是想要赚钱,也许编程不适合你。若是能把本身的对信息技术的热爱投身到本身的工做职业中,这是最好的。接下来的文章中,我假设以求职为目标,来给你们分享自学编程的经验。编程

2.怎么通俗易懂地理解软件开发

(1)什么是编程?

      简单的理解就是经过某种编程语言,编写特定代码指令、执行代码,让计算机帮助咱们作一些计算、执行一些任务,等等。 (2)编程的最终目的是什么?后端

      更通俗的说编写代码的大多数终目的是开发一套完整的软件系统,咱们知道软件能够帮咱们作不少事,好比说咱们使用QQ软件和朋友聊天、使用百度网站搜索资料、在论坛网站上问问题、使用WPS软件编写文档、使用PS软件处理图片,等等。这些都是软件,经过开发者编写代码、打包、上线等多个步骤,最后造成一套完整的程序,供用户使用。 (3)B/S架构和C/S架构浏览器

      如今市面上的软件若是按照某种特定分类方法可分为两种: B(Browser)/S(Server)架构(浏览器/服务器)和C(Client)/S(Server)架构(客户端/服务器)。固然,还有单机软件,如今还有部分软件是不须要联网就能够为人们提供服务的,好比说不少人手机上计算器APP。简单的说,使用浏览器打开的网站是B/S架构的软件,而直接打开客户端使用的是C/S架构的软件。 (4)那什么编程语言?服务器

      编程语言是用来定义计算机程序的形式语言。人与人交流使用的是汉语、英语、阿拉伯语等等,而人与计算机交流使用的就是计算机编程语言,经过编写特定的代码片断让计算机理解咱们的意图。因而后来有了不少种计算机编程语言,如C++、C#、Java、JavaScript、PHP、Kotlin,汇编语言等等。微信

3.认识程序员(软件开发者)这个工做职务

(1)软件开发者应至少应该具有什么能力?

      就如今的社会需求来讲,做为软件开发者,咱们应该至少懂得一门编程语言,而且能利用软件开发使用这种编程语言在实际工做中完成相应的工做,至少这样才是一个合格软件开发者。 如今不少软件开发项目中都是由多我的来完成的,那么一定由一个开发者负责开发环节中特定的任务,如java后端工程师编写与数据交互的代码逻辑,Android工程师负责编写Android APP,IOS工程师负责编写iPhone APP,等等。 (2)软件开发者应该长期具有什么能力?网络

      首先:不断学习。在软件开发这个领域中,开发技术不断的更新与变化,若是想要具有竞争能力,那就必须不断的学习,而不是长期以原有的技术混饭吃,若是真是这样,最终是要被淘汰的。这个行业不适合想要一劳永逸的人。在这个行业必须不断学习、创新,你必须具有不怕苦不怕累的创业精神。 其次:作一个有计划的人:你应该时时有危机感,那么就给本身制定计划,无论是短时间计划仍是长期计划,朝着那个目标努力,你会愈来愈优秀。你是一个初级程序员,你应该朝着高级程序员的目标努力;你一个高级程序员,你应该朝着架构师的目标努力;而当你成为了架构师,你应该朝着管理者的目标努力。只有作好计划,并随着时间的改变而改变,朝着目标努力,你才能不断实现本身的价值。

4.没有编程基础,我该怎么入门?

      我相信这是大多初学者困惑的问题,也是阻碍不少初学者学习进度的问题。你不知道从哪里开始学习,或者不知道从何开始,接下来我以本身的学习经历,给你们提供一些建议,但愿对你有帮助。

(1)你应该具有什么基础:

      自学你至少得有一台本身电脑,这台电脑不须要配置有多高,除非你学习的是开发大型3D游戏。传统的开发学习,普通笔记本、台式机均可以的,可是必须得有网络,由于你须要从网络上获取这种学习资料,何况咱们是在学习信息技术,没有网络怎么可能,想想多可怕,最重要的是,你要喜欢它再去学它,若是不喜欢它,学了又有什么意义。 (2)数学、英语很差,能学好编程吗?

      就这么说吧,若是你感受本身数学很差,可是你喜欢信息技术方面,你就好好学吧,你是能学好编程的。个人数学和英语真的是超级很差,缘由是我不喜欢它们。编程的逻辑性挺强的,可是不表明你的数学很差你的编程就学的差,它们本就不是一个回事,虽然编程不少时候用于科学计算方面,可是若是咱们学习编程是为了开发应用软件,为的是找工做,编程本就没有那么别人说的那么难。

      英语很差呢?那也能够学好的。计算机发展技术源自西方,西方人在这方面作的比咱们多,固然这些计算机语言几乎全是英语字母组合的。我想,若是咱们能赶在西方以前发展信息技术,如今外国人估计就使用中文来编程了。可是我英语很差,句子都读不通顺,怎么办?不要紧的,读代码与读英语文章彻底不同,虽然大多数代码使用的是英文字母来编写,而理解代码更多的是理解它的逻辑。可是,若是你的英语很差,你最好提升一下的英语水平,由于不少开发文档、教程,是使用英文来写的。不是说你英语很差你就不能写代码,可是你不能连“hello”、“how are you”这些简单的英文单词都不认识,也就是说,你具备初中毕业生的英语水平就能够学习编程了。 (3)选择本身喜欢的方面入门:

      软件开发过程当中根据不一样的须要,包含了多个工做任务和多种工做流程,所以也产生了不一样的工做岗位,前端工程师:Android工程师、IOS工程师、Web前端工程师,后端工程师:Java后端工程师、Python后端工程师、PHP工程师,Linux运维工程师,如今还流行着大数据工程师、AI(人工智能)工程师,等等。固然,在人员缺乏的状况下有的人却担任了好几种身份,可是在大公司里面,分工通常是明确的。

      那怎么开始入门学习呢?首先,选择本身喜欢的语言,选择本身方向,朝着那么目标学习。但是我都没了解过,我怎么知道什么编程语言适合我?这就须要你事先了解一下了,既然打算自学编程,那你应该查阅一些资料了解一下,什么语言适合来作什么,本身又应该学习什么语言。固然,咱们的长远的目标是精通一个技术方向,可是其余方向最好是什么都要会。

      因此,我建议你选择本身喜欢的方向,容易的入门的方向进行入门学习。但是有的人说如今很火的不是大数据、人工智能吗?月薪两三万、四五万的。可是你要知道,对于一个任何基础都没有的普通初学者,须要花多少功夫才能达到大数据工程师、AI工程师的水平,因此学习基础是十分重要的,至少得保证你有同样技能了,能保证本身能胜任某项工做以后,再朝着更高得层次努力,也许那样会更好。

      我当年选择Android做为入门学习的方向,缘由是我挺喜欢Android。我开学习Android的时候是在2015年,那时候不少人说Android如今饱和了,学习Android会找不到工做。可是我并无放弃学习Android,我想,若是有时间去担忧之后找不到工做,为何不静下心来好好学,只要学好了为何还要怕找不到工做,为何本身不能够做为那些学习Android中的佼佼者,你能够比别人笨,可是你也能够比别人努力,何况,又有多少人真正的认可本身比别人笨呢?如今再回想本身当年学习Android的时候,天天晚上坚持观看视频,记笔记,先学Java基础,后是Android基础,就这样坚持好几个月。挺辛苦,但是后来收获的是开心的。

      固然,你有不少选择。若是你喜欢APP开发,那么就是Android和IOS了,而Android学习成本比IOS学习成本低,缘由就是若是你要作IOS开发你须要mac电脑,Android开发使用普通的Windows就能够,进一步学习的话你能够安装一个Linux操做系统,再加上一个几百元的Android手机就能够学习了,等你掌握Android开发后再学习IOS也不迟。若是你喜欢后端开发,我建议你选择Java、Python、PHP这些语言。假如你以前没有接触过编程,只要认真学,这些语言挺容易入门的,若是有一点C语言基础那更好。而若是你喜欢Web 前端,那你就好好学习H5+CSS3+JavaScript,一个合格web前端工程师除了能把网站作出漂亮的特效,还要懂得后端的知识,这时能够学一学Node.js。虽然开发技术分类不少,可是这些技术都是相通的,有了一门技术的基础以后,再学习其它技术就垂手可得了。而在初学者阶段,你须要选择一门技术进行系统的学习,同时不要忘记多了解一些其余的技术。

如下是编程语言在某个时间段的排行榜:

(4)怎么获取学习资源?

      你能够买一本书。书有好有坏,有的书适合初学者,而有的书不适合初学者;有的书通俗易懂,也有一些书全是废话,甚至错误一堆,这就须要你好好辨认了。有的书适合你,可是有的书虽好,却不适合你,你应该到书店里面,到图书馆里面好好翻一翻,选择合适本身的一本系统教学书籍。对于技术类型的书,尽可能选择比较新的,对于同一种技术,尽可能避免好几年的书籍,由于技术书籍不像文学书籍那样,技术天天都在改变。

      你还能够看一套系统的视频教程。互联网上免费的教程资源不少,若是好好利用,相信你必定能学好的。有的视频里老师讲课方式不适合你,而有的老师讲课方式很适合你,我相信后者对你的进步更有帮助。如今教学网站也不少,也提供了大量的免费资源,如极客学院、慕课网,百度传课、腾讯课堂等等都有大量的免费资源,建议你花一些时间去尝试听一下多套视频的第一节课,最后选择最适合本身的一套。 (5)要回利用互联网解决问题:

      你在学习编程过程当中一定遇到不少问题,甚至有时出现的bug让本身感到崩溃、无助,这时不要慌,这是不少初学者都是一定经历的过程,只要一个一个问题的解决了,积累经验,之后你才能解决实际开发中遇到的问题。在你遇到错误时,把你出现的错误百度一下,一定别人也遇到过,并有一堆的解决办法。你还能够到各大论坛寻求帮助,如国内的CSDN论坛,若是你英语阅读能力比较好,还能够到stackoverflow.com网站上寻求全球开发者的帮助。 (6)多读别人的代码,借鉴别人的长处:

      阅读别人的代码是本身提升编码能力的一个方法,你能够看到本身与大神的距离,而后努力朝着目标努力,一个合格的开发者,不只能本身写代码,还要有阅读别人代码的能力。 (7)多练习,孰能生巧: 学习中编程的过程当中,看懂和会作彻底是两回事,不要以为本身看视频看懂了,或者看书看懂了就历来不去编码练习了。每每不少人看懂了,可是本身却敲出一堆的错误,这阶段你须要不断的练习。网上说的“7天掌握PHP”、“5节课掌握java”,等等这些,以一个普通初学者的角度来讲绝对是不可能的,做为初学者,应该脚踏实地,天天坚持,积累上几万行代码,甚至几十万行代码,也许那样才是真正的入门。这世上没有坐享其成的,全部的收获,一定经历付出,知识也同样,加油!

5.总结:

      上一个世纪的前辈们在学习的时候,他们没有网络,没有那么多学习资料,而他们却能给后人创造了不少有价值的东西,他们都那么坚持,咱们就没有理由不努力了。 无论怎么说,学习编程不容易,必定要真正的喜欢它再去学,脚踏实地,坚持不懈,往既定的目标努力。入门学习的付出是辛苦的,甚至是乏味的,可是拼一拼,努力奋斗,相比最后获得的,是值得的。加油!

      我也会利用业余时间分享一些开发技术视频,欢迎订阅咱们的哔哩哔哩视频分享频道极客开发者:space.bilibili.com/172353353/

也能够订阅咱们的微信公众号(jkdev_cn),交流与提问、接收最新分享内容。

相关文章
相关标签/搜索