Skip to content

Latest commit

 

History

History
109 lines (69 loc) · 6.03 KB

20220922_01.md

File metadata and controls

109 lines (69 loc) · 6.03 KB

德说-第149期, 为什么rust 的主要目标应该是底层软件?

作者

digoal

日期

2022-09-22

标签

PostgreSQL , rust , pgx , linux


背景

底层软件包括操作系统核心、数据库核心等具有以下特点的软件:

  • 1、底层软件的用户通常为上层应用
  • 2、上层应用对底层软件的要求通常是
  • 2.1、永远在线“稳定、高可靠、安全”、
  • 2.2、易用“兼容性、上层依赖的东西最好不要老是变化(如果A操作系统发一次版本上层应用都要跟着适配, B操作系统呢发版本不影响上层应用, 你觉得用户会选a还是b?)、高性能、弹性”

上层应用软件有什么核心特点呢?

  • 1、上层应用软件的用户通常是ToC用户
  • 2、用户特点是需求变化快, 要求软件快速迭代

从生命周期来分析上层应用和底层应用软件的差别

  • 上层应用软件更偏向成长、萌芽区间, 通常竞争激烈, 产品挑起的往往是欲求, 没有需求都在创造需求, 你说迭代要不要快?
  • 底层应用软件更倾向成熟区间, 用户的需求变化没那么快, 产品迭代慢; 对底层软件看中的更多是: 永远在线和易用方面;

PS: 上层应用变化快, 底层软件变化慢, 也符合递弱代偿原理. 越后衍的存在度越低, 越需要补偿更多来求存.

对比 底层软件 上层软件
开发效率 一般
程序效率 一般
程序鲁棒性 相对一般/有其他HA解决方案/依赖底层

所以结论是:

  • 在开发效率上, rust怎么和java, go, python这种去比? 这些语言已经证明了自己, 同时在生态上已经非常成熟(用户可以找到的提升开发效率的包、框架、流行的开源产品、大型企业的技术栈、人才、培训材料等等)已经很强了, 开发者和场景(包括流行的开源或商业软件、大型公司的支持)也够多, 开发效率够高. rust去争这块市场, 基本没戏.
  • 在程序效率和程序鲁棒性上, rust和c比倒是可以, 比c更容易开发出安全稳定的程序, 而且运行效率相当.

rust官网首页宣传了3个产品特性, 表达比较到位, 兼顾了开发者以及目标场景的核心需要:

  • 高性能, 开发的程序高性能
  • 可靠性, 开发的程序更安全, 更少bug
  • 生产力(更友好的错误提示、文档、编辑器、测试等), rust突出开发效率. 吸引更多开发者学习使用;

rust官网首页4个场景, 想要表达rust开发效率高, rust开发的程序稳定安全且高性能?

rust要与c争夺市场, 急需证明那些c的核心舞台, 它也能干例如:

  • 操作系统核心、
  • 数据库核心

最近看到的rust在操作系统、数据内核方面的宣传, 可见一斑:

参考

递弱代偿

产品营销-《定位》: 七个葫芦娃、七个小矮人、世界七大奇迹.

产业生命周期: 萌芽 (Embryonic)、成长(Industry shakeout)、震荡、成熟和衰退

digoal's wechat