Rust vs TypeScript

Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Rust
Rust

783
854
+ 1
594
TypeScript
TypeScript

10.3K
7.6K
+ 1
400
Add tool

Rust vs TypeScript: What are the differences?

Developers describe Rust as "A safe, concurrent, practical language". Rust is a systems programming language that combines strong compile-time correctness guarantees with fast performance. It improves upon the ideas of other systems languages like C++ by providing guaranteed memory safety (no crashes, no data races) and complete control over the lifecycle of memory. On the other hand, TypeScript is detailed as "A superset of JavaScript that compiles to clean JavaScript output". TypeScript is a language for application-scale JavaScript development. It's a typed superset of JavaScript that compiles to plain JavaScript.

Rust and TypeScript are primarily classified as "Languages" and "Templating Languages & Extensions" tools respectively.

"Guaranteed memory safety" is the primary reason why developers consider Rust over the competitors, whereas "More intuitive and type safe javascript" was stated as the key factor in picking TypeScript.

Rust and TypeScript are both open source tools. It seems that TypeScript with 50.5K GitHub stars and 6.98K forks on GitHub has more adoption than Rust with 36.9K GitHub stars and 5.81K GitHub forks.

Slack, Clever, and Repro are some of the popular companies that use TypeScript, whereas Rust is used by Sentry, Dropbox, and Roundscope Ukraine Labs. TypeScript has a broader approval, being mentioned in 954 company stacks & 1390 developers stacks; compared to Rust, which is listed in 38 company stacks and 102 developer stacks.

What is Rust?

Rust is a systems programming language that combines strong compile-time correctness guarantees with fast performance. It improves upon the ideas of other systems languages like C++ by providing guaranteed memory safety (no crashes, no data races) and complete control over the lifecycle of memory.

What is TypeScript?

TypeScript is a language for application-scale JavaScript development. It's a typed superset of JavaScript that compiles to plain JavaScript.
Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Why do developers choose Rust?
Why do developers choose TypeScript?

