惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Privacy International News Feed
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Jina AI
Jina AI
T
Tailwind CSS Blog
WordPress大学
WordPress大学
Scott Helme
Scott Helme
C
Cybersecurity and Infrastructure Security Agency CISA
博客园 - Franky
C
CERT Recently Published Vulnerability Notes
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
雷峰网
雷峰网
Schneier on Security
Schneier on Security
博客园 - 聂微东
T
Tor Project blog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 司徒正美
AI
AI
T
Troy Hunt's Blog
Security Latest
Security Latest
T
The Blog of Author Tim Ferriss
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
C
Check Point Blog
T
Threat Research - Cisco Blogs
W
WeLiveSecurity
V
Vulnerabilities – Threatpost
Recorded Future
Recorded Future
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Cisco Talos Blog
Cisco Talos Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
Cloudbric
Cloudbric
J
Java Code Geeks
罗磊的独立博客
C
Cyber Attacks, Cyber Crime and Cyber Security
aimingoo的专栏
aimingoo的专栏
L
LangChain Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
P
Privacy & Cybersecurity Law Blog
Google DeepMind News
Google DeepMind News
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
L
Lohrmann on Cybersecurity
I
InfoQ
MongoDB | Blog
MongoDB | Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The GitHub Blog
The GitHub Blog
The Hacker News
The Hacker News
H
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Proofpoint News Feed
N
News and Events Feed by Topic

0x01 byte

我在 2025 年看完的书 西班牙之行 2025 年初展望 2024 年底曼谷之行 荐书:The Blind Watchmaker 王垠传播的「自然视力恢复法」真的有用吗? 从高考志愿到职业选择 浅谈 Apple Intelligence 2024 年,我为什么开始为搜索付费 运气与努力 刷新了一下对内容审查粒度的认知 离开心动和 TapTap 如何反转一个链表? 如何高效地协作开发:一些 Google 的实践 关于 LeanCloud 被心动/TapTap 收购 small talk #3:从 IPFS 聊到 Web 的开放性 small talk #2:聊聊用 M1 芯片的新 Mac 怀念两位老师:Stan Eisenstat 和 Paul Hudak small talk #1: 聊聊你的私有云 如何在 Emacs 里做所有事 Remark Ninja: 一个简单的评论系统 Woman、man、camera、TV:如何做一个完整的深度学习应用 荐书:走出戈壁:我的中美故事 LeanCloud 开始周期性远程工作了 树莓派:用 Pi-hole 来保护隐私和过滤广告 爱国指南 我在 2019 年觉得不错的几个习惯 WeWork 的兴衰和创投的游戏 怎样利用好路上的时间 荐书:Educated - 一部震撼人心的回忆录 入门 React hooks + 后端集成 荐书:Bad Blood,创业公司的谎言与欺诈 LeanCloud 的故事 — AVOS 时期 一点人生经验 👓 — 如何学英语 一点人生经验 👓 — 学好英语的重要性 Docker 和 Kubernetes 从听过到略懂:给程序员的旋风教程 加密货币与区块链(三):什么是信任 离开微信公众平台 加密货币和区块链(二):分布式共识与去中心化 加密货币和区块链(一):历史的重演 第一个程序员 Ada 的故事 写在 9/11 十五周年 快速开发聊天机器人 说说离职员工的期权 你所不知道的 Dijkstra 你所不知道的冯·诺伊曼 在 LeanCloud 看 Parse 的关闭 对透明薪酬的回顾 比 XCodeGhost 更邪恶的手段 30 年前就出现了 写给创业的技术人 如何有效地做 Code Review 为什么每个团队都需要 Code Review? 怀念我的外公 面向对象与函数式 「零和博弈」- 是语言在演变还是媒体在倒退 编程语言之争 传统媒体和互联网 Clojure: 现实世界的 LISP 求职时的常见错误 Emacs Smart Split (旧文)也说王垠退学
计算机专业学生该如何提高自己
blog.incoming@1byte.io (江宏) · 2019-09-10 · via 0x01 byte

这是为一个知乎问题的答案。

大学是系统性地学习基本原理的时候,没有必要追逐最新最流行的编程语言和开发框架,毕竟到了毕业工作的时候往往又有很多新的变化。把基本的知识体系掌握好会终身受用无穷。大学只是提供环境和条件,学习的方向和重点需要自己把握。下面这几方面对于本科生是尤其重要的。

计算机体系结构:这是理解计算机工作原理的基础,即使以后只做软件方面的工作,这方面的知识也是至关重要的。一方面软件运行在硬件上,理解计算机各部分的工作原理以及他们之间的通信机制对于代码优化和系统级的软件开发都是必须的;另一方面硬件只不过是石化的软件,软硬件不过是逻辑组合的不同实现方式而已。很多美国大学的这门课程都会让学生用代码把一台虚拟计算机实现出来,这确实是个好办法。

操作系统:所有做软件开发的人都需要对进程、线程、内存的管理有清楚的理解。操作系统为在计算机上运行多个应用程序提供基础,Docker 等这些现在流行的技术也无非是把操作系统提供的机制和工具进行了封装而已。

编译原理:编译原理让你理解程序在运行的时候具体在做什么。只有能把高级语言的每条语句在大脑中映射到 CPU、寄存器、内存里栈和堆的具体操作,才能写出高效、错误少的代码。每个计算机专业的学生都应该尝试自己实现一个语言。

一门系统编程语言(C/C++):C 语言仍然是最好的用来学习编程的语言。它在语言层面的概念比较少,容易比较快地把注意力从语法转到程序设计上。同时由于 C 在标准库里没有提供现成的容器,所以不可避免地需要学习如何实现基本的数据结构:不同类型的链表、队列、字典等,在实现这些结构的时候又不可避免地要熟悉指针操作和递归。虽然在日常软件开发中很少会需要自己实现这些容器,但是理解他们的实现和性能特点可以避免你用 Java 之类的语言时什么都用 Vector 来做。在熟悉 C 之后可以学一下 C++。C++ 之所以复杂,在于它将控制权交到了程序员手里。其他的主流面向对象语言里之所以没有 virtual function 等 C++ 特有的概念,是因为在语言层面已经帮程序员做了选择,虽然降低了语言复杂度,但是也导致不能总得到最好的性能。深入学习 C++ 可以让程序员了解面向对象特性的底层实现以及它们在编译时和运行时的开销,这对于使用其他语言也是很有帮助的。

算法、数据结构:如果你将来做系统软件开发,将会需要自己做一些算法的实现。即使是做应用软件开发,也需要在这方面有足够的知识来权衡不同的选择。虽然现代的高级语言大多提供了丰富的容器、算法函数、中间件等等,只有理解他们的性能特征和资源代价才能作出好的选择。

一门学科的知识体系就好像大脑中的一个架子,一开始搭建它的时候会感觉是个很慢的过程。但是如果你耐心地把它建立起来,再学习新的东西就会知道该把新吸收的知识放在什么位置,它和架子上现有的内容是如何联系的,在理解、记忆、应用上都会事半功倍。