The first step of the middle platform landing: enterprise strategy decomposition and current situation investigation (Discovery)

The first step of the middle platform landing: enterprise strategy decomposition and current situation investigation (Discovery)

In the previous lecture, I introduced you to the overview and sources of our mid-platform building methodology. Starting from this lecture, I will take you through the four stages of our mid-platform planning and construction, introducing the goals of each stage and some commonly used tools and practices.

Okay, let’s start with the first stage of Discovery, which means we need to establish a “comprehensive perspective” on the enterprise and industry.

So why do we need to do this first? Let me add one more thing. In fact, the first two parts of D4, Discovery and Define, are a process of divergence and convergence at the enterprise level. Our company has a name for this process internally, called Portfolio Discovery, abbreviated as PD. In actual implementation, PD is a 4-8 week brainstorming workshop. The following figure shows a complete PD workshop roadmap to help you understand.

PDflow

Regarding the overall planning of the middle platform, that is, answering questions such as whether to build a middle platform, which middle platforms to build, and who should build first and who should build later, we now evaluate and judge through the process of PD. You may have doubts about why PD, as a method, can help us make planning judgments for the middle platform. Here, we will briefly explain.

# Why use PD to plan the middle platform?

Portfolio Discovery is translated into Chinese as investment portfolio planning, which is equivalent to product line planning when applied in enterprises. To put it bluntly, if I am the CIO of a company and have a disposable IT budget of 100 million yuan this year, what I am most concerned about is in the next period of time (which may be 1 year or 3-5 years), in order to achieve the goal of enterprise development.

  • How much money do I need to spend on digital construction?
  • How should this money be spent? How should it be allocated? Which systems should be added, purchased or self-developed? Which systems should be eliminated? Which systems should be optimized? Which systems should be maintained? Which systems should be kept unchanged?
  • Do you want to build a middle platform?
  • ……

You see, to put it simply, it’s still a matter of how to spend money wisely. Essentially, it’s also a matter of quotas. How to find the best investment portfolio with limited resources, or how to spend money where it should be spent.

And building a middle platform is just one of the potential options. One of the potential solutions is to add a middle platform layer to the application architecture based on the enterprise’s strategy and current situation to solve the problems currently encountered by the enterprise.

Whether the mid-platform solution is suitable for enterprises or not still needs to be researched and judged. Therefore, if we take the mid-platform as a definite direction from the beginning, it will inevitably limit our vision, and we may miss better, simpler, and more effective solutions than the mid-platform, or over-design too early, and carry out mid-platform building in a scene where the mid-platform is not needed, which is a waste of time and money.

Should the company allocate a portion of the money and resources for mid-platform building? What is the value of adding a new architecture layer like a middle platform for the company? When is the best time to do it? What is the priority? These are also the questions that PD mainly focuses on and needs to answer.

In order to avoid impulsive situations, the main purpose of Discovery as a PD in the first half is to conduct sufficient divergence and research, that is, to use various tools and means to help us fully understand industry trends, competitor situations, company strategic decomposition, and bottom-up current situation research and other information and environment, in order to provide sufficient information support and basis for the convergence of the next stage of Define, that is, for the design of new business architecture, application architecture, technical architecture, and even organizational structure of the enterprise.

Overall, Discovery can be simply divided into three different directions: from outside to inside, from top to bottom, and from bottom to top.

# From the outside to the inside: industry and competitor analysis

Knowing oneself and the enemy leads to victory in a hundred battles. Before understanding ourselves in detail, it is necessary to broaden our horizons and see what the industry’s major trends and competitors are doing.

I remember that Teacher Liang Ning once mentioned the theory of “point-line-surface-body” in his column “30 Lectures on Product Thinking”. If the middle platform itself is just a point, then it may only be a product of a company’s development to a certain stage, not the beginning or the end. Therefore, we should look at the middle platform from the main line of a company’s development process and see where it comes from, why it appears, and where it will go. Even consider what the next stage of the middle platform will be and what it will be replaced by. I also look at it this way when observing the middle-platform building process of a company, including the formation and development of the entire middle platform trend.

Is having a line enough? Not enough. We need to take another dimension to see what other lines in the same industry, that is, what other companies in the same industry are doing? What are their strategies? What is the focus of digital construction? Are they also doing mid-platform building? What are the goals of the construction? What is the effect?

However, it should be noted that analysis does not necessarily mean direct reference. If others are building a middle platform, we should build one. This idea is not advisable because even in the same industry, due to differences in corporate vision, strategy, business model, customer base, etc., each company is different.

Finally, we need to step out and examine the industry itself from a higher dimension, or learn from other industries and aspects. There are generally two benefits to doing so.

  • First, if there are good concepts or methods in other aspects, we can learn from them to help our own enterprises gain an advantage in their own industries. The concept of middle platform originated in the Internet industry and is currently being referenced and borrowed by various industries.
  • Another benefit is that if you find a better surface and a better industry, you can realize the leap of the enterprise across industries, and you may seize the opportunity to enter another fast lane. That being said, at present, the purpose of many enterprises’ mid-platform building is to identify the core capabilities of the enterprise, sediment them into the middle platform, and use it as a springboard and support to carry out business innovation and exploration, so as to jump to another more promising new track.

After talking about the benefits of industry research and competitor analysis, how to do it specifically? In fact, the industry has many very mature methods that you can use directly, such as the common ones: Five Forces Model, SWOT, Business Model Canvas, Competitor Product Line Analysis, Competitive Situation Analysis Matrix, etc .

# Top-down: Corporate Strategy Decomposition

If the main output of PD is the blueprint and roadmap for digital construction, then the input of PD is the vision and strategy at the enterprise level.

We have talked a lot about vision before, which should be relatively easy to understand. It refers to the image or goal that we hope the company can become after a certain period of time. For example, in the case of Geek Real Estate, the vision may be to achieve the transformation of business from heavy assets to light assets by 2022. More specifically, the proportion of service business in total revenue should reach more than 70%.

Let me add one more thing here. We have indeed seen many companies start large-scale mid-platform building without a clear corporate vision. It’s like a fleet going out to sea without a clear destination, which may lead to being lost in the ocean and running out of ammunition. Therefore, if a company is in this situation, it must first supplement this part of the content.

Here, let’s assume that the company already has a clear vision and strategy as input for PD before starting the planning process.

Looking at the word “strategy” again, our understanding may seem vague and abstract. In the book “On Grand Strategy”, it is mentioned that “strategy refers to how to achieve a balance between goals and capabilities, and make appropriate adjustments according to environmental changes.”

Here is the strategic balance triangle that we often use, which can help you understand the relatively abstract concept of strategy.

image-20240531120632793

Through this strategic balance triangle, we can simply make some mathematical transformations to explain what “enterprise strategic decomposition” really is. The following derivation process may be a bit brain-burning. If you can’t understand it at the moment, you can read it several times. I believe it will be very helpful for you to understand the word “strategy”.

Okay, let’s get started. Based on the strategic balance triangle, with the company’s vision and goals already determined:

  • Enterprise strategy can be simplified to understand: combined with the enterprise’s own capabilities and the environment in which it is located, what measures need to be taken to achieve the enterprise’s predetermined vision and goals?
  • And the enterprise strategy decomposition can be simplified to understand: combined with the ability of the enterprise departments themselves and their environment, what kind of measures need to be taken to achieve the enterprise’s predetermined vision and goals?

Okay, the deduction is complete. There are many tools and practices in the industry for decomposing corporate strategy, such as the corporate strategy analysis model designed by BMGovernance. However, in order to cope with the rapidly changing market environment, we use the Lean Value Tree tool in PD to help decompose the strategic vision.

Lean Value Tree is a value-based tool used to analyze and communicate business vision, strategy, and investment. Its core is to establish a top-down alignment from vision, goals to investment initiatives, so it adopts a hierarchical tree structure, as shown in the following diagram.

image-20240531120649970

This process is what I call a top-down strategic decomposition process. For a certain middle platform, it may only be a specific measure that is ultimately derived. Upward, it still needs to be traced back to the relevance and value of the company’s vision and goals, and match and correspond to the company’s vision and goals.

# Bottom-up: Current Situation Research and Analysis

If we understand the decomposition of corporate strategy as a top-down analysis and deduction process from the corporate vision, can we simply implement the derived measures?

Often it is not enough, because every enterprise that has survived and developed in the market for a long time will encounter various problems and limitations. If they deviate from the status quo and ignore these problems and limitations, they will definitely face great resistance and risks.

Therefore, we not only need to decompose the enterprise strategy from top to bottom to help us think about whether it is necessary to take the middle platform or other measures, but also need to fully conduct bottom-up current situation research to help us understand the current situation and history. On the one hand, we fully respect all the problems encountered in the past, collect and summarize pain points; on the other hand, we are required to break free from past limitations, start from the business and users, and explore new possibilities based on new technologies and architectures.

Here we often use many tools and practices, such as high-level interviews, stakeholders maps, organizational structure analysis, strategic design thinking, business architecture status quo sorting, user journey, service blueprint, domain-driven design, application system status quo sorting, technical architecture status quo sorting, and so on.

Adequate and multi-dimensional current situation research and analysis not only allows us to have a comprehensive and clear understanding of the current situation of business, applications, technology, data, and organization, that is, the current situation of enterprise architecture, but also supplements the context of the timeline through interviews and research, including what happened in the past, why the current situation is like this, what kind of future everyone hopes for, and why.

However, there is one issue you may need to pay attention to here, which is the scope and depth of the sorting. Don’t forget that we are currently doing enterprise-level architecture sorting, and the width and scope may far exceed our imagination. If the depth is not well controlled, you will find that you are still spinning in a small field and Line of Business.

Therefore, in the face of such problems and risks, I suggest that you:

  • First, complete the top-down decomposition of the enterprise strategy, and then conduct a bottom-up current situation investigation. After completing the strategic decomposition, we already have some understanding of the company’s industry, business, vision, and strategy. When conducting the investigation, we will have a global control, making it easier to grasp the granularity and depth.
  • Make sufficient preparations and complete the content that can be completed in advance through reading materials and small-scale research.
  • Make a detailed plan, and you can reverse engineer the scope and granularity of sorting according to the total time of the current investigation. If there is enough time, you can spend two days to sort out the business architecture of a Line of Business, so that the sorting can be deeper. But if there is only half a day, the granularity can be appropriately bolded to ensure that there is a global business view.
  • It is suggested that at the beginning, the granularity can be coarser, and do not get too caught up in details too early. However, how to control the granularity does require a deep understanding of the company’s strategy and business, which is also the most effective part. When the judgment is not good, it can be coarser first. If there is still time in the end, another round of research can be conducted to expand further.

For a medium-sized enterprise with four or five different Lines of Business, it usually takes about 2-4 weeks to implement such a current situation survey, depending on the client. After completing the survey, we have a comprehensive understanding of the current situation of the enterprise in all aspects, and have also collected a large number of pain points and problems for each Line of Business, which provides a prospect for the future architecture.

When doing bottom-up research on various Lines of Business, the tools we use are not traditional business process diagrams, but are combined with the idea of design thinking, using the way of combining user journey with service blueprint . The specific content will be introduced to you when introducing the design process of a Central Product Platform in 08.

# Summarize thinking

So far, we have conducted industry analysis from the outside to the inside, competitor research, top-down enterprise strategy decomposition, and bottom-up investigation of various dimensions of the enterprise based on the current situation, and have made sufficient divergence to collect sufficient information.

We conducted the entire PD process (including the Define process to be discussed in the next lecture) in a workshop format, where relevant roles brainstormed and fully discussed together to produce the final result. The entire process was very lightweight and efficient.

After completing the first half of Discovery in PD, the next step is to analyze and integrate the collected raw material information to form a specific mid-platform building plan, which is the second half of PD, the process of Define. I will introduce it to you in the next lecture.

Finally, I’ll leave you with a few thinking questions:

  • What is the vision of your company? What is the strategy? When it comes to your department, what are the measures?
  • Does your company really need to build a middle platform? Can it match the company’s vision?
In 2024, Rust is becoming more and more popular

In 2024, Rust is becoming more and more popular

On February 19th, Rust released its 2023 survey report. This survey has been conducted continuously for eight years, attracting many maintainers, contributors, and people interested in the future development of Rust projects to participate.

The 2023 Rust Status Survey began on December 18, 2023 and will continue until January 15, 2024. The Rust team is exploring a more efficient and sustainable process to collect and analyze data faster, providing deeper and more valuable insights to the community.

# Rust Usage

In 2023, the proportion of respondents who identify themselves as Rust users will increase slightly, from 91% in 2022 to 93% in 2023.

img

