# Introduction To Gauntlet

## 💡What is Gauntlet?💡

Gauntlet is a programming language made to tackle Golang’s most frustrating design choices. It transpiles exclusively to Go, fully supports all of its features, and integrates seamlessly with its entire ecosystem — without the need for bindings.

## 👊What Go Issues does Gauntlet Fix?👊

* Annoying "unused variable" error
* Verbose error handling (if err ≠ nil everywhere in your code)
* Annoying way to import and export (e.g. capitalizing letters to export)
* Lack of ternary operator
* Lack of expressional switch-case construct
* Complicated for-loops
* Weird assignment operator (whose idea was it to use `:=`)
* No way to fluently pipe functions

## ⚡Language Features⚡

* Transpiles to maintainable, easy-to-read Golang
* Interoperates with entire Go ecosystem. No bindings required.
* Consistent and familiar syntax
* Near-instant conversion to Go
* Easy install with a singular self-contained executable
* Beautiful syntax highlighting on Visual Studio Code&#x20;
* Shares exact conventions/idioms with Golang. Virtually no learning curve.

## 📈 Status of Gauntlet 📈

Gauntlet is in the **alpha** phase - meaning it has just been released without thorough testing. As such, it will inevitably contain bugs. If you run into one, please open an issue on the [GitHub page](https://github.com/gauntlet-lang/gauntlet/issues).&#x20;

## 🤔Why is it called "Gauntlet"?🤔

Because I snapped Go's issues out of existence

<figure><img src="https://3468933956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbHSG1Bo8JCUEfniXHvD1%2Fuploads%2FcsklJ8kGl4UzM9ehVV9n%2FhPSnFhH.gif?alt=media&#x26;token=5a2b15e9-1f1f-48e8-9250-38c17d25a01a" alt=""><figcaption></figcaption></figure>



