Compiler

Top 23 Compiler Open-Source Projects

  • Next.js

    The React Framework

  • Project mention: Why I Decided to Leave Frontend Frameworks Behind | dev.to | 2024-05-20

    Let's take Next.js for example. How it introduces routing to the users is far from how the actual routing works under the hood. Just to grasp what I am saying, the Next npm package is 86MB compared to the base React repo which is just over 300kB. For most projects, the only thing you do is have 10-15 pages, maybe have Stripe and a few charts, some side effects, basic state management, and that's it. Why do you need 86MB of code, all that learning curve, and the poor documentation of Next.js for your next project?

  • rust

    Empowering everyone to build reliable and efficient software.

  • Project mention: How does Rust go “from” here “into” there | dev.to | 2024-05-19

    rustc source code

  • 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: Svelte Series-2: How to install Svelte | dev.to | 2024-05-20

    The original installation referred to here is actually the installation prompt that appears on the home page of the official website

  • 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: Svelte Series-2: How to install Svelte | dev.to | 2024-05-20

    If we don't want to use Vite or SvelteKit, or if we don't have the means to use them, then we need to integrate Svelte with our own environment. In our daily development, we usually use webpack or Rollup as our project's module management packaging tool. Therefore, I will introduce these two environments, how to build the Svelte environment.

  • 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: Building static websites | dev.to | 2024-04-29

    The first time I started building static websites is when I discovered Gatsby. I built several projects using Gatsby and hosted it on Netlify free tier. It felt like a really robust architecture and I loved that it was free.

  • kotlin

    The Kotlin Programming Language.

  • Project mention: Moving your bugs forward in time | dev.to | 2024-05-08

    ‍For the rest of this post I’ll list off some more tactical examples of things that you can do towards this goal. Savvy readers will note that these are not novel ideas of my own, and in fact a lot of the things on this list are popular core features in modern languages such as Kotlin, Rust, and Clojure. Kotlin, in particular, has done an amazing job of emphasizing these best practices while still being an extremely practical and approachable language.

  • 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: Create a typescript package with Parcel | dev.to | 2024-05-14

    Parcel is a fast and zero-configuration web application bundler designed to simplify the build process for modern web projects. It's not limited to web applications, and it can be used to build packages targeting the browser or Node.js.

  • Babel (Formerly 6to5)

    🐠 Babel is a compiler for writing next generation JavaScript.

  • Project mention: Do You Need an SBOM? | dev.to | 2024-05-06
  • esbuild

    An extremely fast bundler for the web

  • Project mention: Exploring Angular 17 and Beyond: Major Enhancements, Latest Updates, Migration Strategies, and Future Outlook | dev.to | 2024-05-18

    Angular 17 introduces a significant performance boost by harnessing the capabilities of esbuild, a swift JavaScript bundler. This integration optimizes the build process, reducing build times and enhancing the overall performance of web applications developed with Angular. Developers can now expedite the application development cycle and deployment, leading to a more seamless development experience.

  • 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: Gio UI – Cross-Platform GUI for Go | news.ycombinator.com | 2024-05-18

    It's even a core point for Carbon, their hopeful C++ replacement

    Under language goals on their readme,

    > We also have explicit non-goals for Carbon, notably including:

    > * A stable application binary interface (ABI) for the entire language and library

    > * Perfect backwards or forwards compatibility

    There's also this blurb

    > Our goals are focused on migration from one version of Carbon to the next rather than compatibility between them. This is rooted in our experience with evolving software over time more generally and a live-at-head model. Any transition, whether based on backward compatibility or a migration plan, will require some manual intervention despite our best efforts, due to Hyrum's Law, and so we should acknowledge that upgrades require active migrations.

    https://github.com/carbon-language/carbon-lang/blob/trunk/do...

  • 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: Show HN: I made a better Perplexity for developers | news.ycombinator.com | 2024-05-08

    It's "Zig" not "Zag". https://ziglang.org/ Zig is under heavy development, but there's a single page https://ziglang.org/documentation/0.12.0/ that is a reasonably comprehensive source of truth about the current state of the language.

  • swc

    Rust-based platform for the Web

  • Project mention: Monorepo Backend Application with Bundled Packages | dev.to | 2024-05-10

    I began by creating a monorepo using turbo with applications and packages. It took me 5 minutes with everything installed and working like a charm! Then I was setting up the backend application, utilizing swc to transpile TypeScript into CommonJS format.

  • 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: Qualcomm's Oryon LLVM Patches | news.ycombinator.com | 2024-05-15

    I think they should probably set LoopMicroOpBufferSize to a non-zero value even if its not microarchitecturally accurate. This value is used in LLVM to control whether partial and runtime loop unrolling are enabled (actually only for that). Although some targets override this default behaviour, AArch64 only overrides it to enable partial and runtime unrolling for in-order models. I've left a review comment https://github.com/llvm/llvm-project/pull/91022/files#r16026... and as I note there, the setting seems to have become very divorced from microarchitectural reality if you look at how and why different scheduling models set it in-tree (e.g. all the Neoverse cores, set it to 16 with a comment they just copied it from the A57).

  • 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: Garbage Collectors Are Scary | news.ycombinator.com | 2024-05-12

    They are indeed scary, but one thing that can make them less so is writing them in a high level language. A nice code base to study if you're new to GCs is the GenScavange module of SubstrateVM, a JVM written entirely in Java. Start here:

    https://github.com/oracle/graal/blob/master/substratevm/src/...

    It gets compiled to native code for use. It's actually a bit of a dialect of Java because of course, you need low level memory and stack access. So you can see at parts there is use of special APIs that get compiled to things like stack allocations, so it can avoid allocating on the heap whilst working with it. Even so the "business logic" of a GC can be easily seen here, especially if you don't know C++.

  • Roslyn

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

  • Project mention: The search for easier safe systems programming | news.ycombinator.com | 2024-05-08

    The C# compiler has an MIT license and is available on GitHub, which is about as FOSS as it gets.

    https://github.com/dotnet/roslyn

  • 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: Borgo is a statically typed language that compiles to Go | news.ycombinator.com | 2024-04-30

    I like your take but JavaScript was literally the assembly language of the web until WASM came along. There was no other language that TypeScript could compile to.

    This train of thought lead me to discover AssemblyScript! https://www.assemblyscript.org/

  • 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: The search for easier safe systems programming | news.ycombinator.com | 2024-05-08
  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub 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

  • Svelte Series-2: How to install Svelte

    10 projects | dev.to | 20 May 2024
  • How does Rust go “from” here “into” there

    2 projects | dev.to | 19 May 2024
  • Bend: The first high-level language that runs natively on GPUs (via HVM2)

    4 projects | news.ycombinator.com | 17 May 2024
  • Generic constant expressions: a future bright side of nightly Rust

    2 projects | dev.to | 16 May 2024
  • Odin programming language now supports NetBSD

    1 project | news.ycombinator.com | 16 May 2024
  • Qualcomm's Oryon LLVM Patches

    1 project | news.ycombinator.com | 15 May 2024
  • Using Pavex for Rust web development

    1 project | dev.to | 15 May 2024
  • A note from our sponsor - InfluxDB
    www.influxdata.com | 20 May 2024
    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. Learn more →

Index

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

Project Stars
1 Next.js 121,256
2 rust 93,633
3 Svelte 76,805
4 webpack 64,216
5 sway 63,111
6 Gatsby 55,049
7 kotlin 47,649
8 parcel 43,156
9 Babel (Formerly 6to5) 42,954
10 esbuild 37,371
11 v 35,310
12 carbon-lang 32,259
13 marked 31,997
14 zig 31,086
15 swc 30,118
16 typst 28,677
17 llvm-project 25,962
18 V8 22,729
19 Graal 19,832
20 Roslyn 18,564
21 RustPython 17,724
22 assemblyscript 16,480
23 Nim 16,133

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com