Among the population using Rust in 2023, 49% are using Rust every day, an increase of 2 percentage points compared to last year, showing a slight upward trend.

img

Among respondents who were non-Rust users , 31% said the difficulty of Rust was the main reason they didn’t use it, while 67% noted that they haven’t had the opportunity to prioritize learning Rust, which remains the most common reason they don’t use Rust.

img

Among former Rust users surveyed in 2023, 46% said they stopped using Rust due to factors beyond their control (down 1 percentage point from 2022), 31% gave up Rust due to a preference for other programming languages (up 9 percentage points from 2022), and 24% cited difficulty as the main reason they gave up Rust (down 6 percentage points from 2022).

img

In the past year, the level of Rust skills among respondents has generally improved! 23% of people can write simple Rust programs (a decrease of 6 percentage points compared to 2022), 28% of people can write code that can be used in actual production (an increase of 1 percentage point), and 47% of people believe that they are quite efficient when using Rust - this proportion has increased from 42% in 2022. Although this survey is only one of many tools to measure changes in Rust skill levels, these numbers are still encouraging because they reflect the increasing knowledge and skills of Rust users who participate in the survey year after year.

img

From the perspective of the operating system used by Rust users, the current situation is roughly the same as the survey results in 2022. Linux is still the most popular choice among Rust users, followed closely by macOS and Windows, with similar usage rates among the three.

img

While Linux machines remain the favorite platform for Rust programmers, they are also developing Rust programs for a variety of other platforms. Notably, the number of users for WebAssembly, embedded, and mobile platforms has increased slightly, further highlighting Rust’s Cross-Platform Capability.

img

From the current situation, Visual Studio Code seems to still be the most popular editor among Rust developers, and RustRover, launched last year, has also won the favor of many developers.

img

# Rust work

The trend of using Rust in work continues to rise year by year. In the 2023 survey, 34% of respondents said they use Rust for most of their coding work, an increase of 5 percentage points from 2022. Among this group, 39% of people’s organizations have a significant application of Rust.

img

It is worth noting that the top reason for employers to invest in Rust among respondents is still the ability to build relatively accurate and defect-free software, accounting for as high as 86%. This proportion has increased by 4 percentage points compared to the survey results in 2022. Rust’s performance characteristics ranked second, accounting for 83%.

img

We are also pleased to see that 79% of respondents stated that Rust has helped their company achieve its established goals, an increase of 7 percentage points compared to 2022. In addition, 77% of respondents expect their organization to continue using Rust in the future, an increase of 3 percentage points from the previous year. It is worth mentioning that the proportion of respondents who believe that Rust is challenging for their organization has decreased, from 34% in 2023 to 39% in 2022. At the same time, the proportion of respondents who believe that Rust’s investment value for money has also increased, from 60% in 2022 to 64% in 2023.

img

The formation of this trend is influenced by various factors, but the continuous improvement of Rust’s popularity may have led to the abundance of resources, which in turn provides better support for new teams using Rust. In terms of technology, Rust has shown obvious advantages in building server backends, web and network services, and cloud technology, and has been widely welcomed.

img

# Rust Challenge

The Ruts team has been working to reveal the challenges, concerns, and priorities Rustaceans have faced throughout the year through the Rust Status Survey.

Among the 9,374 respondents who shared their concerns about the future of Rust, we noticed that the majority (43%) are concerned that Rust will become too complex, an increase of 5 percentage points from 2022. In addition, 42% of respondents are concerned about the insufficient popularity of Rust in the technology industry. It is particularly noteworthy that in 2023, 32% of respondents are most concerned that Rust developers and maintainers will not receive sufficient support, an increase of 6 percentage points from 2022.

It is gratifying that the proportion of respondents who are not worried about the future of Rust has significantly decreased, from 30% in 2022 to 18% in 2023.

img

The features that Rust users want to implement, stabilize, or improve are mainly in the following areas: features (such as trait aliases, associated type defaults, etc.), constant execution (such as generic constant expressions, constant attribute methods, etc.), and asynchronous programming (such as asynchronous closures, coroutines, etc.). These areas are all important areas of improvement that the Rust community is currently focusing on and expecting.

img

It is worth noting that 20% of respondents said they hope Rust can slow down the development of new features, which is likely related to the concerns mentioned earlier about Rust becoming too complex.

