gop icon indicating copy to clipboard operation
gop copied to clipboard

The Go+ programming language is designed for engineering, STEM education, and data science

The Go+ Programming Language

goplus.org | Docs | Go+ vs. Go | Tutorials | Playground | iGo+ Playground | Contributing & compiler design

Build Status Go Report Card Coverage Status GitHub release Discord

The Go+ programming language is designed for engineering, STEM education, and data science.

  • For engineering: working in the simplest language that can be mastered by children.
  • For STEM education: studying an engineering language that can be used for work in the future.
  • For data science: communicating with engineers in the same language.

For more details, see Quick Start.

Key Features of Go+

  • A static typed language.
  • The simplest engineering language that can be mastered by children (script-like style).
  • Performance: as fast as Go (Go+'s main backend compiles to human-readable Go).
  • Fully compatible with Go and can mix Go/Go+ code in the same package (see Go/Go+ hybrid programming).
  • No DSL (Domain Specific Language) support, but it's Specific Domain Friendly (see DSL vs. SDF).
  • Support Go code generation (main backend) and bytecode backend (REPL: see iGo+).
  • Simplest way to interaction with C (cgo is supported but not recommended).
  • Powerful built-in data processing capabilities.

How to install

from source code

For now, we suggest you install Go+ from source code.

Note: Requires go1.16 or later

git clone https://github.com/goplus/gop.git
cd gop

# On mac/linux run:
./all.bash
# On Windows run:
all.bat

on macOS

brew install goplus

Go+ Applications

2D Games powered by Go+

DevOps tools

Data processing

IDE Plugins

  • vscode: https://github.com/goplus/vscode-goplus

Contributing

The Go+ project welcomes all contributors. We appreciate your help!

For more details, see Contributing & compiler design.

Give a Star! ⭐

If you like or are using Go+ to learn or start your projects, please give it a star. Thanks!