goplus.org | Docs | Go+ vs. Go | Tutorials | Playground | iGo+ Playground | Contributing & compiler design
Our vision is to enable everyone to create production-level applications.
- Simple and easy to understand
- Smaller syntax set than Python in best practices
- Derived from Go and easy to build large projects from its good engineering foundation
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.
Rob Pike once said that if he could only introduce one feature to Go, he would choose interface
instead of goroutine
. classfile
is as important to Go+ as interface
is to Go.
In the design philosophy of Go+, we do not recommend DSL
(Domain Specific Language). But SDF
(Specific Domain Friendliness) is very important. The Go+ philosophy about SDF
is:
Don't define a language for specific domain.
Abstract domain knowledge for it.
Go+ introduces classfile
to abstract domain knowledge. See Go+ Classfiles.
- 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 SDF (Specific Domain Friendliness).
- 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.
winget install goplus.gop
sudo bash -c ' echo "deb [trusted=yes] https://pkgs.goplus.org/apt/ /" > /etc/apt/sources.list.d/goplus.list'
sudo apt update
sudo apt install gop
sudo bash -c 'echo -e "[goplus]\nname=Go+ Repo\nbaseurl=https://pkgs.goplus.org/yum/\nenabled=1\ngpgcheck=0" > /etc/yum.repos.d/goplus.repo'
sudo yum install gop
Install via brew
$ brew install goplus
For now, we suggest you install Go+ from source code.
Note: Requires go1.18 or later
git clone https://github.com/goplus/gop.git
cd gop
# On mac/linux run:
./all.bash
# On Windows run:
all.bat
The Go+ project welcomes all contributors. We appreciate your help!
For more details, see Contributing & compiler design.
If you like or are using Go+ to learn or start your projects, please give it a star. Thanks!