大家好,我是鱼皮。

昨天在某乎看到一个问题:“ 准备自学Java,但是B站有两版视频,应该看哪个?

如今,编程学习资源越来越多,很多想学编程的朋友都会遇到类似的资源选择问题。对于初学者而言,选择合适的编程资源尤为重要,否则就容易被劝退。

作为一名万年沉迷自学党,结合自己大学的经历,分享下我选择学习资源的方法。

主要包括两个方面:

  1. 选择何种类型的资源?

  2. 同类资源如何对比?

资源类型

学习资源类型有很多,比如书籍、电子书、在线网站、在线文档、视频、讲义等等。

我认为选择学习资源的要点是:以能学下去为前提,保证学习效率的最大化

因此,我会 在不同的阶段选择不同类型的资源

早在高考结束时,我就读过一本 C 语言经典书籍《C Primer Plus》,强行读了几十页后,我就被大量的术语和理论劝退了,这本书对我而言,为时过早。

因此,刚刚步入大学,初学编程时,相对于枯燥的课本教材,我会选择比较轻松、能帮助我上手和培养兴趣的资源。前端和 Python 对新手还是比较友好的,因此除了学校教的 C 语言外,我主动去学习前端。在学习前端时,我没有选择看书,而是先通过一个 在线实战、敲代码闯关的网站学习基础语法。

这里也给大家推荐一些在线练习网站:

前端:

入门编程 & 自学前端必备网站!

Java:

超有趣的 Java 自学网站!

Python:

高效交互式在线编程学习

算法应用:

打怪升级,在线练习编程的神器!

