写个代码,为什么要学那么多东西?

198 篇文章 7 订阅
154 篇文章 2 订阅

前言

听到过很多人抱怨,为什么做程序员需要学那么多的东西,天天学,夜夜学,还是赶不上新技术出现的速度。

这要从程序员的工作究竟要做什么说起。

我尝试对这个问题做一个归纳,就是:用最小的成本让代码运行起来,解决现实世界存在的需求或问题,并保障代码能持续稳定的运行下去。

对于没有接触过软件开发的人来说,这或许有些抽象,我们可以做个类比。软件开发,就相当于在虚拟的世界里盖出一栋栋的大楼。 这就是为什么很多程序员会自比码农或者建筑工人。相比在现实世界盖楼,建造虚拟的大楼固然相对简单,但单个项目投入的人力也会远远低于现实建筑。这样就要求程序员的知识面更广,能够覆盖一个项目从分析、设计到实施、验收整个流程。

我们再对其做个拆解:

将现实世界的事物、流程用计算机表示出来;

写出代码;

让代码能够运行;

了解系统的运行状态并保障其稳定运行;

减少做上述一系列事情的成本;

无论是大家大学期间学的各个课程,还是工作后背的各种八股,以及学习使用的各类工具,本质上都是为了解决上面这些问题。

接下来我会列一下作为一个合格的程序员,都需要掌握哪些知识,并说明他们有什么作用。

数据结构、算法,就是将现实世界中的事物、流程用计算机表示出来的方法;

为了写出代码,我们需要学习常用的编程语言;

为了让代码能够运行,就需要有计算机体系结构、组成原理、编译原理;

为了了解系统的运行状态并保障其稳定运行,有了各种监控、日志工具,比如prometheus、log4j、zipkin,等等。

而剩下的相当一部分知识,其实都是为了减少做上述一系列事情的成本;比如,

软件工程是针对开发流程的方法论,目的是减少在沟通、开发中各种配合性的工作带来的各种损耗;

设计模式是针对开发中具体问题的解决方案和最佳实践,通过对一些常见的场景给出代码模版或模式,提升开发效率;

像操作系统、计算机网络,就是对硬件相关的各种操作进行了封装,让我们写应用程序的时候,无需再考虑怎么调动键盘、怎么让数据通过网络传输,等等;

像数据库原理及一些常用数据库的实现,也是对数据怎么保存这一问题的通用解决方案。

包括后来出来的消息队列、缓存、容器技术以及各种分布式理论、云原生,实际上都是一代代的前辈们贡献的“轮子”。

这些轮子固然给我们带来了越来越高的学习成本,但也让我们的开发体验越来越舒适,我们可以从容的应对越来越复杂的业务场景。

同时,事实上,如果能理解这些知识为什么会出现,学习起来也会更加简单。你会发现,所有的知识都是相通的,他们有一套共有的底层逻辑,就是帮助程序员更好的解决现实问题。

像我之前对云原生的介绍、对设计模式的归纳、对分布式系统的总结,都是按照这个思路来进行的。将来也会按照这个思路,将更多的知识点给大家讲明白,欢迎关注和收藏。

读者福利:如果你对Python感兴趣,这套python学习资料一定对你有用

无论你是对Python感兴趣,还是想要多学一份技能提高工作效率,扎实的学习好Python相关知识是重中之重!在现在的互联网行业,无论是大厂还是小公司,招聘人才的最核心要求是技术能力,只有自己的能力和岗位匹配的时候,你才能获得更多的工作机会。

资料包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等学习教程。带你从零基础系统性的学好Python!

零基础Python学习资源介绍

👉Python学习路线汇总👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)

在这里插入图片描述

👉入门学习视频👈

👉实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

在这里插入图片描述

👉100道Python练习题👈

检查学习结果。

👉面试刷题👈

在这里插入图片描述

在这里插入图片描述

资料领取

上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码输入“领取资料” 即可领取

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要精通C#语言,你需要掌握以下几个方面: 1. 基础语法:学习C#的基础语法,包括变量、数据类型、条件语句、循环语句等。可以通过阅读相关书籍、教程或者参加在线课程来学习。 2. 面向对象编程(OOP):C#是一门面向对象的编程语言,掌握面向对象的概念和特性非常重要。了解类、对象、继承、多态等概念,并学会如何应用它们来设计和组织代码。 3. .NET框架:C#是.NET平台的主要编程语言,熟悉并理解.NET框架是必不可少的。学习如何使用.NET框架中的类库、API和工具,例如Windows Forms、ASP.NET、ADO.NET等。 4. 数据库编程:掌握如何使用C#与数据库进行交互,学习数据库的基本概念和SQL语言,以及使用ADO.NET或Entity Framework等技术进行数据访问。 5. 常用开发工具:学会使用常用的C#开发工具,例如Visual Studio等。熟悉开发环境的使用和调试技巧,能够高效地开发和调试C#程序。 学习C#可以选择自学或者参加相关的培训课程。自学可以通过阅读相关书籍、教程和文档,参考官方文档和社区资源,以及编写实际项目来提升自己的技能。参加培训课程可以获取系统化的知识和指导,并与其他学习者进行交流和学习。 重要的是不断练习和实践,通过编写小项目或者参与开源项目来应用所学知识,提高自己的编程能力。同时,保持对新技术和相关领域的学习兴趣,关注最新的发展和趋势,不断更新自己的知识。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值