Browse free open source Compilers and projects for Windows and Linux below. Use the toggles on the left to filter open source Compilers by OS, license, language, programming language, and project status.

  • Your top-rated shield against malware and online scams | Avast Free Antivirus Icon
    Your top-rated shield against malware and online scams | Avast Free Antivirus

    Browse and email in peace, supported by clever AI

    Our antivirus software scans for security and performance issues and helps you to fix them instantly. It also protects you in real time by analyzing unknown files before they reach your desktop PC or laptop — all for free.
    Free Download
  • Our Free Plans just got better! | Auth0 Icon
    Our Free Plans just got better! | Auth0

    With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

    You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your security. Auth0 now, thank yourself later.
    Try free now
  • 1
    Emojicode

    Emojicode

    World’s only programming language that’s bursting with emojis

    Emojicode is an open-source, full-blown programming language consisting of emojis. As a multi-paradigm language, Emojicode features object orientation, optionals, generics, closures, and protocols. Emojicode compiles native machine code using lots of optimizations that make your code fast. Emojicode comes with a comprehensive set of default packages. And you can easily write your own. We believe that Emojis have expressive force. Let’s use that to make programming more fun and accessible. Emojicode is a straightforward language to learn, whatever background you have. Our documentation is known to be excellent and stuffed with walk-through guides and examples. Before you install Emojicode make sure you have a C++ compiler and linker installed. clang++ or g++ are fine, for instance. The Emojicode compiler can only link binaries if such a compiler is available.
    Downloads: 10 This Week
    Last Update:
    See Project
  • 2
    TypeScript

    TypeScript

    Application-scale JavaScript

    TypeScript is an open source programming language that is a typed superset of JavaScript. It adds optional static typing to JavaScript, which can support tools for large-scale JavaScript applications for any browser, host and OS. TypeScript compiles to clean, simple JavaScript, and uses existing JavaScript code and libraries. It also offers support for the latest and evolving JavaScript features, such as async functions and decorators.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 3
    Gleam

    Gleam

    A friendly language for building type-safe, scalable systems!

    Gleam's powerful static type system helps find and prevent bugs at compile time, long before it reaches your users. It also serves as a productive refactoring tool, enabling programmers to confidently make large changes to unfamiliar code, quickly and with low risk. For problems, the type system can't solve (such as your server being hit by a bolt of lightning) the Erlang virtual machine provides well-tested mechanisms for gracefully handling failure. Hunting down bugs can be stressful so Gleam's compiler provides clear and helpful feedback about any problems. We want to spend more time developing features and less time looking for bugs or deciphering cryptic error messages. Gleam builds on top of the Erlang virtual machine, a best-in-class runtime that has enabled companies such as Discord, Ericsson, Heroku, and WhatsApp to provide low-latency services at a global scale. Gleam takes full advantage of the Erlang runtime and adds no overhead of its own.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 4

    Seed7

    Interpreter and compiler for the Seed7 programming language.

    Interpreter, compiler, libraries, documentation and examples for the Seed7 programming language. Seed7 is a general purpose programming language. It is a higher level language compared to Ada, C/C++ and Java. In Seed7 new statements and operators can be declared easily. Functions with type results and type parameters are more elegant than a template or generics concept. Object orientation is used where it brings advantages and not in places where other solutions are more obvious. Seed7 spares no effort to support portable programming. Several driver libraries assure that the access to operating system resources such as files, directories, network, clock, keyboard, console and graphics are done in a portable way. Although Seed7 contains several concepts from other programming languages, it is generally not considered a direct descendant of any other programming language.
    Leader badge
    Downloads: 30 This Week
    Last Update:
    See Project
  • Gen AI apps are built with MongoDB Atlas Icon
    Gen AI apps are built with MongoDB Atlas

    The database for AI-powered applications.

    MongoDB Atlas is the developer-friendly database used to build, scale, and run gen AI and LLM-powered apps—without needing a separate vector database. Atlas offers built-in vector search, global availability across 115+ regions, and flexible document modeling. Start building AI apps faster, all in one place.
    Start Free
  • 5
    OCaml

    OCaml

    The core OCaml system: compilers, runtime system, base libraries

    OCaml is a general-purpose, industrial-strength programming language with an emphasis on expressiveness and safety. OCaml’s powerful type system means more bugs are caught at compile-time, and large, complex codebases are easier to maintain. This makes it a good language for running critical code. At the same time, sophisticated inference makes the type system unobtrusive, creating a smooth developer experience. OCaml has two compilers. One is a bytecode compiler that generates small, portable executables and is very fast. The other is a native code compiler that produces more efficient machine code; its performance matches the highest standards of modern compilers. OCaml has great support for the most popular editors. VS Code is recommended for beginners, and for power users there is deep integration with Vim and Emacs. OCaml has a rich and dynamic community and best-in-class tooling.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 6
    Rust Programming Language

    Rust Programming Language

    Empowering everyone to build reliable and efficient software

    The Rust Programming Language is a language that empowers you to build reliable and efficient software. It runs blazingly fast and is memory-efficient, so it can power performance-critical services and run on embedded devices. It has a rich type system and ownership model, ensuring both thread and memory safety. Consisting of a standard library, great documentation and a friendly compiler, plus a top-notch build tool, package manager, auto-formatter and many other great tools, it’s the language of choice for increased productivity. Hundreds of companies the world over are using Rust to power an amazing range of cross-platform solutions. See what a great fit Rust can be for your own projects!
    Downloads: 5 This Week
    Last Update:
    See Project
  • 7
    V Programming Language

    V Programming Language

    Simple, fast, safe, compiled language for developing software

    Simple language for building maintainable programs. You can learn the entire language by going through the documentation over a weekend, and in most cases, there's only one way to do something. This results in simple, readable, and maintainable code. Despite being simple, V gives a lot of power to the developer and can be used in pretty much every field, including systems programming, webdev, gamedev, GUI, mobile, science, embedded, tooling, etc. V avoids doing unnecessary allocations in the first place by using value types, and string buffers, promoting a simple abstraction-free code style. Most objects (~90-100%) are freed by V's auto-free engine: the compiler inserts necessary free calls automatically during compilation. A remaining small percentage of objects is freed via GC. The developer doesn't need to change anything in their code. "It just works", like in Python, Go, or Java, except there's no heavy GC tracing everything or expensive RC for each object.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 8
    gluon

    gluon

    A static, type inferred and embeddable language written in Rust

    Gluon is a static, type inferred and embeddable language written in Rust. Gluon is a small, statically-typed, functional programming language designed for application embedding. Static typing makes it easier to write safe and efficient interfaces between gluon and the host application. Type inference ensures that types rarely have to be written explicitly giving all the benefits of static types with none of the typing. Marshalling values to and from gluon requires next to no boilerplate, allowing functions defined in Rust to be directly passed to gluon. Gluon supports Unicode out of the box with utf-8 encoded strings and Unicode codepoints as characters. Gluon is a garbage-collected language but uses a separate heap for each executing gluon thread. This keeps each heap small, reducing the overhead of the garbage collector. Gluon is written in Rust, which guarantees thread safety. Gluon keeps the same guarantees, allowing multiple gluon programs to run in parallel.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 9
    Squirrel is a light weight programming language featuring higher-order functions,classes/inheritance,delegation,tail recursion,generators,cooperative threads,exception handling, reference counting and garbage collection on demand. C-like syntax.
    Leader badge
    Downloads: 46 This Week
    Last Update:
    See Project
  • Build Securely on Azure with Proven Frameworks Icon
    Build Securely on Azure with Proven Frameworks

    Lay a foundation for success with Tested Reference Architectures developed by Fortinet’s experts. Learn more in this white paper.

    Moving to the cloud brings new challenges. How can you manage a larger attack surface while ensuring great network performance? Turn to Fortinet’s Tested Reference Architectures, blueprints for designing and securing cloud environments built by cybersecurity experts. Learn more and explore use cases in this white paper.
    Download Now
  • 10

    XBasic

    Basic programming language for Windows & Linux

    XBasic is an integrated software development environment including an advanced compiler, edit/run/debug environment, and interactive GuiDesigner. Latest version 6.3.26-A dated 21-07-24 Most of the document is included in the latest versions. See : https://groups.io/g/MaxReasonsxBasic if you have questions, problems, etc.
    Downloads: 33 This Week
    Last Update:
    See Project
  • 11
    Hy

    Hy

    A dialect of Lisp that's embedded in Python

    Hy is a multi-paradigm general-purpose programming language in the Lisp family. It’s implemented as a kind of alternative syntax for Python. Compared to Python, Hy offers a variety of extra features, generalizations, and syntactic simplifications, as would be expected of a Lisp. Compared to other Lisps, Hy provides direct access to Python’s built-ins and third-party Python libraries, while allowing you to freely mix imperative, functional, and object-oriented styles of programming. The first thing a Python programmer will notice about Hy is that it has Lisp’s traditional parenthesis-heavy prefix syntax in place of Python’s C-like infix syntax. As in other Lisps, the value of a simplistic syntax is that it facilitates Lisp’s signature feature, metaprogramming through macros, which are functions that manipulate code objects at compile-time to produce new code objects, which are then executed as if they had been part of the original code.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 12
    Mint

    Mint

    A refreshing programming language for the front-end web

    Mint has all the tools you need to write error-free, easily readable, and maintainable applications in record time. In Mint you can style elements directly with CSS using style blocks. Inside a style block, you can nest as many sub selectors and media queries as you like. Interpolate any Mint expressions in any value using the interpolation syntax. You can even use if and case expressions inside any block to apply styles conditionally. In Mint a store contains and manages some data. Stores are globally accessible and can be connected to components. When the data in a store changes the connected components are re-rendered. In Mint routing is a language feature instead of a library. Routes can be defined in a routes block, with support for typed path parameters. The runtime handles clicks on anchor tags and navigates in a smart way so you don't have to. You can inline any JavaScript code easily by using bacticks.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 13
    The Ballerina programming language

    The Ballerina programming language

    The Ballerina Programming Language

    Ballerina is an open-source programming language for the cloud that makes it easier to use, combine, and create network services. Network primitives in the language make it simpler to write services and run them in the cloud. Structural types with support for openness are used both for static typing within a program and for describing service interfaces. Type-safe, declarative processing of JSON, XML, and tabular data with language-integrated queries. Explicit error handling, static types, and concurrency safety, combined with a familiar, readable syntax make programs reliable and maintainable. Easy and efficient concurrency with sequence diagrams and language-managed threads without the complexity of asynchronous functions. Programs have both a textual syntax and an equivalent graphical form based on sequence diagrams.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 14
    X11-Basic

    X11-Basic

    A BASIC interpreter and compiler with graphics.

    X11-Basic is a dialect of the BASIC programming language with graphics capability that integrates features like shell scripting, cgi-Programming and full graphical visualisation into the easy to learn basic language on modern computers.
    Leader badge
    Downloads: 15 This Week
    Last Update:
    See Project
  • 15
    ELENA Programming Language

    ELENA Programming Language

    an object-oriented language with late binding

    ELENA is a general-purpose, pure object-oriented language with late binding. It promotes more object-oriented program design, reusable and more standardized code. The package includes compiler, IDE, ELENA libraries and samples
    Leader badge
    Downloads: 13 This Week
    Last Update:
    See Project
  • 16
    Fennel

    Fennel

    Lua Lisp Language

    Fennel is a programming language that brings together the speed, simplicity and reach of Lua with the flexibility of a lisp syntax and macro system. Full Lua compatibility: Easily call any Lua function or library from Fennel and vice-versa. Zero overhead: Compiled code should be just as efficient as hand-written Lua. Compile-time macros: Ship compiled code with no runtime dependency on Fennel. Embeddable: Fennel is a one-file library as well as an executable. Embed it in other programs to support runtime extensibility and interactive development. Anywhere you can run Lua code, you can run Fennel code. Fennel is a lisp that compiles to Lua. It aims to be easy to use, expressive and has almost zero overhead compared to writing Lua directly. Building Fennel from source allows you to use versions of Fennel that haven't been released, and it makes contributing to Fennel easier.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 17
    Idris 2

    Idris 2

    A purely functional programming language with first class types

    In type-driven development, types are tools for constructing programs. We treat the type as the plan for a program, and use the compiler and type checker as our assistant, guiding us to a complete program that satisfies the type. The more expressive the type is that we give up front, the more confidence we can have that the resulting program will be correct. In Idris, types are first-class constructs in the language. This means types can be passed as arguments to functions, and returned from functions just like any other value, such as numbers, strings, or lists. This is a small but powerful idea, enabling relationships to be expressed between values; for example, that two lists have the same length. Assumptions to be made explicit and checked by the compiler. For example, if you assume that a list is non-empty, Idris can ensure this assumption always holds before the program is run.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 18
    Dyalect

    Dyalect

    Dyalect is a programming language for .NET Core

    Dyalect is a dynamic programming language for .NET Core platform. It is lightweight, fast and modern. Dyalect (or Dy for short) is written in C# and has zero dependencies except for standard .NET Core libraries, which means that it can seamlessly run on Windows, MacOS and Linux. Moreover you can use the same binaries on any of these platforms! Dy runs on the top of its own high performance virtual machine. It compiles fast and can be used as an embeddable language or as a scripting language of your choice. It is also a good language to learn programming. Dyalect offers modern syntax, inspired by such languages as C#, Swift, Go and Rust, first class functions, coroutines, expressive modules, a dynamic type system with an ability to extend existing types with new functions and much more. Dy is shipped with a crossplatform interactive console. Main repo: https://github.com/vorov2/dyalect
    Downloads: 16 This Week
    Last Update:
    See Project
  • 19
    Ring

    Ring

    Simple and flexible programming language for applications development

    The Ring is a practical general-purpose multi-paradigm language. The supported programming paradigms are imperative, procedural, object-oriented, declarative using nested structures, functional, meta programming and natural programming. The language is portable (MS-DOS, Windows, Linux, macOS, Android, WebAssembly, Microcontrollers, etc.) and can be used to create Console, GUI, Web, Games and Mobile applications. The language is designed to be simple, small and flexible. Ring is distributed as a Free-Open Source project under the MIT License.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 20
    Cmajor

    Cmajor

    Cmajor is an experimental programming language.

    Cmajor is an experimental programming language strongly influenced by C++ and C#. It is semantically closer to C++ than C# and syntactically closer to C# than C++.
    Downloads: 10 This Week
    Last Update:
    See Project
  • 21
    Euphoria Programming Language
    This project will allow a group of people to develop the Euphoria programming language: interpreter, translator, binder, documentation etc. For more information visit https://openeuphoria.org
    Downloads: 3 This Week
    Last Update:
    See Project
  • 22
    Objeck

    Objeck

    Simple ⇒ Object-Oriented ⇒ Functional

    Objeck is an object-oriented programming language with functional features. Objeck emphasizes, expression, simplicity, portability, and scalability. The programming environment consists of a compiler, virtual machine, and command line debugger with IDE plugins.
    Leader badge
    Downloads: 5 This Week
    Last Update:
    See Project
  • 23
    AQ

    AQ

    AQ is an interpreted programming language. It is fast, small, simple a

    AQ is a fast, small, simple and safe interpreted programming language. It may be a great work.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 24

    Ino-L

    Simple programming language for Windows.

    Ino-L is a TUI programming language for Windows that compiles into MS-DOS batch files. Ino-L stands for Innova Language, because Innova is French for innovation. The purpose of the language is to allow programmers the same functionality and abilities of batch files, but with simpler syntax and limited GUI, along with other things MS-DOS does not natively support. Your MS-DOS code can also be incorporated into the Ino-L source code, along with JavaScript and VisualBasic.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 25
    AL-IV

    AL-IV

    ALFOUR Programming language. Simple, safe, power, multi-platform.

    A programming language AL-IV (ALFOUR) is a high-level imperative object oriented programming language with minimal introduction level, easy porting to any platform claiming a very high level of safety and stability, with a controllable level of code protection, high efficiency of an executable code, full independence from a target platform, minimal enter level.
    Downloads: 3 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • Next
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.