编程本来并不难,但是你没有基础,缺乏计算机基础知识,那就非常困难,难于上青天。
https://www.bilibili.com/video/BV1qL411u7eE?spm_id_from=333.999.0.0
作为自学党,不知道一开始要学些什么,学到什么程序,学到后能找到工作吗,工作后用到的跟学的一样吗?
而其中只要有一个问题困扰了你,那你就很容易半途而废。刚开始接触编程的人会觉得记代码很难,因为代码十分枯燥。还有检查代码也是一件比较难的事情,因为不仔细就看不出来,或者不知道自己有没有写错也是很困扰的事。但这些随着自己的的深入学习都会迎刃而解的。
个人以为最难的应该是一下几点:
1、方向难
编程只是一个统筹,编程行业是有很多细分的区域的:什么前端网页后端网站的,什么移动端ios的、安卓的,什么后台设计的。涉及面很广,做网页的,有用jq+原生js的,有用vue.js,有用react的;做安卓的,又可以分做底层嵌入式驱动的,做系统框架的,做应用的。做后台的,又分为很多框架,技术栈和语言不同,java ,.net,python等等各领风骚。
所以选择一个好的方向,难!因为每个分工没有优劣之分。也许你只是想混口饭吃,不在乎做哪方面。
我的想法是,兴趣是最好的老师,用它来告诉你。
2、基础难
在学习上面知识之前,你还得先打下基础,毕竟没有不会走路的婴儿能够跑步的。要学的基础很多,包含计算机的组成,网络通信协议,数据结构等等。
基础就像地基,不稳固的话,你的代码就会摇摆不稳,随时有崩塌的危险。
基础的学习,涉及到的概念会比较多。就如一开始的二进制知识原码,补码,反码,就常常令人发疯。
学到什么程序呢?
那培训出来的人那样,可以手写java虚拟机的程度吗?
完全不必,我想出来工作10几年的都没几个人能到达那种大神境界。
能笔试通过就够用了。
基础的学习,可能就得花去你两三个月的时间,还是在你有毅力坚持的情况下。
3、实战难
你按照教程的步骤一步步操作,发现怎么一开始搭个环境都不行,这个版本怎么跟我的不一样这么旧。
好不容易环境没问题了,怎么我的代码就是运行不起来,明明看起来跟书本是一样的。
错误千万条,条条通向bug。
自学的人往往身边没人合适的可以请教的人,教程一般来说都会相应落后,实践的例子大多是demo样例级别,跟工作中用的东西差别很大。这三个搞在一起,想死的心都有了。你会发现学习了大半年,项目经验却基本为零。
4、精通难
自学编程,遇到的问题基本上都是自己摸索解决的,有些东西可能也暂时无法解决。由于没有实际的工作经验,没有处理和积累过工作中会遇到的各种突发问题,没有参与大型的高复杂度的软件设计,缺乏跟同事们的技术交流,技术会达到瓶颈,也很难养成良好的编程规范。
5、做出来容易,做正确难
这里所说的做出来是指没BUG且完成需要的功能,这是最基本要求。
这里正确,不是指功能正确,而是指程序可以很容易推理理解,理解意图,理解如何做到的,理解为什么系统不会出错。
正确是指写的程序能够解决问题且没有 bug 是基本要求。写的程序容易理解,能够很容易让其他接手的程序员(水平不差)看懂为什么这么写。
6、编程是给未来的未知人讲故事
你无法知道将来接触到这个程序的人是谁,他都懂什么,他经历过什么,这个系统将来呈现出来是什么样子。
我们需要在这种无知,缺乏信息的情况下做决定,从千万种把这件事做出来的方法里,选出你觉得最能把这个故事给讲好的那种方式,然后将故事写下来。
编程是一种沟通,沟通是一种艺术,用程序跨越时空的沟通则是一门属于程序员特有的艺术。
既然知道学习编程难在哪,那么在学编程的小伙伴,要让自己具备哪些能力呢?
编程对每一项能力要求都不是非常的极端,但是除了最基本的技术能力要过关之外,一个合格的程序员也需要全方位的能力。
1、对未知问题的分析、简化,优秀的逻辑能力
程序思维确实对开发很重要
很多时候,你并不一定能通过报错信息获得错误的具体信息。这种时候,优秀的程序思维能够大幅缩短你定位到bug所花费的时间。但这个能力,只能在不断地工作中锻炼。
很多优秀的程序员,都具备一种能力,当出现问题或者运营报了一两个bug,能迅速反应出错误的点在哪,迅速定位问题,这是建立在熟悉代码和优秀的逻辑思维上。
2、耐住枯燥,保持对代码的热情
耐性是一个难点,劝退了很多人:编程要求长期在一个相对抽象的问题上思考和尝试,本身是比较无聊的。这世界上有多少有耐性的人?想必大家心里都有数。
兴趣是最好的老师,不论你是出于想要拿高薪就业的目的还是单纯喜欢。如果你不迷恋技术,对代码充满热情,那你只能做一个平凡的程序员。
3、终身学习的能力
计算机行业发展非常迅速,现在热门的技术很可能几年之后就会过时,所以保持强烈的学习欲望并且不断抓住机会提升自己的程序员是非常抢手的。
不说非技术行业,就是传统技术行业,大多数也是入行3、5年就能学到80%的技术,后面就不需要接触太多新知识了。
但是,程序员就不一样,在学校里学的,最多不到一辈子知识的20%,后面还要不断学习、补课、跟进,就算到了30多岁,有家有口,还是需要去不断学习,不断与时俱进!
虽然,零基础的小伙伴入门编程,要渡过那个最初不懂的到了解的过程,是有点难!
但这并不意味着我们就不能够去学会它掌握它!
不用懂算法,也可以学编程,这是两门不同的课。
代码慢不要紧,只要能运行,能替你省时间就行。
就像英语不需要好到去同传当翻译,能帮助你更好生活能在你的工作上有所帮助,就不错。
最主要的,你用心去投入到编程学习这件事情上!
如果每天真的以一万小时的心态来做,其实用不着一万个小时目标就达成了。
https://www.bilibili.com/video/BV1qL411u7eE?spm_id_from=333.999.0.0
想要更多入门编程技术学习资料?又找不到靠谱的视频教程,也可以留言跟我索取哦!