请问HN:如何入门系统编程?
大家好!<p>我正在寻找关于学习系统编程的推荐。理想情况下,我希望能够达到一个可以以此为生的水平,但目前我只是想做一些有趣的事情,以激发我对这个领域的好奇心。<p>以下是我目前所了解的所有“低级”内容,以及我认为可能有用的技能:
- 对网络有一定了解,能够在TCP之上编写一个简单的HTTP服务器
- 掌握足够的C语言,可以编写一些基本的终端工具和窗口应用程序(在Linux上)
- 喜欢使用终端工具,比如neovim和一些核心工具
- 曾经尝试过Arduino/ESP32,并通过USB串口与主机电脑进行通信
- 对Python相当熟悉,已经使用它大约10年了<p>我过去感兴趣的一些事情:
- 将部分Python库从纯Python转换为C/C++绑定,以提高性能
- 编写一个基于终端的文件管理器,以便与Google Chrome配合使用
- 实际上为Chromium做贡献(不过我的笔记本性能较差,所以所有构建都失败)<p>关于我:我现在是大学三年级的计算机科学专业学生,在过去的两年里通过网页开发赚了一些钱。出于好奇以及AI让我在许多前端和后端任务中感到被替代的原因,我对深入学习低级编程非常感兴趣。<p>任何帮助都将不胜感激!
查看原文
Hi all!<p>I'm looking for recommendations on where to start with learning systems programming. Ideally, I'd like to be able to get to a point where I can make a living doing it, but currently I just want to do fun stuff to build up curiosity around it.<p>Here's all of the "low-level" stuff that I know so far / imagine being useful. I...
- Have enough of an understanding of networking to write a toy HTTP server on top of TCP
- Know enough C to write some basic terminal tools + window applications if needed (on Linux)
- Love terminal tools like neovim + several core utils
- Have dabbled with Arduino/ESP32 & communicating via USB over the serial port with a host pc
- Am pretty decent with Python, and have been using it for like 10 years<p>Some things that I've been curious about in the past
- Converting parts of python libraries from pure python to C/C++ bindings for better performance
- Writing a terminal based file manager to work with Google Chrome
- Actually contributing to chromium (my laptop is a potato though so all of my builds fail)<p>About me: I'm in my junior year of uni studying CS, and I've been able to make money doing web dev for the past 2 years of my degree. For many reasons including curiosity and the fact that AI makes me feel replaceable doing many frontend + backend tasks, though I'm very curious about getting into lower level programming.<p>Any help would be greatly appreciated!