十年Java开发经验分享:零基础如何自学编程?
2019-06-14 08:03:35来源:博客园 阅读 ()
自学编程有几个非常大的坑,很多人因此走了不少弯路:
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,不仅可以开发出实用项目,你都可以来接外包、来找工作了,甚至可以转行了。(计算机、工科相关专业应该怎么学技术,这个我以后会详细说一下,大家就不要在评论里杠我了哈。)
有些方向不实用,也就是实际开发已经不作为一个通用的解决方案了,比如JSP、Flash这些;
有些方向在国内用的人会越来越少,比如VB、比如http://ASP.NET;
有些方向没有前途还会阻碍你的进步,花大量时间折腾没有意义,比如易语言;
有些方向不适合新手去学,新手学了没用,哪怕再怎么流批,比如汇编;
有些技术听起来很有前途,但是不适合新手去跟风学,比如Dart,Go,你啥基础没有你也学不通。
不可谓不多,但是就是没有开始实战起来,这能学会么?有些人买了一些经典计算机教材(通常比较厚),一啃就是几个星期,甚至个把月。更可怕的是直接去啃编译原理、算法导论、计算机系统、网络编程这些书,不说你啃不啃得下来,你即使学完了你也不知道可以干嘛啊!!!
JS直接啃犀牛书,这本书可有1000页。很多人啃了半天学不下来就说编程好难。你学习方式方法有问题,编程能不难么?
PHP、Python、前端这些如果你学习两天到一周都不能上手实际开发一个东西出来(非写几行代码),你就走了很多弯路。
4、大学生千万不要用考证的方式来学编程;如果学校对二级计算机等级考试有要求,就考Office或Python吧,混过去就行了,不要去参加什么软考之类的,浪费你的时间。
很多学生视野比较狭窄,他只能接受到学校和身边的人灌输给你的知识和观念,只能了解到有限的评价体系,觉得考了这些计算机等级考试和软考才算得上是优秀,学编程也往往以这些知识为目标。这些完全可以理解,因为我大学时也考过。
事实上评价一个学生在计算机方面是否真的优秀,一个是你对技术知识的深刻理解,这一点你可以像写论文一样多写写技术文章,培养自己的研究探索精神;二是你对项目产出能力,你能够证明给自己、给他人看的,项目是非常重要的一个依据。对于一个初学者,该如何输出自己的东西这里面有非常多的学问,以后我再整理一下。
学校对于优秀学生的评价体系与企业对于优秀员工的评价体系差异是非常大的,而你个人对于学技能的追求,你自己心里也有一套标准,这三者之间有很大的不同。但是很多零基础想学技能的人却被要求按照学校的标准与方式来学,怎么可能学得好?
(当然有些技术方向的证书是可以考的,比如网络工程师CCNP、运维工程师RHCE、RHCA,PMP这些行业还是比较认可的,软考什么的就算了)
以项目为导向的方式来学习,即是符合程序员学技术的方式,又能让你对学技术欲罢不能。学习技术本来是一件可以让你很有成就感的事情,如果你学编程一个星期都受挫茫然没有效果,只能说明你学习方式不对。
国内编程教育思路很有问题,编程本来就是一项技能,所谓技能就跟做菜、骑自行车一样,你学了就可以实操。但是国内编程教育却要求你成为一个有品味的厨师,给你灌输菜系的知识,告诉你色、香、味、形、器、意、养等做菜的道理,就是不让你动手做菜。很多资深厨师会告诉你这道理太重要了,厨师不懂这些算个p的厨师,但是你明明想学的是做菜,有些人就说了,你只学做菜,跟进技校有什么区别?太low了。但是你明明就没有资格以及不想成为厨师啊....
如果你想转型IT,成为互联网方向的职场达人,其实方向是有很多很多的,比如如果你对设计有追求,哪怕你没有绘画天赋,你仍然可以学UI、UX;如果你对互联网产品感兴趣,沟通能力比较强,产品经理就比较适合你;如果你自认为你喜欢研究数据,数据分析就有大量岗位等着你;前端、后端、移动端、测试、运维等等都有大量高薪有前途的岗位。
互联网(含EE、CS)相关岗位是非常丰富的,编程不只是会让你成为程序员,机会多的是,没有必要硬着头皮不切实际去成为算法工程师、人工智能工程师、大数据工程师这些你已经不具备进入资格的方向。
原文链接:https://www.cnblogs.com/waghl/p/11019230.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Java复习一
下一篇:SpringMVC执行流程分析
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash