nuomiphp
正在加载…
请使用更现代的浏览器并启用 JavaScript 以获得最佳浏览体验。
加载论坛时出错,请强制刷新页面重试。
对数据库感兴趣,但完全接受不了 cpp
Kumo31
数据库本身就是一个性能敏感的东西,这里的体现不仅是在整体架构,算法设计上,还包括具体的代码实现细节,比如函数的传参方式,内存的申请时机... 也就是令你深恶痛绝的这些东西,虽然 Rust 能屏蔽了一些繁琐的语法细节,但你依然需要理解这些概念才能写出高性能的代码。
我觉得主要还是看你目的,如果只是想学习数据库,那也有不少 Go 甚至 Java 实现的课程,这些足够你理解数据库的核心概念、设计和机制。但如果想真正地从事数据库 or 其他底层基础设施工作,那 C++ 是绝对绕不过去的门槛。
不过不少分布式数据库的 SQL 层也是用 Go 写的,因为在这里网络通信和查询处理的代价更高,语言本身执行的性能相对没那么重要了,但依然充斥着各种 magic 。
GrayXu
Kumo31
#20 +1 ,感觉 performance 和低心智负担就是个 trade off
ydpro
推荐 2 个课程:
CS186 ,他的实验是基于 Java 的。
清华大学的数据库课程 https://www.bilibili.com/video/BV15u4y1Q71R/?spm_id_from=333.999.0.0&vd_source=b578f404bddc480d71de0ce5866009a9
楼主有空可以看下,我也比较纠结选择哪个课程
longbowape
传统数据库实现可以看《 Database System Implementation 》,《 Designing Data-Intensive Applications 》和实现关系不大,主要讲应用层怎么做技术选型的。
mm520
可以看下我写的教程,用 Go 和 Rust https://w02agegxg3.feishu.cn/docx/Ktp3dBGl9oHdbOxbjUWcGdSnn3g
littlewing
你是对存储引擎还是 SQL 感兴趣,存储引擎的话,move constructors 、左右值、&& 这些用得比较少
thedinosaurmail
那就学编译原理,学完编译原理再看 cpp
OliverDD
ccsexyz
嗯,知道了,去玩吧
OliverDD
wateryessence
毕业一年了…学这么心智开销大的东西,我还不感兴趣,这不是什么好主意
kneo
这 OP 有点巨婴。人家指出你的问题还需要先和你很熟?
OliverDD
kneo
本来不想回的。我对某个技术感兴趣,想深入点研究以满足好奇心,碰壁,遂来本站提问,请问这个行为戳到他哪点了?就算我叶公好龙,他是谁啊,凭啥在互联网上指指点点?真有意思,我从未一天换个说“我要成为 xxx 专家!”,何来叶公好龙一说?
totoro52
那天学了点 rust ,说实在 学不下去了,规矩太多了
ilcn
OliverDD
你就是叶公好龙。你发言自由,我们就没有发言自由?
simen513
PostgreSQL 的代码主要是 C 语言的,注释也全,代码风格不错,网上资料也多,推荐你学习。
codegenerator
查询引擎什么语言 java go 都可以,存储引擎可以考虑 rust
我以前用 c++自从用了 rust 彻底不想写 cpp 了
ihciah
cpp 通常有两种:简单版和魔法版,简单版性能或者泛化能力差一些。很多人以能够写出魔法并且难以被经验较少的理解沾沾自喜。
这种问题在 rust 里不存在,麻瓜也能写出足够高效的代码,且没有一堆 hardcode 补丁般难以理解的规则。
这才是一个语言应该有的样子:具有充分的表达能力的同时保持简单(如果一个 cpp 程序员认为 rust 更难,那么很有可能他并没有学会正确的 cpp 使用姿势)。
我也很讨厌写 cpp ,讨厌 cpp 真的不代表你会讨厌曾经强依赖它的技术。
teiboku1
看看 lucene 呗 纯 java
agagega
cpp 的心智负担是重,但你说的右值引用和移动构造这些东西并不是 cpp 的心智负担造成的,甚至不是因为 cpp 没有 gc 造成的,所有支持值语义的语言都必须实现类似的概念。
az467
CS122
用的 java
主要是 query engine 查询优化相关
或者你看看 TiKV/TiDB 呢
levelworm
我感觉楼主也不算是叶公好龙,毕竟很多时候只想了解背后的东西,不打算做专业的实现,那的确没必要去按照专业的法子来。就好比说我想了解一下编译器的实现,我没必要啃龙书虎书,对不对? 我把 Crafting Interpreters 这本书看完,代码跟着抄完,我的目的也实现了。反正我又不是想要成为专家,只是想了解。
楼主可以找找看有没有数据库方面类似编译器这块 Crafting Interpreters 的书,就是一边介绍原理一边干。挑一本不用 C++的就行。
或者读读第一版的 redis 源代码也行,据说质量不错。C 相对来说语法简单一些。
« 上一页
下一页 »