为什么很多人自学编程然后都放弃了
编程难不难?那可不是闹着玩的。不从事这一行的永远不知道这行的艰辛,还咋巴着小眼睛问编程好不好学?
不知道LZ看没看过圣斗士星矢这部动漫,如果你想踏入编程殿堂,就要先想想那个被无数小孩子嘲笑的实力很菜又只会死缠滥打经常被虐得体无完肤的主角星矢,首先你得问问自己,想学编程,你有没有像星矢一样持之以恒百折不挠一步一个脚印忍受常人无法想象的困难和痛苦的品质,没有?你说我开玩笑逗你,那好,下面的不用看了,应该你确实不适合学。
如果你只想着挣大钱,劝你别碰这行,一句话,别来找虐。为什么?你看到的手机APP,各种应用,要想开发出来,不知道需要多少种技术。拿最常见的网站开发,需要后台数据库mysql,数据格式json,xml,各种网络协议,还有网站开发语言PHP, JSP,ASP.NET,等等不下十几种技术。而每一种技术都是一本厚厚的五六百页的书,需要最少一年多时间掌握一门技术。最要命的,每种技术互不交叉还跨度很大,每种技术都有自己的设计理念和很多很多“天坑”在等着你攻克,你问问你自己,你有这个恒心和意志力天天捧着本大部头的书天天看,天天上机操作学吗?你说有,那好,你看电视上那些富二代天天潇洒地到处游玩泡妞基本于你无缘了,因为你根本就没时间,谈个恋爱都困难,还想打网游玩王者?那算了,你还是别碰这行了,别耽误你玩游戏享受生活了。
程序员加班很恐怖,工作制通常是996,即早9晚9周六还要上班,晚9下班还是早的,一般到晚上十点。你想那时夜深人静了人家都休息抱着老婆睡觉了,你还在工作中,是不是很崩溃?
第2,程序员耗脑太严重。工作中需要十几个小时大脑不停地运转。需要设计算法,不断地把代码改来改去来适应客户一天几变的需求。很多功能没有现成的解决方案,还经常遇到一些天书一样的疑难问题,bug,实际工作中突发状况千奇百怪,你可能见都没见过的bug,崩溃,需要一点一点查几万行的log日志。而且也需要百度,google,英文论坛寻求帮助,理解错误信息是什么意思。所以英文不好的没耐心的还是算了吧,不适合这行。
第3. 程序开发首先是非常难学的,任何一门编程语言都有自己独到的思想,概念设计,很多情况下一门语言与另一门语言没有多大关系,知识经验无法串用。而且工作中你还不得不用到这些技术你不得不去学。而且程序技术日新月异,新类库新SDK每天都会推出,你需要日复一日不断地学习新技术。如最新视频解码技术,游戏引擎等等,而这些新技术可是国内没有书和任何资料的,需要你到英文官方网站去找实例看文档去学,更要命的,新的技术和老的还没太大关联,你得重头去学。而且老板急赶项目不会给你什么时间,一般三天就是极限了,你需要这么短的时间快速掌握一项新技术...
综上,你明白程序员为什么总要加班了吧,也知道这行不是人干的吧。为什么说程序员干到三十干不动。很简单,以这种消磨人生所有时间状态,你生命中只有加班加班工作工作学习学习,你将不能顾家不能跟朋友聚会不能再有自己一点点休闲时间,更别说谈女朋友恋爱了,以这种状态你能坚持到三十岁?我想那简直是个奇迹了
为什么零基础自学编程者,大多半途而废?
有部分原因是自学中遇到太多问题,比如好多需要花费时间去深究,没有时间等等的。身边也没有一起学习的朋友,学着学着就放弃了。
编程学习来难度大不大?可以自学吗?
首先,编程是可以自学的,但前提是你自制力学习力非常好,也需要你对编程有很大的兴趣。
要说编程难不难,这给你总结下编程的难点吧:
1、初学者。编程是用计算机语言和计算机交流,你输入什么,你期望计算机理解之后,输出你需要的结果。所以这个过程可以概括为“输入–计算–输出”。学习一门计算机语言,说难不难,说易也不太容易,为什么呢?如果你是编程的初学者,你要上手一门语言,是非常困难的(天才除外);但如果你是精通一两门语言,再去学其他语言,可以说一个星期就能熟悉。所以,对大部分初学者来说,编程语言是难点。
2、编程思想。程序员一定要有编程思想。跳过初学者这一关,假设你可以对任何语言顺手拈来、即插即用,那么,你水平就一定很高了吗?其实不然,这只能说明你学习能力上一层楼了,但并不说明你就多么厉害。比如,你熟悉设计模式吗?设计系统的时候有没考虑扩展性?是否考虑到性能问题……如果整天只做crud,不去关注以上问题的话,瓶颈是很难突破的。那么编程思想何来?就要平时多阅读这类的书籍和文章,比如设计模式,比如高并发系统设计相关知识等。除此以外,还要多思考,为什么这样设计,所谓学而不思则罔,思而不学则殆!
3、沟通能力。好了,即使你掌握多种语言,又可以把系统设计要得很溜了,但是如果你是个不会说话的哑巴,你就无法表达出自己的思想,无法向老板展现你的才能,那么你的职业生涯会受到很多限制。我自认为本人的沟通能力是弱项,自己也在不断努力改善这点。现在每次参加讨论的时候都会积极发言,表达自己的观点,除此之外还报了一些口才课,来提升自己的表达能力。
当然,每个人的逻辑思维能力不同,兴趣点不同,总有一部分人觉得容易,一部分人觉得吃力。但只要你想学,肯定能学会。
学习编程是一个漫长而痛苦的过程,需要持之以恒的耐心,千自万不能急于求成。对于一名初学者来说,最重要的还是打好基础。说实话入门不难,但是想做精就比较困难了。
希望能帮到你,望采纳!
学习编程究竟有多难?为什么人们一提起编程都觉得很难?
很难,人们一提起编程之所以都觉得很困难,那是因为在学习编程的时候,需要解决很多难题,也需要学习很多课本知识,时间一长,精神压力会很大,如果学的不是很好,还有可能会出现挂科的情况。而且也有可能会让自己出现掉头发的情况。
编程很难学习?
编程难不难?那可不是闹着玩的。不从事这一行的永远不知道这行的艰辛,还咋巴着小眼睛问编程好不好学?
不知道LZ看没看过圣斗士星矢这部动漫,首先你得问问自己,想学编程,你有没有像星矢一样持之以恒百折不挠一步一个脚印忍受常人无法想象的困难和痛苦的品质,没有?你说我开玩笑逗你,那好,下面的不用看了,应该你确实不适合学。
如果你只想着挣大钱,劝你别碰这行,一句话,别来找虐。为什么?你看到的手机APP,各种应用,要想开发出来,不知道需要多少种技术。拿最常见的网站开发,需要后台数据库mysql,数据格式json,xml,各种网络协议,还有网站开发语言PHP, JSP,ASP.NET,等等不下十几种技术。而每一种技术都是一本厚厚的五六百页的书,需要最少一年多时间掌握一门技术。最要命的,每种技术互不交叉还跨度很大,每种技术都有自己的设计理念和很多很多“天坑”在等着你攻克,你问问你自己,你有这个恒心和意志力天天捧着本大部头的书天天看,天天上机操作学吗?你说有,那好,你看电视上那些富二代天天潇洒地到处游玩泡妞基本于你无缘了,因为你根本就没时间,谈个恋爱都困难,还想打网游玩王者?那算了,你还是别碰这行了,别耽误你玩游戏享受生活了。
程序员加班很恐怖,工作制通常是996,即早9晚9周六还要上班,晚9下班还是早的,一般到晚上十点。你想那时夜深人静了人家都休息抱着老婆睡觉了,你还在工作中,是不是很崩溃?
第2,程序员耗脑太严重。工作中需要十几个小时大脑不停地运转。需要设计算法,不断地把代码改来改去来适应客户一天几变的需求。很多功能没有现成的解决方案,还经常遇到一些天书一样的疑难问题,bug,实际工作中突发状况千奇百怪,你可能见都没见过的bug,崩溃,需要一点一点查几万行的log日志。而且也需要百度,google,英文论坛寻求帮助,理解错误信息是什么意思。所以英文不好的没耐心的还是算了吧,不适合这行。
第3. 程序开发首先是非常难学的,任何一门编程语言都有自己独到的思想,概念设计,很多情况下一门语言与另一门语言没有多大关系,知识经验无法串用。而且工作中你还不得不用到这些技术你不得不去学。而且程序技术日新月异,新类库新SDK每天都会推出,你需要日复一日不断地学习新技术。如最新视频解码技术,游戏引擎等等,而这些新技术可是国内没有书和任何资料的,需要你到英文官方网站去找实例看文档去学,更要命的,新的技术和老的还没太大关联,你得重头去学。而且老板急赶项目不会给你什么时间,一般三天就是极限了,你需要这么短的时间快速掌握一项新技术...
综上,你明白程序员为什么总要加班了吧,也知道这行不是人干的吧。为什么说程序员干到三十干不动。很简单,以这种消磨人生所有时间状态,你生命中只有加班加班工作工作学习学习,你将不能顾家不能跟朋友聚会不能再有自己一点点休闲时间,更别说谈女朋友恋爱了,以这种状态你能坚持到三十岁?我想那简直是个奇迹了
编程怎么那么难学啊?
难,很难,非常难!
但最难的不是知识,而是自律,而是能不能合理安排时间,而是能不能做到自我激励。
说句实在的,互联网发展到现在这个程度,网络上的学习资源完备且高质的情况下,在学习资源的获取上,自学和非自学早已没有界限了。
你报个培训机构,里面的老师大概率还没有B站上的免费课程讲的好。
自学与非自学唯一的界限就是有没有人赶着你,逼着你,监督你。
而如果你的编程学习需要人来督促你,那完了,你从培训机构出来的那一刻,你的整个职业生涯就定型了,而且一定会走下坡路。
所以,做不到自我管理,自学编程一定是很难的,而且是难上加难,编程的难加上自学的难。
我就直说了吧,我劝你放弃。
所以你除了迎难而上,坚持自学之外,没有第二条路可以走,哪怕报班暂时逃过一劫,之后也还是要面对。
文章图片1
效率不高怎么办?
你可能会说,报班不是因为自己学不了,而是因为报班有老师可以问,不会出现因为一个知识点卡死的问题,能够提升效率。
我想告诉你的是,不需要而且不可能。
首先说为什么不需要,你的80%的编程问题可以通过Baidu以及Google得到详细的简答,绝对比你的老师更详细。
剩下20%中的10%可以通过加一个技术交流群来解决。而最后的10%,相信我,你的编程老师也解决不了,不然他不会去当编程老师了。
最好的解决办法是,私聊GitHub或者公众号的编程大佬,给他们发个红包,然后询问你已经整理好的问题。
再给你分享下我的经验吧。
在我近十年的工作、学习以及与人交流的过程中,我得出一个结论:不管优秀不优秀,一个程序员的成长60% 都是靠自己,而且你越优秀这个比例就越大。
至于为什么,也很好理解。
你越优秀,比你更厉害的人就更少,无人可问无人可教,你不靠自学靠什么?
这也是为什么我说哪怕你暂时逃过一劫,你之后还是要面对。
程序员这个行业,做不到与时俱进就一定会被淘汰,要么就越工作就越感觉自己从脑力活动变成了体力活动,单纯的搬运。要么就是没等到35岁就已经因为能力跟不上企业需求的发展而被裁员。
我一直强调,程序员有没有35岁危机我不知道,但我知道程序员一定是靠技术吃饭的,而想要持续精进自己的技术,只有靠自学。
除此之外,我一直有一个观点:程序员不是教出来的,而是培养出来的。对程序员来说最重要的,不是会什么,而是能会什么。
知识是死的,学习能力却是活的。
与其想着如何便捷地获取知识,不如培养自己获取知识的能力。
所以,给你推荐一篇基础能力的文章: