想慢慢做个 mini 数据库,选 C++还是 GO?很纠结,希望老哥们给点意见

2019-09-30 16:21:30 +08:00
 yamasa

个人情况

本科四年基本一直用 C++,毕业接近 6 年,主要用 java,对关系型数据库比较感兴趣,用过 mysql 和 sqlserver,捯饬过慢查优化,索引设计和索引原理等,也看过《数据库设计概论》的一部分,但没有深入到源码层级。

短板分析

纠结点

从个人而言,最重要考虑的点依然是加深对操作系统 /网络等基本功的认识。希望有类似经验的老哥们能给点参考意见。目前想法是先做一个比较简陋基本版的,再慢慢添砖加瓦。如果能推荐一些学习 c++或者 go 的 resource 就更好了。

7342 次点击
所在节点    程序员
49 条回复
jhdxr
2019-10-01 12:49:40 +08:00
写这种底层的要么 c/c++,现在多了 rust 这么一个选项 ref: https://msrc-blog.microsoft.com/2019/07/22/why-rust-for-safe-systems-programming/

至于 go 或 java,写着自己当玩具也许还行吧
arloor
2019-10-01 13:38:06 +08:00
肯定不能有 gc 的语言
ruyuejun
2019-10-01 13:41:13 +08:00
想使用 C++的话,可以考虑 rust
想追求快速出结构,可以考虑 go
FrankHB
2019-10-01 16:15:58 +08:00
实现一个数据库需要的技能和你粗体强调的东西没多少交集。
先老实重新分析清楚需求。
yulon
2019-10-01 17:33:18 +08:00
需要纠结就用 Go,C++ 水平高的写起来完全比 Go 爽,根本不用考虑选谁,Go 现在也能写动态库,共享方面不用担心。
reus
2019-10-01 18:33:43 +08:00
go 有 tidb 和 cockroachdb。
rust 还没有。
find
2019-10-01 20:45:46 +08:00
我用过 java 写过数据库作业 在我 github 里面
yuikns
2019-10-01 23:05:10 +08:00
@reus tikv 是 rust 写的。然后在此基础上用 go 写的事务
yuikns
2019-10-01 23:21:56 +08:00
其实就是看目标。如果就是实现个 parser,学习一下 transaction 之类的。选择自己最熟悉的语言。用 python php 都行。

如果是 rdbms 楼上居然没有人建议看看 sqlite ?单论代码我觉得那个写得挺好看的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/605714

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX