为什么Redis是用C而不是C++编写的?


原文地址:为什么Redis是用C而不是C++编写的?

首先,这与 Redis 的作者 Salvatore Sanfilippo 的个人品味有关。据我所知,出于美观和实用的原因,他更喜欢 C 而非 C++,而 C 是他编写高性能代码的首选语言。

首先,这与 Redis 的作者 Salvatore Sanfilippo 的个人品味有关。据我所知,出于美观和实用的原因,他更喜欢 C 而非 C++,而 C 是他编写高性能代码的首选语言。

其次,Redis 的设计考虑了一些关键原则,C 非常适合:

  • 简单性 - C 无疑是比 C++ 简单得多的语言,虽然您可以编写“极简”的 C++,但 C 更适合这种习惯用法。出于某种原因,C++ 代码往往变得更加复杂和膨胀得更快。
  • 可移植性 - Redis 是自包含的,几乎可以在任何具有 C 编译器的 Unix 上编译。它具有零外部依赖项,并以相当古老的 C 标准(ANSI C99)编写。这使得从源代码构建 redis 变得轻而易举。
  • 构建速度 - Redis 构建速度快 - 几秒钟即可构建大量代码。模板化的 C++ 构建速度要慢得多。

但同样,所有这些最终都可以通过 C++ 实现。假设两者之间的应用程序速度相似,则归结为个人喜好。

我个人来自 C++,无法理解人们怎么还在使用像 C 这样的“原始”语言。写了一段时间后,我开始喜欢它而不是 C++。它更简单,代码更容易理解,并且您不太愿意创建复杂的“魔术”,最终只会使您的代码膨胀。

评论

登录后评论

服务器优惠活动

Top