xgo  by goplus

AI-native programming language integrating software engineering

created 9 years ago
9,274 stars

Top 5.5% on sourcepulse

GitHubView on GitHub
Project Summary

Go+ is an AI-native programming language designed to unify software engineering, STEM education, and data science. It offers a simplified, more intuitive syntax than Go, aiming to be accessible to beginners while retaining the engineering robustness of Go. This makes it suitable for educational purposes, collaborative projects between engineers and data scientists, and general software development.

How It Works

Go+ is built upon the Go compiler, with an optional LLVM-based backend (LLGo) for deeper C/C++ and Python integration. Its core design philosophy emphasizes "Specific Domain Friendliness" (SDF) over Domain-Specific Languages (DSLs), achieved through "Classfiles." These files abstract domain knowledge, enabling features like command-style syntax, simplified list/map literals, and a more natural expression of concepts like object-oriented programming and event handling, all while maintaining compatibility with standard Go code.

Quick Start & Requirements

  • Install: Via winget install goplus.gop (Windows), apt install gop (Debian/Ubuntu), yum install gop (RedHat/CentOS/Fedora), brew install goplus (macOS), or from source.
  • Prerequisites: Go 1.19+ recommended. LLGo backend requires LLVM.
  • Resources: Official documentation, tutorials, and a playground are available.

Highlighted Details

  • Go Compatibility: Seamlessly mix Go and Go+ code within the same package.
  • Ecosystem Integration: Leverage C/C++ and Python libraries via the LLGo backend.
  • Simplified Syntax: Features command-style execution, reduced boilerplate, and intuitive data structure literals.
  • Classfiles: Abstract domain knowledge for SDF, enabling frameworks for web development (YAP), game development (SPX), and DevOps (gsh).

Maintenance & Community

The project is actively maintained with a visible build status and Go Report Card. Community engagement is encouraged via Discord.

Licensing & Compatibility

The project appears to be under a permissive license, though specific details are not explicitly stated in the README. Compatibility for commercial use is generally implied by its Go foundation, but specific license terms should be verified.

Limitations & Caveats

The project is described as "AI-native," but the specific AI integrations or benefits are not detailed beyond the vision statement. The LLGo backend, while powerful for C/Python integration, is noted as a future default, implying the current default go backend might have limitations in this regard.

Health Check
Last commit

1 week ago

Responsiveness

1 day

Pull Requests (30d)
9
Issues (30d)
2
Star History
124 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.