Programming Languages for Mac

View 96 business solutions

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

  • Go From Idea to Deployed AI App Fast Icon
    Go From Idea to Deployed AI App Fast

    One platform to build, fine-tune, and deploy. No MLOps team required.

    Access Gemini 3 and 200+ models. Build chatbots, agents, or custom models with built-in monitoring and scaling.
    Try Free
  • Train ML Models With SQL You Already Know Icon
    Train ML Models With SQL You Already Know

    BigQuery turns your data warehouse into an AI platform. No new languages required.

    Build and deploy ML models using familiar SQL. Automate data prep with built-in Gemini. Query 1 TB and store 10 GB free monthly.
    Try Free
  • 1
    CLIPS Rule Based Programming Language
    CLIPS is a forward-chaining rule-based programming language written in C that also provides procedural and object-oriented programming facilities.
    Leader badge
    Downloads: 841 This Week
    Last Update:
    See Project
  • 2
    Pygame

    Pygame

    Set of Python modules designed for writing video games

    Pygame is a Free and Open Source python programming language library for making multimedia applications like games built on top of the excellent SDL library. Like SDL, pygame is highly portable and runs on nearly every platform and operating system.
    Downloads: 157 This Week
    Last Update:
    See Project
  • 3
    Node-RED

    Node-RED

    Low-code programming for event-driven applications

    Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways. It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click. Node-RED provides a browser-based flow editor that makes it easy to wire together flows using the wide range of nodes in the palette. Flows can be then deployed to the runtime in a single-click. JavaScript functions can be created within the editor using a rich text editor. A built-in library allows you to save useful functions, templates or flows for re-use. The light-weight runtime is built on Node.js, taking full advantage of its event-driven, non-blocking model. This makes it ideal to run at the edge of the network on low-cost hardware such as the Raspberry Pi as well as in the cloud.
    Downloads: 54 This Week
    Last Update:
    See Project
  • 4
    Luau

    Luau

    Fast, small, safe, gradually typed embeddable scripting language

    It is designed to be backward compatible with Lua 5.1, as well as incorporating some features from future Lua releases, but also expands the feature set (most notably with type annotations). Luau is largely implemented from scratch, with the language runtime being a very heavily modified version of Lua 5.1 runtime, with a completely rewritten interpreter and other performance innovations. The runtime mostly preserves Lua 5.1 API, so existing bindings should be more or less compatible with a few caveats. Luau is used by Roblox game developers to write game code, as well as by Roblox engineers to implement large parts of the user-facing application code as well as portions of the editor (Roblox Studio) as plugins. Roblox chose to open-source Luau to foster collaboration within the Roblox community as well as to allow other companies and communities to benefit from the ongoing language and runtime innovation. As a consequence, Luau is now also used by games like Alan Wake 2 and Warframe.
    Downloads: 44 This Week
    Last Update:
    See Project
  • Try Google Cloud Risk-Free With $300 in Credit Icon
    Try Google Cloud Risk-Free With $300 in Credit

    No hidden charges. No surprise bills. Cancel anytime.

    Use your credit across every product. Compute, storage, AI, analytics. When it runs out, 20+ products stay free. You only pay when you choose to.
    Start Free
  • 5
    MicroPython

    MicroPython

    Python implementation for microcontrollers and constrained systems

    MicroPython is a lean and efficient implementation of the Python 3 programming language that includes a small subset of the Python standard library and is optimised to run on microcontrollers and in constrained environments. The MicroPython pyboard is a compact electronic circuit board that runs MicroPython on the bare metal, giving you a low-level Python operating system that can be used to control all kinds of electronic projects. MicroPython is packed full of advanced features such as an interactive prompt, arbitrary precision integers, closures, list comprehension, generators, exception handling and more. Yet it is compact enough to fit and run within just 256k of code space and 16k of RAM. MicroPython aims to be as compatible with normal Python as possible to allow you to transfer code with ease from the desktop to a microcontroller or embedded system.
    Downloads: 32 This Week
    Last Update:
    See Project
  • 6
    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: 28 This Week
    Last Update:
    See Project
  • 7
    Modern C++ Programming

    Modern C++ Programming

    Modern C++ Programming Course

    Modern-CPP-Programming is a teaching repository that introduces practical C++11/14/17 features through focused examples, exercises, and notes. It walks through core language topics like RAII, move semantics, templates and metaprogramming, lambdas, and smart pointers with an eye toward real-world patterns. Concurrency and performance enter the picture via threads, atomics, futures, and memory considerations, helping learners reason about correctness and speed. The materials highlight best practices—value semantics, const-correctness, and zero-cost abstractions—while cautioning against common pitfalls inherited from older C++ idioms. Build and tooling conventions (e.g., CMake, testing frameworks, static analyzers) are woven into examples so projects are reproducible and portable. By combining concise snippets with progressively more complex tasks, the repo serves as both a quick reference and a guided path to writing modern, maintainable C++.
    Downloads: 20 This Week
    Last Update:
    See Project
  • 8
    Erlang/OTP

    Erlang/OTP

    Build massively scalable soft real-time systems

    Erlang is a programming language used to build massively scalable soft real-time systems with requirements on high availability. Some of its uses are in telecoms, banking, e-commerce, computer telephony and instant messaging. Erlang's runtime system has built-in support for concurrency, distribution and fault tolerance. OTP is set of Erlang libraries and design principles providing middle-ware to develop these systems. It includes its own distributed database, applications to interface towards other languages, debugging and release handling tools. Erlang/OTP is available as pre-built binary packages by most OS package managers. You can use Kerl, a script that lets you easily build Erlang with a few commands. We take security bugs in Erlang/OTP seriously. The Erlang distribution includes a step-by-step getting started guide.
    Downloads: 18 This Week
    Last Update:
    See Project
  • 9
    php-src

    php-src

    The PHP Interpreter

    This is the official source repository of PHP, a popular open-source server-side scripting language primarily used for web development. PHP powers a significant portion of the web, including platforms like WordPress, Drupal, and Laravel. The repository includes the core language engine, standard libraries, and tools for compilation and deployment across systems.
    Downloads: 17 This Week
    Last Update:
    See Project
  • Custom VMs From 1 to 96 vCPUs With 99.95% Uptime Icon
    Custom VMs From 1 to 96 vCPUs With 99.95% Uptime

    General-purpose, compute-optimized, or GPU/TPU-accelerated. Built to your exact specs.

    Live migration and automatic failover keep workloads online through maintenance. One free e2-micro VM every month.
    Try Free
  • 10
    Lombok

    Lombok

    New additions to the Java programming language

    Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java. Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more. Project Lombok is available as a single jar file on the project site. It includes the APIs for development as an installer for IDE integration. On most systems, simply double-clicking the jar file will launch the installer. The installer will attempt to detect the location of a supported IDE. If it cannot correctly determine where the IDE is installed, the location can be specified manually. Simply click "Install/Update," and IDE integration is complete. There are a number of annotations in Project Lombok to allow for more fine grained control over the structure and behavior of a class.
    Downloads: 16 This Week
    Last Update:
    See Project
  • 11
    Solidity

    Solidity

    The Smart Contract Programming Language

    Solidity is a statically-typed curly-braces programming language designed for developing smart contracts that run on Ethereum. Solidity 0.8.4 adds custom structured errors, allows more flexible configuration of the SMTChecker and fixes a bug in the Solidity ABI decoder v2. Read more about the bug here. With v0.8.4, errors can be defined inside and outside of contracts (including interfaces and libraries). This provides a convenient and gas-efficient way to explain to users why an operation failed. As a relatively young language, Solidity is advancing at a rapid speed. We aim for a regular (non-breaking) release every 2-3 weeks, with approximately two breaking releases per year. You can follow the implementation status of new features in the Solidity Github project. You can see the upcoming changes for the next breaking release by switching from the default branch (develop) to the breaking branch.
    Downloads: 16 This Week
    Last Update:
    See Project
  • 12
    Python

    Python

    The Python programming language

    Python is a powerful, high-level programming language known for its readability, simplicity, and versatility. It supports multiple programming paradigms including procedural, object-oriented, and functional styles. CPython, the reference implementation, is developed and maintained by the Python Software Foundation and the global open-source community. The language includes a vast standard library that accelerates development by providing built-in modules for file handling, networking, data manipulation, and more. Python runs seamlessly across platforms such as Linux, macOS, and Windows, making it ideal for both development and production environments. With constant updates, optimizations, and an active community, Python continues to be one of the most widely adopted languages worldwide.
    Downloads: 15 This Week
    Last Update:
    See Project
  • 13
    Agena

    Agena

    Agena is an interpreted procedural programming language.

    Agena is an easy-to-learn procedural programming language designed for science, scripting, and many other applications. Binaries are available for Windows, Linux, Solaris, OS/2, Mac OS X, Raspberry Pi and DOS.
    Leader badge
    Downloads: 143 This Week
    Last Update:
    See Project
  • 14
    HAXE

    HAXE

    The cross-platform toolkit

    Haxe is an open source high-level strictly-typed programming language with a fast optimizing cross-compiler. Haxe can build cross-platform applications targeting JavaScript, C++, C#, Java, JVM, Python, Lua, PHP, Flash, and allows access to each platform's native capabilities. Haxe has its own VMs (HashLink and NekoVM) but can also run in interpreted mode. Haxe is useful in a wide variety of domains; games, web, mobile, desktop, command-line and cross-platform APIs. Take a look at who is using Haxe and explore the use cases. Haxe is a reliable open source technology and is free to use. Become contributor on GitHub, join our community on our Discord chat and forum and find us on Facebook, Twitter and StackOverflow. Haxelib is the package manager for Haxe, which offers many free libraries powered by the Haxe community. Manage your project dependencies and distribute libraries.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 15
    ArnoldC

    ArnoldC

    Arnold Schwarzenegger based programming language

    ArnoldC is a programming language built as a joke language, where the entire syntax is based on quotes from Arnold Schwarzenegger movies. Instead of conventional keywords and operators, it uses memorable movie lines to represent programming constructs like conditionals, loops, and functions. For example, “IT’S SHOWTIME” starts the main method, “TALK TO THE HAND” represents output, and “I’LL BE BACK” denotes a return statement. While humorous in nature, the language is fully functional and can be used to write real programs, showcasing how flexible compiler and interpreter design can be. The project is a playful experiment in esoteric programming languages, intended to entertain developers while also serving as an example of how language parsing and compilation can work with unconventional syntax. It demonstrates the overlap between pop culture and software development, turning famous lines into executable logic.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 16
    Racket

    Racket

    The Racket repository

    Racket is a general-purpose programming language and an ecosystem for language-oriented programming. This repository holds the source code for the core of Racket plus some related packages. The rest of the Racket distribution source code is in other repositories, mostly under the Racket GitHub organization. Racket programmers typically program with functions, records, objects, exceptions, regular expressions, modules, and threads. That is, instead of a “minimalist” language, which is the way that Scheme is often described, Racket offers a rich language with an extensive set of libraries and tools. Libraries are not restricted to exporting values, such as functions; they can also define new syntactic forms. In this sense, Racket isn’t exactly a language at all; it’s more of an idea for how to structure a language so that you can extend it or create entirely new languages.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 17
    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: 8 This Week
    Last Update:
    See Project
  • 18
    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: 7 This Week
    Last Update:
    See Project
  • 19
    SmallBASIC

    SmallBASIC

    SmallBASIC is a fast and easy to learn BASIC language interpreter

    SmallBASIC is a lightweight and powerful BASIC interpreter designed for simplicity and speed, suitable for hobbyists, educators, and retro computing enthusiasts. It offers a traditional text-based programming experience reminiscent of early microcomputers, while including modern features such as structured programming, graphics, and file I/O. SmallBASIC runs on multiple platforms, including Windows, Linux, Android, and DOS, making it accessible across a wide range of systems.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 20
    The Julia Programming Language

    The Julia Programming Language

    High-level, high-performance dynamic language for technical computing

    Julia is a fast, open source high-performance dynamic language for technical computing. It can be used for data visualization and plotting, deep learning, machine learning, scientific computing, parallel computing and so much more. Having a high level syntax, Julia is easy to use for programmers of every level and background. Julia has more than 2,800 community-registered packages including various mathematical libraries, data manipulation tools, and packages for general purpose computing. Libraries from Python, R, C/Fortran, C++, and Java can also be used.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 21
    Perl 5

    Perl 5

    The Perl programming language

    This repository contains the reference implementation of the Perl 5 programming language, including the interpreter, core modules, build system, and an extensive test suite. Perl 5 is a multi-paradigm language renowned for powerful text processing, rich regular expressions, and pragmatic glue code across systems. The core distribution is highly portable, building on Unix, Linux, Windows, and many other platforms, with stable release cycles and careful back-compatibility. A C API (XS) and embedding APIs allow tight integration with native libraries and host applications, while the CPAN ecosystem supplies hundreds of thousands of reusable modules. Development emphasizes robust tests (t/), meticulous changelogs, and tooling like perldoc to keep the language approachable and dependable. In practice, Perl 5 remains a workhorse for sysadmin automation, data munging, web services, and any task where flexible, expressive text handling is paramount.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 22
    Starlark in Go

    Starlark in Go

    Starlark in Go: the Starlark configuration language, implemented in Go

    starlark-go is the official Go implementation of the Starlark programming language, a Python-like, dynamically typed configuration and scripting language originally developed for the Bazel build system. Starlark combines Python’s expressiveness and readability with deterministic execution, making it ideal for defining build configurations, scripting automation, and embedding domain-specific logic in applications. The Go-based interpreter allows developers to run or embed Starlark programs directly within Go applications, extending them with user-defined scripts and configurable logic. Unlike Python, Starlark supports parallel execution across multiple threads and maintains deterministic behavior, making it suitable for scalable and reproducible workloads. It offers familiar syntax features such as dictionaries, lists, and first-class functions with lexical scoping.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 23
    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: 49 This Week
    Last Update:
    See Project
  • 24
    Go

    Go

    Go (Golang): An open-source programming language supported by Google

    Go (Golang) is an open-source programming language designed for simplicity, reliability, and efficiency. Created by Google, it is well-suited for building scalable software, from small utilities to large distributed systems. Go features a clean syntax, strong typing, and built-in concurrency support through goroutines, making it ideal for modern multi-core processors. The language comes with a powerful standard library and tools for testing, formatting, and package management, streamlining development workflows. Go’s compiler produces fast, statically linked binaries with minimal dependencies, ensuring portability and performance. Backed by a large, active community, Go continues to evolve with regular updates and extensive documentation.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 25
    Ruby

    Ruby

    Ruby programming language

    A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write. Ruby is a language of careful balance. Its creator, Yukihiro “Matz” Matsumoto, blended parts of his favorite languages (Perl, Smalltalk, Eiffel, Ada, and Lisp) to form a new language that balanced functional programming with imperative programming. He has often said that he is “trying to make Ruby natural, not simple,” in a way that mirrors life. Since its public release in 1995, Ruby has drawn devoted coders worldwide. In 2006, Ruby achieved mass acceptance. With active user groups formed in the world’s major cities and Ruby-related conferences filled to capacity. Ruby-Talk, the primary mailing list for discussion of the Ruby language, climbed to an average of 200 messages per day in 2006. It has dropped in recent years as the size of the community pushed discussion from one central list into many smaller groups.
    Downloads: 5 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next
MongoDB Logo MongoDB