怎么学计算机?初学者学习路线推荐!

1. 前言

笔者在计算机这条路上走过不少弯路,诚然现代网络使得信息唾手可得,但是带来的负面影响也不能忽视,那就是全都是过时、或错误的信息! 文章可能比较长,但皆为肺腑之言,至少比绝大多数文章更据说服力,希望各位考虑好再去学习。

过时和错误这些因何而起呢?这里只简要说明一下。
去 B 站、淘宝等渠道搜索学习资料,你会发现所有的东西标题都是 2024 最新xxx,点进去就发现,作者故意去掉时间相关信息混淆视听。没有人分享出最新的知识,因为一线的开发人员本身也没有时间跟你分享。亦或是很多人似懂非懂,不经考证,copy 别人的文章作为自己的博客,以讹传讹最后传播了错误的知识。这些都极大的影响了我们的学习效率!因此,笔者在此结合自己的学习经验,分享一些经典的好书、重要的知识。

2. 英语

学计算机如果你不会数学,关系不大,但是不会英语,事倍功半。非常多的视频、培训机构等明确表示,不会英语没关系!代码都是简单的英文单词,常用的没多少。我只说一句有说服力的话,我不卖课,他卖课。培训机构最擅长以个例去说服你买他的课程,举例子说某某某不会英语,现在是大厂的高管之类的话。第一,现在是 2024 年,往前翻几十年,上过高中就算知识分子了,现在不会英语你可能小厂都进不去。第二,不要拿个例去讲,内特·罗宾逊一米七在 NBA 打球,那你一米七五要不要去试试呢?以上是说明培训机构的话经不起推敲。
下面说明为什么英语重要。

  1. 代码的英文单词命名都有其含义,都是缩写、或全称,看得懂英文学起来非常轻松。
  2. 如果你写出了 Bug ,面对满屏的英文报错信息,不懂英文只能硬着头皮搜百度了。
  3. 比较重要的一点,任何主流的技术,最新的永远是官方文档。不会看官方文档,等着别人翻译好了菜都凉了。虽然可以用翻译软件(我也用),但是某些地方太过于机翻还是要比对一下原文意思。这点很重要,不会看文档对程序员来说简直是灾难。

3. 学Java / Python 前要不要先学 C/C++?

如果你时间足够,我是推荐去学的。这个和英语不一样,这个是纯粹的个人推荐,因为确实有大量的直接上手 Java 的人学的很好。C 语言是一切的基础,连 Java 本身都是用 C 写的。下面说几个注意的点。

  1. 学完 C 语言(我不是指看过一遍网课,要多学一学),学 Java 或其他语言会非常快,不用担心从头学习的问题。
  2. 学完 C 语言会让你更了解代码是如何运作的,而不是你点运行,代码就一行一行执行了,对内存更加清晰。

4. C/C++ 效率最快啦,其他语言都不行

这是初学者的常见错误与偏见之一。第一,C 是很快,但是对大部分地方来说,差的那 0.000001 ms 没有用。第二,快的代价是:上手很慢,编译很慢,开发很慢,这对你的老板来讲的不可接受的,你多开发一天,他就多发一天工资。并且这个变幻无常的市场来说,人家产品上线俩月了,你这才开始测试,还有用吗?在后端开发中,现在貌似除非 C++ 无法替代,不然都用 Java、Go 来做了。所以想好你以后的开发方向,再决定深入哪门语言。

5. 基础课程推荐

基础课非常重要,这是你内力的体现。就好像…上高中时候,你的计算能力超强,很复杂的数都可以快速在草纸上算出来,这东西拿出来就一个字:硬。

  1. C/C++:初学者可以看看郝斌的课程,老师人很好,我还给他发过邮件,他都会回答我问题…想想当时那个问题太二了。
  2. Java:如果你学过 C++,可以直接看书,Java 核心技术指南
  3. 操作系统:比较重要,面试常问
  4. 计算机网络:做后端非常重要,建议反复观摩:计算机网络(谢希仁)讲的通俗易懂。
  5. 计算机组成原理:做软件的话其实面试不怎么问,但是也要会。
  6. 数据结构与算法:非常重要,小厂可能不考,大厂一定会考。烧脑的属于,建议慢慢啃,一天搞两道题。因为很可能一道题做一天。
  7. 数据库:非常非常重要,后端开发玩的就是数据库。
    以上就是你必须学习的基础课程,有了这些你才可以去学习技术,比如 SpringBoot、MySQL、Redis、MQ 等。当然,其实你不学上面这些,也可以去使用这些框架,因为框架的目的就是给你使用,所以已经设计的非常简单易用了。但是,第一,面试会考。第二,基础课程会决定你可以走多远。