当然,还有很多,大家可以先到编程导航(https://www.code-nav.cn)上找找看,后面以推文的形式慢慢给大家推荐~

通过在线练习网站,帮助我快速了解了一门编程语言,培养了我的兴趣,并能够直接写出一些入门级代码。在这之后,就不要再依赖这些网站了,目前没有任何一个网站能帮助你从入门到精通!我会倾向于选择 阅读一本经典书籍 来巩固这门编程语言的基础,比如 Java 我选择了《Java 核心技术卷 1》,这本书排版优雅,内容殷实,总之就是好!

当然,不是所有人都喜欢阅读,我有事也会觉得看书比较无聊。如果看书看不下去了,可以到网上看一些视频课程入门,但看完视频后,一定要倒过来阅读经典书籍,躲不掉的。基础都不牢固,就强行去学开发框架,一定会犯很多低级错误,踩很多坑。

追求速成?不存在的,哪有那么好的事儿,欠下的这些打基础的时间,都会在日后以 bug 的形式加倍奉还!

那怎么算是打好基础了呢?

没有一个明确的边界,总之就是你能把书中或视频中提到的知识理解并能写出代码实际应用,就 ok 了。比如学习面向对象的继承时,你不能只知道继承的语法,还要知道继承的好处,以及在什么情况下应该使用继承。能用学到的知识去解决问题了,就算过关~

打好编程语言基础后,我已经可以编写一些简单的软件了,下一步就是提升开发的效率,学习企业级开发框架。我会选择看一些 视频教程 来学习主流开发框架,因为学习框架一定要先会用,再去理解和深挖它的原理和工作机制,网上的视频相对于书本来说,会更有趣一些。当然也不是只看视频,还要跟着老师的节奏敲代码、多练习。一个系列的视频看完后,就 一定要亲自做出个项目,否则跟没看一样,纸上谈兵,一看就会,一写就废。

当我学会了一门编程语言对应的开发框架后,我会到网上找一些简单的 开源项目,阅读他人的代码,跟着项目代码进行练习,学习他人的写法。想学好编程,除了多敲代码外,还要多阅读他人的代码,否则很多代码规范,或者一些小技巧、骚操作你都 get 不到。而且一旦你不接触别人的代码,只按照当初的视频教程去写,假如培训机构的哪个写法不规范,可能你会被误导一辈子!

**别笑,这就是很多同学的真实写照!**问他为什么写这么烂的代码,他说:“我看别人视频里就是这么写的呀!”

随着你的编程经验不断积累、能力逐渐提高,你自然会去接触一些更专业、更规范、更底层的知识。此时学习的最好方式就是 阅读技术书籍。尤其是大公司,面试时一定会问到底层知识,所以一定要彻底地、系统地学习一门技术,就拿 Java 的虚拟机 JVM 来说,要去了解他的设计思路、实现原理、性能调优等。优秀的程序员不仅要能写出代码,还要能写出 好代码(高可用、高性能、高并发、可扩展、可维护、规范等),而这就需要大量的理论知识储备和实践经验。

虽然都说 “面试造火箭,工作拧螺丝”,但是大厂对人才的需求 不是看你的现在,而是看你的未来,能否去承担更大、更具挑战和价值的任务。

随着你的阅读量越来越大,知识面越来越广,你会发现学习新知识比以前轻松了不少,这时最有效的学习新技术的方法就是阅读 官方文档。因为官方文档一定是所有资源中 最新、最专业、最全面 的,其他所有的学习资源都是建立在官方文档的基础上的。与其道听途说,为什么不自己一探究竟呢?这也是很多专业的程序员喜欢阅读文档的原因。

当然,除了阅读官方文档外,还有更猛的、更无情的方式,直接看源码!在源代码面前,没有任何秘密可言。

Talk is cheap,show me the code!

资源对比

上面讲了我在不同阶段是如何选择学习资源类别的,下面再聊聊同类资源面前,如何对比?

我会重点考虑以下因素:

1. 资源时效

即书籍的出版时间,或视频、文章的创作时间。

编程技术的发展非常迅猛,不信你看 Java,半年一个小版本、三年一个大版本;再看 Elasticsearch,四年不到,版本从 1.x 干到了 7.x!

所以一定要选择比较新、未过时的资源。经典理论、基础知识、编程语言的视频时效还长一点,内容基本不会有太大的变动,几年前的也都能看。但是如果要学编程框架或者类库,一定要看近 2 年内的,有新的就尽量看新的,比如学习 Java 的 SpringBoot 框架,要看 2.x 版本而不看 1.x 的。否则就会像我大一暑假一样,傻傻的看了不少已经被淘汰的框架用法,按照书上敲代码怎么都运行不了!

2. 作者或机构

看书时,我会尽量选择技术圈内比较知名的大佬写的书。

倒也不是名人效应,要知道,程序员们都觉得自己写的代码最牛逼,所以,能在 IT 圈儿获得认可的大佬,一定在技术上有很大的影响力,创作也会更专业!

对于培训机构的网络课程,我觉得比起机构的名声,更重要的是老师。如果某位老师的学员反馈还不错、认可度高,而且声音、讲课方式等也让你感到舒适,那么可以试着跟一位老师长期学习。

比如我早期还跟着一位人美声甜的小姐姐学 C++ 来着

万年自学党聊聊如何选择编程学习资源?相关推荐

  1. 200个经典C语言源码,免费分享IT编程学习资源

    近200多个经典C语言源码集(算法相关),包括了经典c程序100例和算法大全的文档,100个比较经典的C语言代码分享给大家,我都加了注释和解析.学习编程,只了解基本概念是不行的,关键是要写出高质量的代 ...

  2. 【干货】程序员必备的中文在线编程学习网站!

    迫于英语烂得一塌糊涂,本人愤而转向中文编程学习网站,给大伙推荐几个我认为质量和性价比都很高的网站,放心食用! 在线OJ及部分题解 先推一波OJ(在线编程评测平台).我的人生信条是:没有什么比亲自动手c ...

  3. 基于SSM的青少年编程学习系统设计与实现

    摘 要:在智能技术飞速发展的今天,各国都努力争取在人工智能时代的发展中占据优势,青 少年编程教育就显得格外重要.不过,相比一些青少年编程教育发展更先进的国家,我国青少 年编程教育仍处在初级阶段,很多青 ...

  4. 【必收藏】2021全网最火全套IT编程语言百度网盘学习资源汇总 !!!

    关注微信公众号[ java大数据修炼之道 ] 后 !!! java全套:  公众号后台回复关键字:  java学习 java学习路线全攻略(资源.视频.源码.项目实战) https://mp.weix ...

  5. 区块链以太坊学习资源(by quqi99)

    作者:张华 发表于:2021-12-04 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 (http://blog.csdn.net/quqi99 ) 下面的以 ...

  6. c语言程序设计自学跟谁好,双辽c语言编程学习,双辽学c语言编程哪个好,双辽学c语言编程自学好还是报班好...

    双辽c语言编程学习,双辽学c语言编程哪个好,双辽学c语言编程自学好还是报班好 首页 > 软件 > 双辽c语言编程学习 作者:镀金池   发布时间:2017-12-07 05:48 一个C语 ...

  7. 分享自学编程收藏的网站学习资源

    最新一期二手书:第37期 C和指针 & C陷阱与缺陷 活到学到老,自学能力已经成为最重要的一种竞争力,特别是在IT行业,每个人都有自学的经历,我也不例外,这些是我在学习中.工作中收藏的网站资源 ...

  8. 【学习编程】献给迷茫中的你,教你如何快速入门编程,如何从编程小百到 IT 巨佬?零基础自学请收下这份学习指南(经验分享)

    导语 编程初学者可能都思考过这个问题: "我该怎么学编程?我要选择哪门编程语言比较适合我呢?......" 今天小编教大家认识编程语言,了解编程语言. 我们已经迈进了崭新的2023 ...

  9. 零基础怎样自学编程?新手如何学习编程?编程学习入门指南

    对于编程,很多新手的第一感觉可能就是: 高深,难学. 学好编程,有的时候,可以把一些需要我们重复劳动的工作,自动化批量处理,为我们节省很多时间和精力. 对于一些学得比较深入的朋友来说,更是可以通过它找 ...

最新文章

  1. Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
  2. 视频与图像RGB/YUV格式详解
  3. PowerShell在Exchange2010下快速开启邮箱
  4. H.264中的量化过程
  5. python opencv 4.1.0 cv2.convertScaleAbs()函数 (通过线性变换将数据转换成8位[uint8])(用于Intel Realsense D435显示depth图像)
  6. 798·锣鼓巷·牛街
  7. Android监听返回键、Home键+再按一次返回键退出应用
  8. 再谈PN学习(Tracking-Learning-Detection)
  9. 用python处理DEA模型--CCR
  10. 嵌入式开发之交叉编译工具链制作
  11. 使用easywechat调用微信支付
  12. 如何提高公寓房屋出租率?
  13. 你的善良必须有点锋芒
  14. c语言法定节日日历程序,C 语言写的日历
  15. 4K Stogram Mac版(Instagram照片下载工具)中文版
  16. Oracle不完全恢复
  17. 用java实现matlab的随机函数randsrc(m,n,[alphabet; prob])
  18. 用java实现耀辉三角
  19. (实验一)十进制整数的原反补移码实现
  20. 零基础学习设计模式之装饰器模式(配套视频)

热门文章

  1. webform中提交按钮同时执行更新和插入操作_软件测试中的功能测试点(三)
  2. html5显示字母的值,使用HTML5 Canvas API控制字体的显示与渲染的方法
  3. 机器学习 监督学习论文_NeurIPS 2020最佳机器学习论文奖
  4. n分频器 verilog_时钟分频系列——分数分频电路的Verilog实现
  5. python画多边形_python – 使用matplotlib更有效地绘制多边形
  6. android手机定位p适配,Android 9(P)版本适配指南
  7. 文件路径和模块路径、nodemon工具
  8. 排序二叉树 SortBinaryTree
  9. 2022年保险行业展望
  10. 互联网晚报 | 2月11日 星期五 | 小红书月活跃用户超2亿;小鹏汽车宣布拓展欧洲市场;贝壳首个青年公寓项目落地上海...