找个教程或者书,有关用编程语言从头写一些unix下的工具

我最近有些精力去学两门语言(Rust & Julia) ,我想把他们作为通用语言来使用

我不知道如何算精通语言,所以我想通过从头编写一些unix下的工具来进行 project-based-learning,但是他太难了,如果拿起键盘,从头抄一遍代码可能会累死,还不能理解,比如 Rust 实现的 tar 库

太他娘的难了,抄完代码看不懂,连写个简单的demo都不行啊
问问大家有没有此类的教程或者书籍,不知道哪位同学喜欢和我一样作死

怎么感觉你主要的精力都花在问怎么入门一门语言,或者怎么精通一门语言的问题上?

7 个赞

写个 tar 还算难吗?

最简单的,一个 tar 函数,接受若干个 input path 和一个 output path, 读取 input path 的文件内容,tar 打包到 output path

  1. 读取所有 input path 的内容
  2. 研究 tar 格式,把所有内容按照格式拼接在一起
  3. 把拼接好的 bytes 写入 output path

比把大象放进冰箱简单多了。

如果你连这些简单的程序都搞不懂,你应该先看 SICP 这样的书,不然再学其他语言也学不快

3 个赞

蟹蟹你的指点,我去研究一下
ps: 看来基础还是不够扎实,太着急了

Introduction - The Rust Reference (rust-lang.org)

Julia Documentation · The Julia Language

读完了吗?没读完当然不配叫精通

1 个赞

3 个赞

《System Programming with Rust》可能是个不错的入门Rust的选择,这本书里面每一章都通过写一个简单的命令行小工具来讲解Rust的概念

3 个赞

蟹蟹,链接麻烦给一下

你嫌弃波澜,抛弃了我 ~~

我是从z-lib上下的

z-lib 是个好网站,国内得通过这个域名访问:https://b-ok.asia/book/

1 个赞

要是想实现一个功能完备的 tar 库那肯定是难啊,如果只是想实现把一堆文件打成一般的 tar 包,不考虑任何特殊情况,应该也还好吧。

我个人学 Rust 的路径是

  1. Advent of code 2019
  2. 某 Telegram 机器人
  3. 瘸腿 Scheme 解释器
  4. 离线渲染器

书我就看的官方文档,那个 The Rust Programming Language。这一趟学下来,精通什么的肯定是没有,但是主要的大坑基本都踩了。<私货>我的结论是 Rust 不怎么适合搞系统编程,还是 C++ 好用⋯⋯ </私货>

3 个赞

然后楼主就会告诉你,啊对对对,C++学不会,垃圾语言,然后开始进行一个源码的乞讨

image

1 个赞

不是 unix 工具,但推荐一个很好玩的练手项目:https://raytracing.github.io

除了语言本身外基本不需要任何前置知识。

2 个赞

可以考虑从一个简单点的库入手,例如 GitHub - Peltoche/lsd: The next gen ls command

这个项目是 Rust 重写的 GNU ls 替代,但是还算好入手, 最重要的是,我是 collaborator,做个广告

同推荐,这套教程特别好~~

image

我最近学 rust 的时候,看了基础和进阶部分之后就跟着 Writing an OS in Rust 走,看了几章了,感觉都还不错。

推荐 CodeCrafters 这个网站,跟着指导循序渐进地做一些实用项目,如 Redis、Docker、Git 等。

1 个赞