6. 前端 or 后端

天天前端已死在那宣传,我都怀疑是前端自己搞的水军。从目前招聘情况来看,十个有九个去卷后端了。现在的情况是前端比较容易,后端需要会前端的同时,又要会大量的后端知识。
但是注意: 我建议找个自己喜欢的学,因为等你学完的时候,还不知道什么情况呢。事情就是这样,我研究生期间的同学,读完三年研究生,回头找工作,还没有他本科同学工资高。甚至他本科同学当时随便去的公司,到他这简历都过不去。没人知道什么情况的。

7. 后端知识推荐

前端我也搞不太懂,在这里推荐一些必会的 Java 后端知识。后端还是 Java 的天下,至少目前国内是这样。Py 和 Go 也有,Go 在慢慢发展,C++ 的话还真比较少。

  1. MySQL:必会,学多少都不嫌多。书籍:MySQL是怎样运行的,还有一个 MySQL 45讲也不错
  2. Redis:必会,不上 redis 哪来的速度呢?
  3. Spring:学 Java = 学 Spring,Spring 已经一统天下了。可以直接学 SpringBoot、SpringCloud
  4. Mybatis:国内最流行的 SSM ,就是 SpringBoot、SpringCloud、Mybatis。半自动的 ORM 框架。后端就是在数据库里找数据嘛,真让我优化我也不会呀,写写 Mybatis 就不错啦。

感谢您的阅读,接下来我会更新更多的知识!

  • 16
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于初学者学习Windows驱动程序开发框架,以下是一个入门的学习路线图和相关资料的建议: 1. 基础知识: - 确保您具备C/C++编程语言的基础知识,包括语法、指针、内存管理等。 - 了解操作系统的基本原理和Windows内核的基本工作方式。 2. Windows驱动程序开发概述: - 了解驱动程序的概念、作用以及在计算机系统中的位置和作用。 - 学习驱动程序开发的基本流程和开发环境的配置。 3. Windows内核模式驱动程序开发: - 学习如何使用Windows Driver Kit (WDK) 和 Visual Studio 进行驱动程序开发。 - 了解内核模式和用户模式之间的区别和通信机制。 - 学习如何编写、编译、调试和部署内核模式驱动程序。 4. 学习Windows驱动程序框架: - 了解Windows驱动程序框架的不同类型,如WDM (Windows Driver Model)、KMDF (Kernel-Mode Driver Framework)、UMDF (User-Mode Driver Framework)等。 - 根据您的需求选择适当的框架并深入学习其原理、结构和使用方法。 5. 实践项目: - 选择一个小型的驱动程序项目作为实践,例如简单的设备驱动程序或文件系统过滤器驱动程序。 - 通过实际编写代码、调试和测试,加深对驱动程序开发的理解和掌握。 6. 学习资料和资源: - 官方文档:Microsoft官方提供了详细的驱动程序开发文档、示例代码和教程,您可以从Microsoft官方网站上获取最新的WDK和相关文档。 - 书籍:有一些书籍专门介绍Windows驱动程序开发,例如《Windows内核驱动程序开发详解》、《Windows驱动程序基础》等。这些书籍可以提供更系统和深入的学习资料。 - 在线资源:CSDN、微软官方网站、开发者社区和论坛等提供了大量的驱动程序开发教程、博客文章和讨论。参与其中,与其他开发者交流和分享经验。 请注意,学习驱动程序开发是一个需要持续实践和不断尝试的过程。除了理论知识外,实际项目经验对于深入理解和掌握驱动程序开发框架也非常重要。因此,建议您在学习过程中注重实践和项目应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值