还有些偏底层的语言,本身是很强大的,开发需求低,所以一直都很稳定,C 语言就是这类语言的代表,学好了几十年后也不会过时。但难点就在于这种语言比较难掌握,而且大多涉及硬件和操作系统底层,所以很多人都会对 C 语言望而却步。但事实上 C 语言非常值得学习,它的灵活性极强,向上可以写应用,向下可以写硬件,如果哪一天互联网衰败了,依靠对这门语言的精通完全可以让你平移到其他赛道。
TDengine 就是一款使用 C 语言自主研发的时序数据库(Time-Series Database),没有使用任何第三方的库,一切都是自己开发,包括定时器、RPC 等模块等,并且已经开源。当初我选择 C 语言作为开发语言的原因,其实是受到了 SQLite 的影响,它没有服务器,仅仅一个 C 语言库,整个数据库存放于单一跨平台的文件,支持 ACID,零配置,而且体量可以仅为 600KB。我很庆幸 TDengine 选择了 C 语言,虽然确实有一系列头疼问题,如内存泄露、无效指针、多线程同步等,但这些都在后期优化中得到了改善,而 TDengine 所拥有的无依赖、体量小、内存远远小于 InfluxDB、OpenTSDB 等其他时序数据库这些优势,都是非常显著的。