Sign up to add, upvote and see more prosMake informed product decisions

    Be the first to leave a con
    Jobs that mention Rust and TypeScript as a desired skillset
    What companies use Rust?
    What companies use TypeScript?

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Rust?
    What tools integrate with TypeScript?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    What are some alternatives to Rust and TypeScript?
    C
    Swift
    Writing code is interactive and fun, the syntax is concise yet expressive, and apps run lightning-fast. Swift is ready for your next iOS and OS X project — or for addition into your current app — because Swift code works side-by-side with Objective-C.
    Python
    Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
    Haskell
    PHP
    Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.
    See all alternatives
    Decisions about Rust and TypeScript
    marcoalmeida
    marcoalmeida
    C
    C
    Go
    Go
    Rust
    Rust
    Python
    Python

    One important decision for delivering a platform independent solution with low memory footprint and minimal dependencies was the choice of the programming language. We considered a few from Python (there was already a reasonably large Python code base at Thumbtack), to Go (we were taking our first steps with it), and even Rust (too immature at the time).

    We ended up writing it in C. It was easy to meet all requirements with only one external dependency for implementing the web server, clearly no challenges running it on any of the Linux distributions we were maintaining, and arguably the implementation with the smallest memory footprint given the choices above.

    See more
    Eli Hooten
    Eli Hooten
    CTO at Codecov · | 11 upvotes · 51.1K views
    atCodecovCodecov
    Visual Studio Code
    Visual Studio Code
    Vue.js
    Vue.js
    CoffeeScript
    CoffeeScript
    JavaScript
    JavaScript
    TypeScript
    TypeScript

    We chose TypeScript at Codecov when undergoing a recent rewrite of a legacy front end. Our previous front end was a mishmash of vanilla JavaScript and CoffeeScript , and was expanded upon haphazardly as the need arose. Without a unifying set of paradigms and patterns, the CoffeeScript and JavaScript setup was proving hard to maintain and expand upon by an engineering team. During a move to Vue.js , we decided to also make the move to TypeScript. Integrating TypeScript and Vue.js is fairly well understood at this point, so the setup wasn't all that difficult, and we felt that the benefits of incorporating TypeScript would outweigh the required time to set it up and get our engineering team up to speed.

    Choosing to add TypeScript has given us one more layer to rely on to help enforce code quality, good standards, and best practices within our engineering organization. One of the biggest benefits for us as an engineering team has been how well our IDEs and editors (e.g., Visual Studio Code ) integrate with and understand TypeScript . This allows developers to catch many more errors at development time instead of relying on run time. The end result is safer (from a type perspective) code and a more efficient coding experience that helps to catch and remove errors with less developer effort.

    See more
    Rust
    Rust
    C++
    C++

    Initially, I wrote my text adventure game in C++, but I later rewrote my project in Rust. It was an incredibly easier process to use Rust to create a faster, more robust, and bug-free project.

    One difficulty with the C++ language is the lack of safety, helpful error messages, and useful abstractions when compared to languages like Rust. Rust would display a helpful error message at compile time, while C++ would often display "Segmentation fault (core dumped)" or wall of STL errors in the middle. While I would frequently push buggy code to my C++ repository, Rust enabled me to only even submit fully functional code.

    Along with the actual language, Rust also included useful tools such as rustup and cargo to aid in building projects, IDE tooling, managing dependencies, and cross-compiling. This was a refreshing alternative to the difficult CMake and tools of the same nature.

    See more
    React Native
    React Native
    Java
    Java
    Flow (JS)
    Flow (JS)
    TypeScript
    TypeScript

    I use TypeScript for Web Applications and for both frontend and backend because it has a lot of tooling around it and they really got the types and type safety right. Flow (JS) on the other hand lacks tooling and most of the times I scramble to find the right way of building my contracts in which TypeScript is very intuitive and natural. Additionally TypeScript is very similar to Java so your backend engineers and full stack engineers can work with it without much of context switch.

    The only time I think Flow shines is (based on probably my outdated knowledge) Flow is/was the only option if you want/wanted to build a React Native application mainly because React Native transpiler at the time I was working with it would only work with flow.

    See more
    Flow (JS)
    Flow (JS)
    TypeScript
    TypeScript

    I use TypeScript because it isn't just about validating the types I'm expecting to receive though that is a huge part of it too. Flow (JS) seems to be a type system only. TypeScript also allows you to use the latest features of JavaScript while also providing the type checking. To be fair to Flow (JS), I have not used it, but likely wouldn't have due to the additional features I get from TypeScript.

    See more
    David Koblas
    David Koblas
    VP Engineering at Payment Rails · | 9 upvotes · 6.5K views
    atPayment RailsPayment Rails
    TypeScript
    TypeScript
    Flow (JS)
    Flow (JS)
    JavaScript
    JavaScript

    We originally (in 2017) started rewriting our platform from JavaScript to Flow (JS) but found the library support for Flow was lacking. After switching gears to TypeScript we've never looked back. At this point we're finding that frontend and backend libraries are supporting TypeScript out of the box and where the support is missing that the commuity is typically got a solution in hand.

    See more
    Forrest Norvell
    Forrest Norvell
    engineering manager at self-employed · | 6 upvotes · 9.4K views
    Visual Studio Code
    Visual Studio Code
    Flow (JS)
    Flow (JS)
    ESLint
    ESLint
    TSLint
    TSLint
    TypeScript
    TypeScript

    I use TypeScript because the tooling is more mature (the decision to discontinue TSLint in favor of moving all its checks to ESLint is a thoughtful and mature decision), there's a ton of examples and tutorials for it, and it just generally seems to be where the industry is headed. Flow (JS) is a fine tool, but it just hasn't seen the uptake that TS has, and as a result is lacking a lot of the nicer small things, like thorough Visual Studio Code integration, offered by TS.

    See more
    Visual Studio Code
    Visual Studio Code
    Flow (JS)
    Flow (JS)
    TypeScript
    TypeScript

    We currently use TypeScript at work. Previously we used Flow (JS) but it was sometimes really difficult to make the types work the way you want. Especially non-trivial types were problematic. And the IDE support wasn't good, Flow took too much resources and sometimes remain stuck and do not show errors (I use Visual Studio Code). With TypeScript we almost do not have these problems. IDE support is superb, working with types is much easier and typing system seems more mature and powerful. There are some downsides (like partion inheritance etc.), but TS team is still pushing it forward. So for me TypeScript is clear winner.

    See more
    JavaScript
    JavaScript
    Flow (JS)
    Flow (JS)
    TypeScript
    TypeScript

    If you will start a project from scratch I recommend to use TypeScript. But, If you work with legacy projects written in JavaScript I recommend Flow (JS). Both tools have the same objective: reduce the bad code (which create illegible code, generate bugs e problems to maintenance). Flex helps you to avoid fall in bad codes, but TypeScript prevent you to c you to create bad codes. I believe cause this some JavaScript fans don't like TS, because TS block you to write some types o code. This is the fundamental difference between TS and Flow: Flow avoid problems, but no force. TS force you to prevent problems.

    See more
    .NET Core
    .NET Core
    React
    React
    AngularJS
    AngularJS
    TypeScript
    TypeScript

    I use TypeScript because it's adoption by many developers, it's supported by many companies, and it's growth. AngularJS, React, @ASP.NET Core. I started using it in .NET Core, then for a job. Later I added more Angular experience and wrote more React software. It makes your code easier to understand and read... which means it makes other people's code easier to understand and read.

    See more
    TypeScript
    TypeScript

    I use TypeScript because:

    • incredible developer tooling and community support
    • actively developed and supported by Microsoft (yes, I like Microsoft) ;)
    • easier to make sense of a TS codebase because the annotations provide so much more context than plain JS
    • refactors become easier (VSCode has superb support for TS)

    I've switched back and forth between TS and Flow and decided a year ago to abandon Flow completely in favor of TS. I don't want to bash Flow, however, my main grievances are very poor tooling (editor integration leaves much to be desired), a slower release cycle, and subpar docs and community support.

    See more
    Gustavo Muñoz
    Gustavo Muñoz
    Web UI Developer at Globant · | 2 upvotes · 5K views
    CoffeeScript
    CoffeeScript
    JavaScript
    JavaScript
    Flow (JS)
    Flow (JS)
    React
    React
    TypeScript
    TypeScript
    Angular 2
    Angular 2
    #ECMA
    #Angular

    Long ago when Angular 2 evolved I had to decide between the new #Angular and TypeScript or React. I really love typing my code, but forced to use TypeScript was a bit too much. I prefer the new #ECMA standard and the evolution of the old and reliable JavaScript. So finding Flow (JS) was an incredible milestone in my career as a developer. Finally, I could use types in my code, and JavaScript with the new standard. I already had the experience of CoffeeScript, so TypeScript was not an option.

    See more
    Flow (JS)
    Flow (JS)
    JavaScript
    JavaScript
    CoffeeScript
    CoffeeScript
    TypeScript
    TypeScript

    From a StackShare community member: "We are looking to rewrite our outdated front-end with TypeScript. Right now we have a mix of CoffeeScript and vanilla JavaScript. I have read that adopting TypeScript can help enforce better code quality, and best practices. I also heard good things about Flow (JS). Which one would you recommend and why?"

    See more
    Jason Barry
    Jason Barry
    Cofounder at FeaturePeek · | 4 upvotes · 9K views
    atFeaturePeekFeaturePeek
    npm
    npm
    Yarn
    Yarn
    Babel
    Babel
    Sublime Text
    Sublime Text
    JavaScript
    JavaScript
    React
    React
    TypeScript
    TypeScript
    Flow (JS)
    Flow (JS)
    #Frontend

    I think our #Frontend stack is pretty standard – but we have taken some deviations from a typical modern stack:

    • Flow (JS) instead of TypeScript. Flow was an easy choice 2+ years ago, as both flow and React were (and still are) maintained by Facebook. Today, it seems that the JavaScript community has settled on TypeScript as the winner. For new projects, I'd choose TS, but I don't see the point in migrating an existing project from flowtype to TS, when the end result will be roughly the same. Sure, memory usage is a bit high, and every now and then I have to kill some zombie processes, but our text editors (Sublime Text), CI scripts, and Babel are already set up to take advantage of the type safety that flow offers. When/if the React team writes React itself in TS, then I'll take a closer look – until then, flow works for us.

    • Yarn instead of npm. When yarn debuted, we never looked back. Now npm has pretty much caught up with speed and lockfiles, but yarn gives me confidence that my dependency installs are deterministic. Really interested in the plug-n-play (PnP) feature that removes the need for a node_modules folder, but haven't implemented this yet.

    See more
    Dan Larsen
    Dan Larsen
    CTO at FlowStack · | 7 upvotes · 13.8K views
    atFlowStack ApSFlowStack ApS
    C++
    C++
    C
    C
    Rust
    Rust
    Go
    Go

    At FlowStack we write most of our backend in Go. Go is a well thought out language, with all the right compromises for speedy development of speedy and robust software. It's tooling is part of what makes Go such a great language. Testing and benchmarking is built into the language, in a way that makes it easy to ensure correctness and high performance. In most cases you can get more performance out of Rust and C or C++, but getting everything right is more cumbersome.

    See more
    Interest over time
    Reviews of Rust and TypeScript
    Avatar of lpellegr
    Noticeable
    Review ofTypeScriptTypeScript

    Typed JavaScript is just fantastic for medium to large size projects. The type system is well thought and compatible with standard JavaScript. Almost any new Javascript-based development should use TypeScript to save time and prevent technical debt over time.

    How developers use Rust and TypeScript
    Avatar of NewCraft
    NewCraft uses TypeScriptTypeScript

    Typescript has been a win because, in general, it makes codebase maintenance less brittle. It's significantly easier to refactor in TS than JS, which encourages incremental improvements, file re-organizing, etc. Our developers are happier with the overall development experience.

    The downside is that TS sometimes exacerbates problems caused by Node's fragmented ecosystem. Sometimes @types/ don't work, other times types are outdated. This can lead to problems with newly-installed libraries.

    If your project is big enough, I'd say TS is nearly always worth it, but it can make selecting libraries a pain.

    Avatar of Matt Welke
    Matt Welke uses TypeScriptTypeScript

    Used for Node.js personal projects that I think will have a longer lifetime than others, or that are combined with a web front end component like Angular (to share types).

    Generally a poor developer experience. Usage decreasing recently compared to other preferred programming languages/platforms.

    Avatar of Marc3842h
    Marc3842h uses TypeScriptTypeScript

    TypeScript is used in Kuro (https://github.com/Marc3842h/kuro).

    Kuro is the browser facing portion of shiro. Typescript is the language in which the web server and the frontend scripts are written in. They later get compiled down to vanilla JavaScript.

    Avatar of John Harris
    John Harris uses TypeScriptTypeScript

    Excellent design-time type checking and the ability for the Typescript compiler to attach typing information to metadata at compile time allows for relatively simple type checking at run-time as well.

    Avatar of Marc3842h
    Marc3842h uses RustRust

    Rust is used in Shirogane (https://github.com/Marc3842h/shirogane).

    Shirogane is a osu! beatmap mirror built for shiro. We use Rust because of memory safe but still low level and high performance.

    Avatar of Blood Bot
    Blood Bot uses TypeScriptTypeScript

    We, our team can sleep comfortable at night know "x is undefined" will not occur in production. It's also really helpful as IDE help in code completion when they know types.

    How much does Rust cost?
    How much does TypeScript cost?
    Pricing unavailable
    Pricing unavailable