Compiler

Top 23 Compiler Open-Source Projects

  • Next.js

    The React Framework

  • Project mention: Runtime environmental variables in Next.js 14 | dev.to | 2024-04-25

    Until the time of writing, there is no official example of how to enable runtime environmental variables in a Dockerized Next.js app, as utilizing unstable_noStore would only dynamically evaluate variables on the server (node.js runtime). There is also an interesting discussion regarding this topic on GitHub.

  • rust

    Empowering everyone to build reliable and efficient software.

  • Project mention: Why Does Windows Use Backslash as Path Separator? | news.ycombinator.com | 2024-04-24

    Here's an example of someone citing a disagreement between CRT and shell32:

    https://github.com/rust-lang/rust/issues/44650

    This in addition to the Rust CVE mentioned elsewhere in the thread which was rooted in this issue:

    https://blog.rust-lang.org/2024/04/09/cve-2024-24576.html

    Here are some quick programs to test contrasting approaches. I don't have examples of inputs where they parse differently on hand right now, but I know they exist. This was also a problem that was frequently discussed internally when I worked at MSFT.

        #include 

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • Svelte

    Cybernetically enhanced web apps

  • Project mention: How to optimise React Apps? | dev.to | 2024-04-21

    React has introduced measures like batching state updates, background concurrent rendering and memoization to tackle this. My opinion is that the best way to solve the problem is by improving their reactivity model. The app needs to be able to track the code that should be re-run on updating a given state variable and specifically update the UI corresponding to this update. Tools like solid.js and svelte work in this manner. It also eliminates the need for a virtual DOM and diffing.

  • webpack

    A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows for loading parts of the application on demand. Through "loaders", modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.

  • Project mention: Getting started with TiniJS framework | dev.to | 2024-04-20

    Homepage: https://webpack.js.org/

  • sway

    🌴 Empowering everyone to build reliable and efficient smart contracts. (by FuelLabs)

  • Gatsby

    The best React-based framework with performance, scalability and security built in.

  • Project mention: Gatsby tutorial: Build a static site with a headless CMS | dev.to | 2024-03-22

    A Gatsby site uses Gatsby, which leverages React and GraphQL to create fast and optimized web experiences. Gatsby is often used for building static websites, progressive web apps (PWAs), and even full-blown dynamic web applications.

  • kotlin

    The Kotlin Programming Language.

  • Project mention: Kotlin 2.0 RC1 | news.ycombinator.com | 2024-04-16
  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • parcel

    The zero configuration build tool for the web. πŸ“¦πŸš€

  • Project mention: Getting started with TiniJS framework | dev.to | 2024-04-20

    Homepage: https://parceljs.org/

  • Babel (Formerly 6to5)

    🐠 Babel is a compiler for writing next generation JavaScript.

  • Project mention: What is an Abstract Syntax Tree in Programming? | dev.to | 2024-04-05

    GitHub | Website

  • esbuild

    An extremely fast bundler for the web

  • Project mention: Use Notion as your CMS along with Next.js | dev.to | 2024-04-10

    During my search for deploying Lambdas via GitHub actions, I came across a tutorial that utilized ncc for converting TypeScript and bundling. While ncc is effective, I discovered esbuild, which proved to be significantly faster and perfectly suited to my requirements.

  • v

    Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io

  • Project mention: V Language Review (2023) | news.ycombinator.com | 2024-02-24

    Their site is clearly showing the language is in beta. The V documentation also states that autofree is WIP, and to use the GC instead. This isn't a corporate created language, but looks to be a true volunteer open source effort from people around the world.

    Their community, in comparison to others, even has their discussions open and open threads for criticism[1]. These

    [1]https://github.com/vlang/v/discussions/7610

  • carbon-lang

    Carbon Language's main repository: documents, design, implementation, and related tools. (NOTE: Carbon Language is experimental; see README)

  • Project mention: Carbon Copy Newsletter No.2 | news.ycombinator.com | 2024-04-08
  • marked

    A markdown parser and compiler. Built for speed.

  • Project mention: Eleventy vs. Next.js for static site generation | dev.to | 2023-12-14

    Next, install gray-matter to extract metadata from the front matter of markdown files, and marked to convert the markdown files to HTML:

  • zig

    General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

  • Project mention: Memory-mapped IO registers in Zig. (2021) | news.ycombinator.com | 2024-04-23

    There is an issue proposing this approach: https://github.com/ziglang/zig/issues/4284

  • swc

    Rust-based platform for the Web

  • Project mention: Storybook 8 Beta | dev.to | 2024-02-06

    First, we switched the default compiler for new projects from Babel to SWC (Speedy Web Compiler). SWC is dramatically faster than Babel and requires zero configuration. We’ll continue to support Babel in any project currently using it.

  • typst

    A new markup-based typesetting system that is powerful and easy to learn.

  • Project mention: German state ditches Microsoft for Linux and LibreOffice | news.ycombinator.com | 2024-04-04

    https://github.com/typst/typst looks promising, both the language and the tooling. I wonder where it will find its place in a world that is dominated by either Word or LaTex.

  • llvm-project

    The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.

  • Project mention: Ask HN: Which books/resources to understand modern Assembler? | news.ycombinator.com | 2024-04-21

    'Computer Architeture: A Quantitative Apporach" and/or more specific design types (mips, arm, etc) can be found under the Morgan Kaufmann Series in Computer Architeture and Design.

    "Getting Started with LLVM Core Libraries: Get to Grips With Llvm Essentials and Use the Core Libraries to Build Advanced Tools "

    "The Architecture of Open Source Applications (Volume 1) : LLVM" https://aosabook.org/en/v1/llvm.html

    "Tourist Guide to LLVM source code" : https://blog.regehr.org/archives/1453

    llvm home page : https://llvm.org/

    llvm tutorial : https://llvm.org/docs/tutorial/

    llvm reference : https://llvm.org/docs/LangRef.html

    learn by examples : C source code to 'llvm' bitcode : https://stackoverflow.com/questions/9148890/how-to-make-clan...

  • V8

    The official mirror of the V8 Git repository

  • Project mention: Boehm Garbage Collector | news.ycombinator.com | 2024-01-21

    https://chromium.googlesource.com/v8/v8.git/+/HEAD/include/c...

    Due to the nature of web engine workloads migrating objects to being GC'd isn't performance negative (as most people would expect). With care it can often end up performance positive.

    There are a few tricks that Oilpan can apply. Concurrent tracing helps a lot (e.g. instead of incrementing/decrementing refs, you can trace on a different thread), in addition when destructing objects, the destructors typically become trivial meaning the object can just be dropped from memory. Both these free up main thread time. (The tradeoff with concurrent tracing is that you need atomic barriers when assigning pointers which needs care).

    This is on top of the safey improvements you gain from being GC'd vs. smart pointers, etc.

    One major tradeoff that UAF bugs become more difficult to fix, as you are just accessing objects which "should" be dead.

  • Graal

    GraalVM compiles Java applications into native executables that start instantly, scale fast, and use fewer compute resources πŸš€

  • Project mention: Java 23: The New Features Are Officially Announced | news.ycombinator.com | 2024-04-17

    Contrary to what vocal Kotlin advocates might believe, Kotlin only matters on Android, and that is thanks to Google pushing it no matter what.

    https://spectrum.ieee.org/the-top-programming-languages-2023

    https://snyk.io/reports/jvm-ecosystem-report-2021/

    And even so, they had to conceed Android and Kotlin on their own, without the Java ecosystem aren't really much useful, thus ART is now updatable via Play Store, and currently supports OpenJDK 17 LTS on Android 12 and later devices.

    As for your question regarding numbers, mostly Java 74.6%, C++ 13.7%, on the OpenJDK, other JVM implementations differ, e.g. GraalVM is mostly Java 91.8%, C 3.6%.

    https://github.com/openjdk/jdk

    https://github.com/oracle/graal

    Two examples from many others, https://en.wikipedia.org/wiki/List_of_Java_virtual_machines

  • Roslyn

    The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs.

  • Project mention: The Performance Impact of C++'s `final` Keyword | news.ycombinator.com | 2024-04-22

    .NET is a little smarter about switch code generation these days: https://github.com/dotnet/roslyn/pull/66081

  • RustPython

    A Python Interpreter written in Rust

  • Project mention: Encapsulation in Rust and Python | dev.to | 2024-04-05

    Integrating Rust into Python, Edward Wright, 2021-04-12 Examples for making rustpython run actual python code Calling Rust from Python using PyO3 Writing Python inside your Rust code β€” Part 1, 2020-04-17 RustPython, RustPython Rust for Python developers: Using Rust to optimize your Python code PyO3 (Rust bindings for Python) Musing About Pythonic Design Patterns In Rust, Teddy Rendahl, 2023-07-14

  • assemblyscript

    A TypeScript-like language for WebAssembly.

  • Project mention: Let's Write a Malloc | news.ycombinator.com | 2023-11-26

    Incidentally, it’s also what AssemblyScript uses: https://github.com/AssemblyScript/assemblyscript/blob/main/s...

  • Nim

    Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).

  • Project mention: Top Paying Programming Technologies 2024 | dev.to | 2024-03-06

    22. Nim - $80,000

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Compiler related posts

Index

What are some of the best open-source Compiler projects? This list will help you:

Project Stars
1 Next.js 120,572
2 rust 92,831
3 Svelte 76,402
4 webpack 64,160
5 sway 63,226
6 Gatsby 55,000
7 kotlin 47,471
8 parcel 43,115
9 Babel (Formerly 6to5) 42,901
10 esbuild 37,249
11 v 35,272
12 carbon-lang 32,188
13 marked 31,885
14 zig 30,631
15 swc 29,952
16 typst 28,218
17 llvm-project 25,563
18 V8 22,633
19 Graal 19,788
20 Roslyn 18,499
21 RustPython 17,539
22 assemblyscript 16,432
23 Nim 16,060

Sponsored
The modern identity platform for B2B SaaS
The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
workos.com