如何自学编程

java编程

如何自学编程

第一阶段,选择语言。

你需要用百度谷歌提前上网了解,像C、C++、Java、JavaScript,包括时下比较新潮的Python、Go,都是我们所说的编程语言。这些语言都没有绝对的优势,而是各有千秋,侧重于不同的需求。例如新兴的 Python 在数据分析和机器学习等方面有较好的应用,而传统的JavaScript、Java则是用于web前后端的开发,更符合市面上的岗位需求。

在选择时,你要先给自己想进的公司,想做的职位有一个初步的画像。我个人建议,如果是想要从事相关工作,还是要选择一个应用范围和前景都更广阔的语言作为入职的敲门砖。等到真正工作以后再学习其他语言。

第二阶段,学习编程“思想”

这时候你可能会纠结于是报个培训班还是自学?这要根据你自己的个人情况,现在网上编程的课程体系很丰富,像是 B站上有很多教Java的视频,不懂的地方也可以向百度和谷歌求教。至于培训班,在内容上其实和自学都没有多大出入,但可以帮你强制性的固定一个学习时间,花钱给自己买点儿压力,要是在时间和财力允许的状况下可以选择。

而在学习的过程中,切忌无脑的照着别人的代码敲,甚至我都不建议你记笔记。因为最重要的是能够学习别人的编程的思路,你要时刻思考这个功能是怎么实现,为什么要这么实现。最好能每次看完书或者视频,用自己的思路把这些东西整理出来,在和视频中对比,找出问题,这样才能把人家精髓的东西消化到自己的思维中。

第三阶段,动手实践。

学习时,你要给自己一个心理暗示,把自己当做一名真正的开发者。因为编程是一项必须放在实践中检验的工作。记熟语法和API只是基础,能用他们解决实际问题才叫编程。在你摸到一些编程思路之后,可以尝试着脱离课本完全自己实现功能。自己实现一些小项目来练手,看别人项目代码,与别人讨论,提升代码能力。最终的入职报告上,你所做的项目才是能证明你个人价值的经验。

第四阶段,了解业务逻辑。

什么是业务逻辑呢?简单来说,就是客户给你的框架和要求。

我刚开始工作的时候,也是一接到业务上手就写代码,以至于到了中后期会漏掉客户要求的点,或没办法周全客户的需求。这也是很多新手会犯的一个毛病,有经验的老手通常就会告诉你,没有任何一个项目十一上来就写代码了。

我们需要在动手之前,仔细的研究客户的框架和要求,理清业务逻辑。把编程过程中,要注意的点罗列清楚,可以做成一个流程图,再开始动手编程。

怎样更快速地学会编程

对于没有任何编程基础的初学者来说,要想快速入门编程,最为有效的方式之一就是与专业人士进行交流,在专业人士的指导下进行学习会有比较高的学习效率,而且也会有一个系统的学习过程,当前可以充分利用互联网来开辟自己的交流渠道。

对于已经有一定编程基础的同学来说,边用边学往往会有更高的学习效率,比如程序员在学习一门新的编程语言时,如果采用听课的方式学习也许并不是最高效的,很多程序员是直接看代码案例,然后就开始尝试应用,然后再逐渐提升应用的熟练程度,因为对于已经有成熟编程思想的程序员来说,不同的编程语言仅仅是语法上的不同,思想终归是统一的。

编程语言的语法并不难掌握,但是要想熟练运用编程语言,一定要多做实验,这个过程是无法忽略的,也没有任何捷径,编程语言用得多了,自然也就熟练了,就像《卖油翁》里那句经典的表达:“无他,但手熟尔”。对于很多应用级程序员来说,编程并没有太多需要思考的地方,也不需要设计复杂的算法。

最后,如果要想在程序设计领域走得更远,熟练运用编程语言仅仅是第一步,还需要有自己的主攻方向,并且能够围绕自己的主攻方向不断深入,掌握相应的研究方法,最终成长为一名研发级程序员。

一代大神教你自学编程

1、如果你不是计算机、工科专业,不是以编程为生的大学毕业生,不要去用国内的大学教材来入门,不要去学考验人性的C/C++、Java、汇编等,这些东西已经不适合你,推荐你去学网页开发(HTML、CSS、JavaScript)、去用PHP搭建网站、或者学Python(取代VBA来提升办公效率,替代Excel、PowerBI来做数据分析、可视化)、小程序等,短时间可入门,好玩又好学,对工作有帮助,深入可提升工资,也不排除可转行;

大学教程讲理论比较多,所学的内容只有你在月薪2万以上才开始发挥作用。即使月薪2万以后,也不建议你使用国内的人写的计算机教程,国内越是名校,学历越高,就越会用国外写的教材。而美国学计算机理论之前在高中就有AP课程,而国内绝大多是计算机零基础。

C/C++、Java不学习半年以上,你是很难开发出一个实用的东西的。用C++写贪食蛇小游戏?别搞笑了,你觉得你这游戏实用吗?用Java开发安卓?你零基础学半年,能开发一个App上线吗?用Java做网站?稍微简单的JSP已经淘汰了(当然国内有些外包公司还在用JSP)。

如果你花半年时间学前端、Python、PHP,不仅可以开发出实用项目,你都可以来接外包、来找工作了,甚至可以转行了。

很多人居然推荐已经工作了的人或者不想从事编程行业的人从汇编、网络、C等等这些学起来,你可能大学是这么读过来的,但是这只适合计算机相关专业的人,不适合其他人,你的这些推荐太误人子弟了。

(计算机、工科相关专业还是要把C/C++或Java给学好的。)

2、不建议你学易语言,不推荐你学VB、VBA,因为这些没有前途,不建议你去学Julia,Dart,你没有基础就不要追逐过新的东西;

有些方向不实用,也就是实际开发已经不作为一个通用的解决方案了,比如JSP、Flash这些;

有些方向在国内用的人会越来越少,比如VB、比如http://ASP.NET;

有些方向没有前途还会阻碍你的进步,花大量时间折腾没有意义,比如易语言;

有些方向不适合新手去学,新手学了没用,哪怕再怎么流批,比如汇编;

有些技术听起来很有前途,但是不适合新手去跟风学,比如Dart,Go,你啥基础没有你也学不通。

3、不要去买书来啃好几周,不要不动手光看视频光看书,学技术一定要先从安装开发环境开始,编程只有动手实战起来才会变得简单。很多人一上来就问,编程难么?我零基础能学会么?这个知识是用来干啥的?你问这么多干嘛?有些人收藏了几百篇好文章,花的时间不可谓不多,但是就是没有开始实战起来,这能学会么?

有些人买了一些经典计算机教材(通常比较厚),一啃就是几个星期,甚至个把月。更可怕的是直接去啃编译原理、算法导论、计算机系统、网络编程这些书,不说你啃不啃得下来,你即使学完了你也不知道可以干嘛啊!!!

JS直接啃犀牛书,这本书可有1000页。很多人啃了半天学不下来就说编程好难。你学习方式方法有问题,编程能不难么?

PHP、Python、前端这些如果你学习两天到一周都不能上手实际开发一个东西出来(非写几行代码),你就走了很多弯路。

4、大学生千万不要用考证的方式来学编程;如果学校对二级计算机等级考试有要求,就考Office或Python吧,混过去就行了,不要去参加什么软考之类的,浪费你的时间。

很多学生视野比较狭窄,他只能接受到学校和身边的人灌输给你的知识和观念,只能了解到有限的评价体系,觉得考了这些计算机等级考试和软考才算得上是优秀,学编程也往往以这些知识为目标。这些完全可以理解,因为我大学时也考过。

事实上评价一个学生在计算机方面是否真的优秀,一个是你对技术知识的深刻理解,这一点你可以像写论文一样多写写技术文章,培养自己的研究探索精神;二是你对项目产出能力,你能够证明给自己、给他人看的,项目是非常重要的一个依据。对于一个初学者,该如何输出自己的东西这里面有非常多的学问,以后我再整理一下。

学校对于优秀学生的评价体系与企业对于优秀员工的评价体系差异是非常大的,而你个人对于学技能的追求,你自己心里也有一套标准,这三者之间有很大的不同。但是很多零基础想学技能的人却被要求按照学校的标准与方式来学,怎么可能学得好?

(当然有些技术方向的证书是可以考的,比如网络工程师CCNP、运维工程师RHCE、RHCA,PMP这些行业还是比较认可的,软考什么的就算了)

5、学编程应该以项目开发为主,不要东学学西学学,到时候啥也没有掌握。不要看人家说Python好就去学Python,一会学C,一会学Java,招聘时就说自己掌握这些语言。要知道不没有开发出一个网站、一个网页、一个App,一个实际的东西、项目出来,你学再多,都等于半成品,都不算学会。

以项目为导向的方式来学习,即是符合程序员学技术的方式,又能让你对学技术欲罢不能。学习技术本来是一件可以让你很有成就感的事情,如果你学编程一个星期都受挫茫然没有效果,只能说明你学习方式不对。

国内编程教育思路很有问题,编程本来就是一项技能,所谓技能就跟做菜、骑自行车一样,你学了就可以实操。但是国内编程教育却要求你成为一个有品味的厨师,给你灌输菜系的知识,告诉你色、香、味、形、器、意、养等做菜的道理,就是不让你动手做菜。很多资深厨师会告诉你这道理太重要了,厨师不懂这些算个p的厨师,但是你明明想学的是做菜,有些人就说了,你只学做菜,跟进技校有什么区别?太low了。但是你明明就没有资格以及不想成为厨师啊....

6、很多编程零基础的人一上来就想学人工智能、大数据等这些看起来很有前途的方向,妄想通过培训半年就能找到好工作,这些都已经不切实际了。【那还不如和渣渣辉一起挂机玩游戏】(特别刻苦肯学,有理工科背景,热爱数学、喜欢编程,能坚持学习一年以上的例外,国外这样的例子太多)。很多培训班不加限制不设前提就鼓吹这些领域的求职神话就是欺诈,严重误人子弟。这些方向甚至都不建议一般学校乃至一些985计算机专业的学生来学习。(有毅力、决心、恒心者即使是30多岁劝退的年纪零基础也可以,但是你这是在挑战人性,没有几个人可以做到)。

如果你想转型IT,成为互联网方向的职场达人,其实方向是有很多很多的,比如如果你对设计有追求,哪怕你没有绘画天赋,你仍然可以学UI、UX;如果你对互联网产品感兴趣,沟通能力比较强,产品经理就比较适合你;如果你自认为你喜欢研究数据,数据分析就有大量岗位等着你;前端、后端、移动端、测试、运维等等都有大量高薪有前途的岗位。

互联网(含EE、CS)相关岗位是非常丰富的,编程不只是会让你成为程序员,机会多的是,没有必要硬着头皮不切实际去成为算法工程师、人工智能工程师、大数据工程师这些你已经不具备进入资格的方向。

如何自学编程

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注