TypeScript as Fast as Rust: TypeScript++

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • Scout APM - Less time debugging, more time building
  • JetBrains - Developer Ecosystem Survey 2022
  • dioxus

    Friendly React-like GUI library for desktop, web, mobile, and more.

    In http://dioxuslabs.com we share our strings (interned) across the JS/Rust boundary and only send primitives back and forth. All diffing stays in Rust with bump memory allocators managing allocations. The JS side is only there to do DOM manipulation. [1] It's about 3-4x faster than React.

    I'd say a lot of the ergonomics are there, but not every pattern has been translated cleanly from React into Rust yet.

    [1] https://github.com/DioxusLabs/dioxus/blob/master/packages/in...

  • swc

    Rust-based platform for the Web

    Yeah I meant speed of execution. Sorry for the letdown! But https://github.com/swc-project/swc is a very fast Typescript compiler written in Rust :)

  • SonarLint

    Deliver Cleaner and Safer Code - Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.

  • awesome-typescript-derived-languages

    Projects which have taken "TypeScript" and made it more than just 'JS with Types'

    Yeah, AssemblyScript is a key WASM language variant - I made a list of some of the other TypeScript-like implementations last year. Static TypeScript does something similar in order to run inside web pages.

    https://github.com/orta/awesome-typescript-derived-languages...

  • DMDScript

    An implementation of the ECMA 262 (Javascript) programming language

    As far as I can tell, D already implements this idea. The Rust/RustGC duality is very similar to D's approach, which has manual memory management and an optional GC [1], and DMDScript [2] could be the scripting language.

    [1] https://dlang.org/spec/garbage.html

    [2] https://github.com/DigitalMars/DMDScript

  • BorrowScript

    TypeScript with a Borrow Checker. Multi-threaded, Tiny binaries. No GC. Easy to write.

    Sounds like BorrowScript, which is TypeScript syntax, a Rust borrow checker, and Go-like coroutines. It's designed for wasm and web api targets. (not compatible with TypeScript though)

    https://github.com/alshdavid/BorrowScript

  • .NET Runtime

    .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.

    I’ve had similar notions.

    For example, Rust used to have a garbage collector. A language set boundary would be a good way to add this back in without requiring a runtime at the lower levels.

    Rust already has “levels”, such as no-std or core.

    Similarly C# has a scripting variant: https://visualstudiomagazine.com/articles/2021/06/14/csharp-...

    And it also supports AoT compilation to a single EXE, but there were a lot of limitations. The latest attempt is a WIP: https://github.com/dotnet/runtime/issues/61231

  • Petalisp

    Elegant High Performance Computing

    Common lisp can be and has been successfully used for high-performance numerics[0] as well as low-level system code[1], all while being a high-level, garbage-collected language. (The latter property likely leading to better overall performance in large programs.)

    Verification may be interesting, for high-assurance (e.g. automotive/aerospace) applications. It's for this reason that a theorem prover[2] and an ml[3] have been implemented, and they interoperate freely with the rest of common lisp.

    In other words: we are already where you want to be, and we are even less stratified than you propose we would need to be.

    0. https://github.com/marcoheisig/Petalisp

    1. https://github.com/froggey/mezzano/

    2. https://www.cs.utexas.edu/users/moore/acl2/

    3. https://github.com/coalton-lang/coalton

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • Mezzano

    An operating system written in Common Lisp

    Common lisp can be and has been successfully used for high-performance numerics[0] as well as low-level system code[1], all while being a high-level, garbage-collected language. (The latter property likely leading to better overall performance in large programs.)

    Verification may be interesting, for high-assurance (e.g. automotive/aerospace) applications. It's for this reason that a theorem prover[2] and an ml[3] have been implemented, and they interoperate freely with the rest of common lisp.

    In other words: we are already where you want to be, and we are even less stratified than you propose we would need to be.

    0. https://github.com/marcoheisig/Petalisp

    1. https://github.com/froggey/mezzano/

    2. https://www.cs.utexas.edu/users/moore/acl2/

    3. https://github.com/coalton-lang/coalton

  • coalton

    Coalton is an efficient, statically typed functional programming language that supercharges Common Lisp.

    Common lisp can be and has been successfully used for high-performance numerics[0] as well as low-level system code[1], all while being a high-level, garbage-collected language. (The latter property likely leading to better overall performance in large programs.)

    Verification may be interesting, for high-assurance (e.g. automotive/aerospace) applications. It's for this reason that a theorem prover[2] and an ml[3] have been implemented, and they interoperate freely with the rest of common lisp.

    In other words: we are already where you want to be, and we are even less stratified than you propose we would need to be.

    0. https://github.com/marcoheisig/Petalisp

    1. https://github.com/froggey/mezzano/

    2. https://www.cs.utexas.edu/users/moore/acl2/

    3. https://github.com/coalton-lang/coalton

  • kmm-production-sample

    This is an open-source, mobile, cross-platform application built with Kotlin Multiplatform Mobile. It's a simple RSS reader, and you can download it from the App Store and Google Play. It's been designed to demonstrate how KMM can be used in real production projects.

    They would need to catch up to Kotlin Native [0]. They fixed the differences to the JVM memory model in 1.6.20 [1].

    [0] https://kotlinlang.org/lp/mobile/

    [1] https://kotlinlang.org/docs/whatsnew1620.html#concurrent-imp...

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts