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.

  • MongoDB Atlas runs apps anywhere Icon
    MongoDB Atlas runs apps anywhere

    Deploy in 115+ regions with the modern database for every enterprise.

    MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
    Start Free
  • 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
    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: 252 This Week
    Last Update:
    See Project
  • 2
    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: 643 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: 85 This Week
    Last Update:
    See Project
  • 4
    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: 36 This Week
    Last Update:
    See Project
  • All-in-one security tool helps you prevent ransomware and breaches. Icon
    All-in-one security tool helps you prevent ransomware and breaches.

    SIEM + Detection and Response for IT Teams

    Blumira’s detection and response platform enables faster resolution of threats to help you stop ransomware attacks and prevent data breaches. We surface real threats, providing meaningful findings so you know what to prioritize. With our 3-step rapid response, you can automatically block known threats, use our playbooks for easy remediation, or contact our security team for additional guidance. Our responsive security team helps with onboarding, triage and ongoing consultations to continuously help your organization improve your security coverage.
    Learn More
  • 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: 30 This Week
    Last Update:
    See Project
  • 6
    jsii

    jsii

    jsii allows code in any language to naturally interact with JavaScript

    jsii allows code in any language to naturally interact with JavaScript classes. It is the technology that enables the AWS Cloud Development Kit to deliver polyglot libraries from a single codebase! A class library written in TypeScript can be used in projects authored in TypeScript or Javascript (as usual), but also in C# (and other languages from the .NET family), Go, Java, Python, etc. More languages will be added in the future! Due to JSON marshaling costs and the absence of a distributed garbage collector feature, jsii modules are best suited for development and build tools, as opposed to performance-sensitive or resource-constrained applications. By compiling our source module using jsii, we can now package it as modules in one of the supported target languages. Each target module has the exact same API as the source. This allows users of that target language to use Greeter like any other native type.
    Downloads: 25 This Week
    Last Update:
    See Project
  • 7
    Swift

    Swift

    The Swift Programming Language

    Swift is a high-performance, general-purpose programming language built with a modern approach to safety, performance, and software design patterns. With a clean and modern syntax, it offers seamless access to existing C and Objective-C code and frameworks. Swift makes it easy to write software that is incredibly fast and safe by design. It comes packaged with core features like flow control, data structures and functions, with high-level constructs like objects, protocols, closures, and generics. Its many features make it a language that is powerful, yet fun to use. It’s no wonder that Swift has quickly become one of the fastest growing languages in history.
    Downloads: 21 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: 19 This Week
    Last Update:
    See Project
  • 9
    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: 244 This Week
    Last Update:
    See Project
  • DAT Freight and Analytics - DAT Icon
    DAT Freight and Analytics - DAT

    DAT Freight and Analytics operates DAT One truckload freight marketplace

    DAT Freight & Analytics operates DAT One, North America’s largest truckload freight marketplace; DAT iQ, the industry’s leading freight data analytics service; and Trucker Tools, the leader in load visibility. Shippers, transportation brokers, carriers, news organizations, and industry analysts rely on DAT for market trends and data insights, informed by nearly 700,000 daily load posts and a database exceeding $1 trillion in freight market transactions. Founded in 1978, DAT is a business unit of Roper Technologies (Nasdaq: ROP), a constituent of the Nasdaq 100, S&P 500, and Fortune 1000. Headquartered in Beaverton, Ore., DAT continues to set the standard for innovation in the trucking and logistics industry.
    Learn More
  • 10
    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: 14 This Week
    Last Update:
    See Project
  • 11
    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: 11 This Week
    Last Update:
    See Project
  • 12
    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: 11 This Week
    Last Update:
    See Project
  • 13
    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: 9 This Week
    Last Update:
    See Project
  • 14
    ZIG

    ZIG

    General-purpose programming language and toolchain

    A general-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 15
    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: 8 This Week
    Last Update:
    See Project
  • 16
    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: 50 This Week
    Last Update:
    See Project
  • 17
    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: 7 This Week
    Last Update:
    See Project
  • 18
    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: 7 This Week
    Last Update:
    See Project
  • 19
    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
  • 20
    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: 7 This Week
    Last Update:
    See Project
  • 21
    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: 6 This Week
    Last Update:
    See Project
  • 22
    choosenim

    choosenim

    Tool for installing and managing multiple versions of Nim language

    choosenim is a version manager for the Nim programming language, allowing users to install, update, and switch between different versions of Nim easily.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 23
    GritQL

    GritQL

    GritQL is a query language for searching, linting, and modifying code

    GritQL is a query language designed to facilitate human-AI collaboration by providing an intuitive interface for querying and retrieving structured data. It acts as a bridge between AI models and databases, enabling natural language interaction with structured data sources.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 24
    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: 5 This Week
    Last Update:
    See Project
  • 25
    Tidal

    Tidal

    Pattern language

    Tidal Cycles (or just Tidal for short) is software for making patterns with code, whether live coding music at algoraves or composing in the studio. It includes a simple and flexible notation for rhythmic sequences and an extensive library of patterning functions for combining and transforming them. This allows you to quickly create complex patterns from simple ingredients. By default, sound is made with the featureful SuperDirt synth/sampler, but you can control other synths using Open Sound Control (OSC) or MIDI. Whether you're using SuperDirt or a synth, every filter and effect can be manipulated independently with Tidal patterns. Tidal is embedded in the Haskell language, although you don't have to learn Haskell to learn Tidal. You can learn Tidal through experimentation and play, most Tidal coders have little or no experience in software engineering.
    Downloads: 5 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next