C++ programming-language

Open-source C++ projects categorized as programming-language

Top 23 C++ programming-language Projects

  • 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
  • solidity

    Solidity, the Smart Contract Programming Language

  • Project mention: Smart Contract Programming Languages: sCrypt vs. Solidity | dev.to | 2024-04-05

    Solidity Solidity emerged as the first-ever programming language for smart contracts and remains the most extensively utilized language in the Web3 space due to its first-mover advantage. It serves as the primary language for developing applications today on Ethereum and Ethereum Virtual Machine (EVM) compatible blockchains, including Binance Smart Chain and Tron.

  • 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
  • supercollider

    An audio server, programming language, and IDE for sound synthesis and algorithmic composition.

  • Project mention: Recreating the THX Deep Note (2009) | news.ycombinator.com | 2023-09-03

    Link to the audio programming language / server they're using in the article: https://github.com/supercollider/supercollider

  • luau

    A fast, small, safe, gradually typed embeddable scripting language derived from Lua

  • Project mention: Building a baseline JIT for Lua automatically | news.ycombinator.com | 2024-01-11

    As far as I can tell, they aren't.

    http://lua-users.org/wiki/SandBoxes

    There is a lot of information there, but it doesn't handle resource exhaustion, execution time limits or give any guarantees. It does indicate that it's possible, and has a decent example of the most restrictive setup, which is a good start. But I would for example compare it with Luau's SECURITY.md.

    From https://github.com/luau-lang/luau/blob/master/SECURITY.md:

    > Luau provides a safe sandbox that scripts can not escape from, short of vulnerabilities in custom C functions exposed by the host. This includes the virtual machine and builtin libraries. Notably this currently does not include the work-in-progress native code generation facilities.

    > Any source code can not result in memory safety errors or crashes during its compilation or execution. Violations of memory safety are considered vulnerabilities.

    > Note that Luau does not provide termination guarantees - some code may exhaust CPU or RAM resources on the system during compilation or execution.

    So, even luau will have trouble with untrusted code, but it specifies exactly what happens and so on. I think that's fair enough.

  • jakt

    The Jakt Programming Language

  • Project mention: The Jakt Programming Language | news.ycombinator.com | 2024-01-29
  • ispc

    Intel® Implicit SPMD Program Compiler

  • Project mention: Implementing a GPU's Programming Model on a CPU | news.ycombinator.com | 2023-10-14

    This so-called GPU programming model has existed many decades before the appearance of the first GPUs, but at that time the compilers were not so good like the CUDA compilers, so the burden for a programmer was greater.

    As another poster has already mentioned, there exists a compiler for CPUs which has been inspired by CUDA and which has been available for many years: ISPC (Implicit SPMD Program Compiler), at https://github.com/ispc/ispc .

    NVIDIA has the very annoying habit of using a lot of terms that are different from those that have been previously used in computer science for decades. The worst is that NVIDIA has not invented new words, but they have frequently reused words that have been widely used with other meanings.

    SIMT (Single-Instruction Multiple Thread) is not the worst term coined by NVIDIA, but there was no need for yet another acronym. For instance they could have used SPMD (Single Program, Multiple Data Stream), which dates from 1988, two decades before CUDA.

    Moreover, SIMT is the same thing that was called "array of processes" by C.A.R. Hoare in August 1978 (in "Communicating Sequential Processes"), or "replicated parallel" by Occam in 1985 or "PARALLEL DO" by "OpenMP Fortran" in 1997-10 or "parallel for" by "OpenMP C and C++" in 1998-10.

    The only (but extremely important) innovation brought by CUDA is that the compiler is smart enough so that the programmer does not need to know the structure of the processor, i.e. how many cores it has and how many SIMD lanes has each core. The CUDA compiler distributes automatically the work over the available SIMD lanes and available cores and in most cases the programmer does not care whether two executions of the function that must be executed for each data item are done on two different cores or on two different SIMD lanes of the same core.

  • Beef

    Beef Programming Language (by beefytech)

  • Project mention: Odin Programming Language | news.ycombinator.com | 2024-01-01
  • 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
  • fut

    Fusion programming language. Transpiling to C, C++, C#, D, Java, JavaScript, Python, Swift, TypeScript and OpenCL C.

  • Project mention: Bare minimum atw-style K interpreter for learning purposes | news.ycombinator.com | 2024-01-17

    I've just learned that Ć is no longer a viable name (thankfully). Now it's Fusion Programming Language (or fut?) https://github.com/fusionlanguage/fut

  • Peregrine

    A blazing fast language for the blazing fast world(WIP)

  • fetlang

    Fetish-themed programming language

  • jank

    A Clojure dialect hosted on LLVM with native C++ interop

  • Project mention: Compiling a Lisp | news.ycombinator.com | 2024-02-01

    There's an effort afoot to bring this to the Clojure world, with the lovely name jank: https://jank-lang.org

  • pocketpy

    Open Source Python Interpreter in 1 File for Game Scripting

  • Project mention: How to create an embeddable python for multiple platforms | /r/cpp_questions | 2023-06-26
  • Z-Sharp

    Custom programming interpreter for ZSharp (Z#), a custom game programming language I made

  • Ark

    ArkScript is a small, fast, functional and scripting language for C++ projects

  • swapview-rosetta

    Print swap usage per process. Implemented in various programming languages

  • cparse

    A C++ configurable Expression Parser. Useful as a Calculator or for helping you write your own Programming Language

  • Pluto

    A superset of Lua 5.4 with a focus on general-purpose programming. (by PlutoLang)

  • Project mention: Pluto, a Modern Lua Dialect | news.ycombinator.com | 2023-12-27

    I looked into the jump table optimization. The normal Lua version is here[1] and it uses the opcode as a index into a static array to jump to the label. The “faster” Pluto version is here[2] and it just uses a switch statement on the labels. I would naively assume that these would compile to the same code because the lua version is just manually creating the jump table and the pluto version is leaving it to the compiler. How could the compiler optimize the switch so that would outperform the manual jump table (by a decent margin)?

    [1] https://github.com/PlutoLang/Pluto/blob/main/src/ljumptabgcc...

    [2] https://github.com/PlutoLang/Pluto/blob/main/src/ljumptab.h

  • gdl

    GDL - GNU Data Language

  • xl

    A minimalist, general-purpose programming language based on meta-programming and parse tree rewrites

  • Project mention: XL: An Extensible Programming Language | news.ycombinator.com | 2024-02-21

    From what I can read the author got really unlucky with some kind of radical API changes. Maybe at that time the LLVM team was a bit less serious with deprecations ?

    I use LLVM since v9, nowadays I'm stuck on v15 (that's not because of LLVM btw).

    Between the two versions there's been a radical change too, i.e "opaque pointers", but the transition was rather smooth as we were provided, for a long time, the two versions of the functions affected by the change. Maybe the LLVM team got more serious since the author experienced the said difficulties ?

    Other thing I note is that the author uses the CPP API. I use the C one which exposes only a high-level subset of the CPP one. This encourages a saner use of LLVM, a more concrete separation between the front-end and the mid-end, although sometimes there are limitations.

    A simple example of what encourages the C API, especially since opaque ptrs are added, is not to rely on LLVM to retrieve the IR type of an IR value. That should always be done using the AST, eg with an `.ir` field in your nodes.

    Another one I remark, after a brief overview of LLVM-CRAP, is that the author had to change the internal data structure used, depending on the LLVM version [0]. Using the C API that would never had happened. The C API essentially allows to create block refs, instructions refs, value refs, type refs, contexts. Then you choose the containers you want to use to hold them. No need to switch to another stdcpp one, even if internally LLVM does so.

    [0]: https://github.com/c3d/xl/blob/master/src/llvm-crap.cpp#L265

  • miniscript

    source code of both C# and C++ implementations of the MiniScript scripting language

  • Project mention: MiniScript Ports | dev.to | 2024-02-07

    There are two official reference implementations of MiniScript: one in C#, and one in C++. Both are actively maintained, and available on GitHub.

  • elena-lang

    ELENA is a general-purpose language with late binding. It is multi-paradigm, combining features of functional and object-oriented programming. Rich set of tools are provided to deal with message dispatching : multi-methods, message qualifying, generic message handlers, run-time interfaces

  • LensorCompilerCollection

    A compiler we made just for fun :^)

  • Project mention: Looking for some compiler development resources | /r/ProgrammingLanguages | 2023-05-26

    See https://github.com/LensPlaysGames/Intercept/tree/machine_code/docs

  • empirical-lang

    A language for time-series analysis

  • 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).

C++ programming-language related posts

Index

What are some of the best open-source programming-language projects in C++? This list will help you:

Project Stars
1 carbon-lang 32,188
2 solidity 22,263
3 supercollider 5,198
4 luau 3,595
5 jakt 2,747
6 ispc 2,402
7 Beef 2,362
8 fut 1,688
9 Peregrine 1,472
10 fetlang 1,476
11 jank 1,418
12 pocketpy 1,330
13 Z-Sharp 648
14 Ark 548
15 swapview-rosetta 491
16 cparse 327
17 Pluto 300
18 gdl 261
19 xl 242
20 miniscript 237
21 elena-lang 224
22 LensorCompilerCollection 182
23 empirical-lang 167

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