The Rust programming language is a systems programming language, focusing on reliable high performance execution, runtime safety, and easier concurrency. It focuses on delivering high value to industrial projects. It has the advantage of hindsight, learning from some great advances in the software industry, and borrows the best features from languages like Haskell.
Our strong focus on dependable software at FP Complete makes Rust a natural fit, and we're proud to offer training, consulting, and software solutions development services to Rust users. We also offer many free resources available online, see below for links.
Interested in learning more about how Rust can help your business succeed?
Rust introduces new paradigms to increase safety without sacrificing performance. Borrows, lifetimes, sum types, and traits are powerful concepts that will help your team succeed. Let FP Complete's team of experienced engineers bring your team up to speed quickly.
Ready to start using Rust for your next project? Already using Rust and want some support? Our engineers have extensive experience working with existing teams, providing coding, review, and architecture support.
Need some software written? We can provide a full service solution for your software needs. We'll bring project management, architecture, software development, DevOps, and quality assurance, all included. Your project will be in great hands.
Rust at FP Complete
It may seem surprising that a company heavily invested in functional programming would support an imperative systems language. We believe Rust both overlaps with and complements our Haskell-based functional programming approach quite a bit.
Both languages provide features that make it easier to write safe software: immutability, pattern matching, sum types, and great concurrency primitives. Rust also offers features not available in typical functional programming languages:
- Reliable high performance
- Hard real-time guarantees
- No runtime overhead
- Greater platform support
FP Complete brings its experience with varied domains (scientific, financial, and network software), cutting edge DevOps, and functional programming, together with our project management and quality assurance expertise, to help your project succeed with Rust.
Strengths of Rust
Rust occupies a powerful niche:
- Performance Rust is competitive with C and C++ by staying low level, avoiding garbage collection, and pursuing zero-cost abstractions.
- Safety One of Rust's best innovations is its lifetime management, allowing not only memory safety without runtime overhead, but also much greater thread safety than most other languages. Rust also pursues other safety-focused approaches, such as sum types and immutability.
- Productivity Rust's design emphasizes ergonomics so that developers can move fast without compromising quality. Rust has best-in-class build tooling as well.
In addition, Rust has many other appealing features, such as:
- Web assembly targets for front-end development
- Mobile development support
- A growing library ecosystem
Rust brings a lot of value to the table. The price for that value is a relatively high learning curve. We recommend taking this into account when considering starting a new project in Rust.
In addition to our paid training offerings, FP Complete's Vice President of Engineering, Michael Snoyman, runs an ongoing Rust tutorial blog post series. This series follows the pain points we've seen both our own engineers and customers encounter when learning the language.
The Rust community itself provides outstanding documentation. Please check out the Rust documentation homepage for more information.
Learn more about how Rust compares from our blog:
Not sure yet if Rust is a good choice? Still considering other languages such as Haskell? Contact us for a free consultation. We'll be happy to explain the costs and benefits of Rust for your specific needs.