知识屋:更实用的电脑技术知识网站
所在位置:首页 > 科技

编程码代码等等需要什么基础?

发表时间:2022-03-24来源:网络

0、学习开源

1、英语

这是排在第一位的。

很多人都认为首要是学习编程语言,如java/ruby/python等。

我个人觉得,英语好,编程是最大助力之一。

首先:计算机方面无论软件、硬件、操作系统、数据库、中间件等,最核心的、最底层的、最先进的,目前还是来自英文国家(你懂的)

其次:无论是github,还是stack overflow,这些顶级的好站,英文的比例非常大。

再次:国内很多大厂,开源出来的,大部分为了和国际对接,大部分也采用了全英文的方式,包括说明、帮助文档、注释等等。

再再次:绝大部分代码也是用英文写的,中文编程也有,但目前还不是主流。

当然,首先要明确一点的是:

1、英语的阅读能力排第一,能看懂是第一位。

2、其次是造句作文能力,如:写简单的注释和帮助文档,总不能中文式造句吧。

2、数学

这是排在第二位的。

实话,数学好的,学习数据结构,算法,要容易好多好多。而要把代码写好,数据结构,算法又是基本功夫。

以前有句老话,学好数理化,走遍天下都不怕,数学排在前。对于学习编程来说,这个如果当做基本功夫来学,学好了,绝对受益一生。

计算机专业和数学专业,就编程方面而言,从概率上来说,数学专业要优于计算机专业。

3、计算机基础

我所理解的计算机基础,包括的内容不少:

1、操作系统

目前主流是linux,一方面开源,另外有很多底层的书籍和文档。可以帮助你在各个层面有所建树。

【linux操作系统使用基础】

【内核(开发大佬必备)】

2、数据结构

看你选择的语言,java有java的数据结构表现方式,C++有C++的数据结构表现方式。核心逻辑是一样的,只是语言不同,表现出来的代码有所差异而已。

4、设计模式

23种经典的设计模式,单例、工厂、事件等模式常用。

5、网络协议

OSI七层网络模型/TCP四层网络模型。如果做后端服务,还得结合一些网络框架进行。

这些都应该要学扎实的。

推荐《TCP/IP 详解 卷 I 协议》这本书。当然,学习网络协议不单只是看书,你最好用个抓包工具看看这些网络包是什么样的,推荐的工具:wireshark。


这样还不够,还得结合所谓的C10K(C10M) Problem。在linux下,或者学习精通一个网络框架,或者自己从零开始,去实现一个大并发请求的网络服务。目前的网络框架,muduo,sylar这些都比较优秀,值得学习。也可以自己一步一步,自己实现。

4、计算机语言

以工业级的 C、C++、Java 这三门语言为主,这三门语言才是真正算得上工业级的编程语言,

因为有工业级的标准化组织在控制着这几门语言,而且也有工业级的企业应用。尤其是 Java,还衍生出了大量的企业级架构上的开源生态。

所以,至少需要掌握 C (c++)语言和 Java 语言,这对你以后面对各式各样的编程语言是非常重要的。

此外,还推荐学习 Go 语言,它已成为云计算领域事实上的标准语言,尤其是在 Docker、Kubernetes 等项目中。

而且,Go 语言在国内外一些知名公司中有了一定的应用和实践,并且其生态圈也越来越好。

现在语言太多了。java/python/ruby/c++/c/rust/asm,难以尽数。

这是2020年7月的语言排行榜,由此可见一斑。

就看你自己要在这个领域钻的深还是浅,深的话,学习后面的。浅的话,也不是说前面就浅,而是,前面的可以认为:知其然。要知其所以然,最后还是要回到asm这个层面,回到机器码这个层面。

java--->jvm---->asm----->机器码。

python--->python解释器---->asm----->机器码。

所以要看你的目标和兴趣。这方面没法做一个判断和规划。

5、干

上面说了这么多,别害怕,也不要轻视。

撸起袖子,干,才是正道。

什么英语、数学,什么网络协议、编程语言,都会在这个字下面瑟瑟发抖。

一天不行,十天,一年不行,十年。

无非就是干。


码字不易,如果觉得有道理,请点赞支持。

收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