I wrote a simple Go->C++ compiler to use for gameplay programming. Here's a demo of its use for my game project (along with an editor tool). I show the generated C++ in the end of the video. Compiler source code is ~1500 lines, link in video description. Will do a deeper public release soon!

This page summarizes the projects mentioned and recommended in the original post on /r/golang

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.io
featured
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.
www.influxdata.com
featured
  • go2cpp

    Discontinued A converter from Go to C++

  • not sure exactly about OPs use case, but for Ebiten a go to c++ conversion was done for Nintendo Switch support -- https://github.com/hajimehoshi/go2cpp

  • entt

    Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more

  • Interop: With this compiler I have direct interop to existing C++ libraries and codebases. For example I use EnTT for the entity-component data storage in the game demo here, and I'm able to call to the C++ including Go's generic syntax translating to template calls. That's not as easy with Cgo (and also Cgo adds huge overhead)

  • 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
  • asyncrun.vim

    :rocket: Run Async Shell Commands in Vim 8.0 / NeoVim and Output to the Quickfix Window !!

  • That is indeed Vim! I use AsyncRun for the build in another buffer, and the refactoring is coc-go with coc.nvim.

  • coc-go

    Go language server extension using gopls for coc.nvim.

  • That is indeed Vim! I use AsyncRun for the build in another buffer, and the refactoring is coc-go with coc.nvim.

  • coc.nvim

    Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.

  • That is indeed Vim! I use AsyncRun for the build in another buffer, and the refactoring is coc-go with coc.nvim.

  • Azul3D

    Azul3D - A 3D game engine written in Go! (by azul3d)

  • Interesting work Nikki, I've definitely considered going down this path once or twice with Azul3D in years past, cool to see you've gone much further with it than I ever did.

  • zig-wasm-test

  • Re: Zig, yup Zig is actually among the closest to the design that I was looking for. I did a dive into using it from Wasm (https://github.com/nikki93/zig-wasm-test) including binding to UI like I do for my editor. Ultimately some issues I had were stability (at the time I then updated to a new Zig version and that broke things) and also some specific things like I want field attributes that I can reflect on in static reflection (they do have a proposal for this in their GitHub issues). I do think it's pretty close and viable, totally possible I stuck with it. It's also getting an official C compilation backend which is intetesting.

  • 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
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Setting Up Razor Support in Neovim for Enhanced C# Development

    2 projects | dev.to | 26 Jan 2024
  • Background highlight opacity?

    1 project | /r/neovim | 2 Dec 2023
  • dashboard-nvim / project section not showing up

    1 project | /r/neovim | 1 Dec 2023
  • tree-sitter highlighting in Vim and NeoVim

    1 project | /r/vim | 19 Nov 2023
  • How does something like LazyVim or LazyNvim write the startup text?

    4 projects | /r/neovim | 3 Oct 2023