From the survey results, it seems that Rustaceans are most likely to encounter challenges in asynchronous Rust, feature and generic systems, and borrow checkers. These areas require more support and improvement to meet the needs and expectations of the community.

img

The respondents who participated in the survey expect Rust maintainers to mainly focus on the following aspects: the top priority is to fix vulnerabilities in the compiler (68%), followed by improving the runtime performance of Rust programs (57%) and improving compile time (45%). Improvements in these key areas will help improve the overall quality and User Experience of Rust.

img

Similar to the situation in recent years, respondents generally believe that compile time is one of the key areas that urgently needs improvement. However, it is worth noting that respondents seem to value the importance of runtime performance more when weighing runtime performance against compile time. This indicates that optimizing runtime performance is also an important issue of concern in the Rust community.

So the question is, will you embrace Rust?

2024 Rust Developer Roadmap

2024 Rust Developer Roadmap

In the past five years, Rust has become one of the 15 most popular and beloved programming languages with its incredible development experience and flexibility. It has powerful features, transparent documentation, and a participatory and supportive community of contributors.

Rust prioritizes safety, performance, and concurrency. It allows programmers to use the control of low-level languages to create applications, while also possessing the powerful abstraction of high-level languages. Overall, with Rust, you can do many things, so every developer should at least give it a try.

img

The core content of this article is as follows:

# 1. Rust Core Features

Below we will explore some core features of Rust

Memory safety:

The main design goal of Rust is to ensure memory safety without relying on the garbage collector. This is achieved through transparent data ownership, a powerful type system, and strict compile-time checks. The data ownership paradigm stipulates that each piece of data in Rust has a unique owner. When ownership is transferred (called “moved”), the previous owner can no longer access the data. This can prevent duplicate release operations and eliminate double deletion errors. This method eliminates a class of errors during the compile phase.

By using the Option < T > type in Rust, errors such as null pointer backreferences that are common in many languages can be eliminated. It explicitly handles the situation where a value may not exist.

Due to Rust’s borrowing and ownership system, it can also prevent data races and buffer overflows. If a piece of code may be unsafe, Rust will not compile it unless it is wrapped in an unsafe block to remind developers to operate with caution.

Concurrency model:

Concurrency in Rust is built on the same principles that provide memory safety: ownership and borrowing. By utilizing these principles, Rust ensures thread safety.

The language provides several concurrency primitives such as Arc (atomic reference counting) for shared state and Mutex or RwLock for mutable access. Channels in Rust provide a way for communication between threads.

The async/await syntax introduced 1.39.0 Rust allows you to write asynchronous code that looks like synchronous code, simplifying complex concurrency scenarios.

Excellent performance:

Rust’s “zero-cost abstraction” means that using advanced constructs does not incur runtime overhead. You can reap the benefits of abstraction without sacrificing performance.

As a systems language, Rust provides extensive control over hardware resources. This makes it as efficient as C and C++ in many benchmarks, with added security guarantees.

Since Rust is explicit and has no runtime, it can perform internal connections, loop unwinding, and other aggressive optimizations.

# 2. Advantages of Rust

img

Rust combines various programming styles: procedural, Actor-based concurrency, Object Oriented, and pure function. It also supports general and metaprogramming in static and dynamic forms. Here is an overview of the main advantages of Rust.

Easy to deploy:

Without active use, Rust’s powerful security and integrity tools are meaningless. The creators and community of Rust make it easy for beginners to master this language. The software packages required to generate Rust binary files are unified. Only when working with components outside the Rust system (such as compiling C libraries from source code), external compilers like GCCO are needed.

Powerful type system:

Using Rust, compiling code with detectable errors is not allowed. This feature allows developers to focus on the core logic of the program rather than correcting the problem.

Cross-platform compatibility:

Although Rust is compatible with most modern platforms, its developers did not aim to make it a universal language, but focused on popular platforms. Rust can run on three main operating systems: Linux, Windows, and MacOS. If cross-compiling or generating binary files for another platform or architecture is required, Rust is also relatively easy to implement.

Powerful features:

Rust has a set of native features comparable to C++: macros, generics, pattern matching, and composition through “features”.

Comprehensive standard library:

One of Rust’s broader goals is to provide alternatives comparable to C and C++. Therefore, it provides a wide range of standard libraries including containers, collections, iterators, string operations, process and thread management, etc. As Rust aims to be cross-platform, its standard library only includes general portable features. Platform-specific functions can be obtained through third-party libraries. In addition, Rust can run without a standard library, which is particularly useful when developing platform-independent binaries such as embedded systems.

Selection of third-party libraries:

The versatility of a language often depends on the third-party support it receives. Rust’s official repository Cargo hosts over 60,000 “crates”, many of which are API bindings of popular libraries or frameworks. However, these crates do not have a comprehensive ranking system based on quality, so you must rely on personal experience or community advice.

IDE support:

The Rust team developed rust-analyzer, which can provide real-time feedback from Rust compilers to IDEs, such as Microsoft Visual Studio Code.

Open source:

As an open-source language, Rust benefits from the contributions of a global developer community, constantly improving its performance. It is especially friendly for beginners. It also regularly updates detailed and transparent language documentation.

# 3. Rust ecosystem

img

One important advantage of Rust is its extensive ecosystem of tools, frameworks, and libraries.

Cargo:

Cargo is the official package manager and compiler for Rust. It handles project building, dependency management, and test execution. Developers use crates.io as the official regedit for Rust packages, managed by the Rust community and integrated with Cargo.

Rustup:

Rustup is a tool that simplifies Rust version management, allowing you to switch and update between different Rust toolchains.

Development Environment:

Many Integrated Development Environments (IDEs) and text editors now support Rust development, including Visual Studio Code, Atom, and IntelliJ IDEA.

Libraries and Frameworks:

Rust’s library and framework ecosystem continues to expand, covering applications such as web development, gaming, and Machine Learning. Some popular libraries and frameworks include Rocket, Tokio, Serde, and Actix.

Rust-analyzer:

Rust-analyzer is an efficient and reliable language server that provides features such as code analysis and auto-completion for Rust code. It is easy to use and compatible with multiple text editors and IDEs.

Rustfmt is a formatting tool specifically designed to ensure uniform formatting of Rust code.

Rich learning resources:

Rust provides a lot of useful documentation. Here are some useful resources collected:

  • The Rust Programming Language Book (in-depth explanation of Rust and its core concepts)
  • Rust Language Cheat Sheet
  • Rust Atomics and Locks. Low-Level Concurrency in Practice by Mara Bos (book)
  • Programming Rust: Fast, Safe Systems Development by by Jim Blandy, Jason Orendorff, Leonora Tindall (book)
  • Rust by Example (collection of annotated code samples)
  • Rust Install documents
  • Rust Installer download page
  • Rust design patterns
  • Rust in Motion (paid video course)
  • Rust in blockchain (weekly newsletter)
  • Serokell’s selection of the best Rust learning resources

# 4. Rust development roadmap

img

# 5. Challenges of Rust development

Rust programming language provides many advantages, such as enhanced security, excellent performance, simplified concurrency programming, and ensuring memory safety. However, Rust is not without its drawbacks. Some common challenges when using Rust include:

  • Steep learning curve: For beginners, concepts such as ownership, borrowing, and lifecycle in Rust can be confusing, especially for those who have not been exposed to these concepts.
  • Lengthy syntax: Some people criticize the language’s verbose syntax, which can be seen as both an advantage (explicit rather than implicit) and a disadvantage (requiring verbose code to implement simple tasks).
  • Limited libraries: While the Rust ecosystem is growing rapidly, it lags behind more mature languages like Python, Java, or JavaScript in terms of the number and diversity of third-party libraries.
  • Compile time: A frequently mentioned disadvantage is the long compile time. This may slow down development speed, especially in larger projects.
  • Maturity: Although Rust is a stable language, it is still younger than many competitors. Therefore, certain features and best practices are still evolving.
  • Simplified runtime: This is both an advantage and a challenge. Although it allows Rust to be used in system programming and resource-constrained environments, it also means that the language does not have as many built-in features as languages with more complete runtimes.

# Finally

A survey shows that Rust is becoming more and more popular among developers. The 2023 Stack Overflow Developer Survey shows that 13% of people have extensive work experience on Rust recently, and from 2016 to 2023, this language has been the “most popular”. Rust also ranks sixth in the “most popular technology” in 2023.

The combination of advanced abstraction and fine grain control makes Rust the preferred choice for developing safe and efficient system software. With the increasing recognition of Rust in the developer community, it may become the dominant language in more fields.