Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aacebo/quick
a simple programming language thats quick to learn
https://github.com/aacebo/quick
Last synced: about 2 months ago
JSON representation
a simple programming language thats quick to learn
- Host: GitHub
- URL: https://github.com/aacebo/quick
- Owner: aacebo
- Created: 2023-06-21T03:34:17.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-07-26T16:55:01.000Z (over 1 year ago)
- Last Synced: 2024-10-20T06:17:06.435Z (2 months ago)
- Language: Go
- Size: 204 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Quick
a compromise between the `Rust` and `Go` programming languages. It is a compiled and interpreted, typed language that balances ease of use and performance.
## Why?
I started this project because as I used newer languages like `Rust`/`Go` I noticed a trend of awesome new features. `Rust` has a very powerful type system while `Go` keeps things simple by, for example, only have one type of loop statement (`for`). Both excel in very different ways but both have their caviats.
In `Rust` you have to fight with the borrow checker, for low level performance intensive tasks this is the right tool for the job in many cases, but not necessarily for gerneral purpose API development.
In `Go` you have a substantially weaker type system and less features than `Rust`, but in contrast it has a simpler pattern for concurrency and API development.
My ideal outcome for this language is to offer the same simplicity/ease-of-use as `Go` while adding some of the useful features that `Rust` users enjoy.
## Roadmap
| Title | Keywords | Status | Example |
|------------------------|--------------------------|-----------|---------------------------------------|
| Variables | `let` `const` | [ ] | [example](./examples/variables.gpp) |
| Primitives | `string` `number` `bool` | [ ] | [example](./examples/primitives.gpp) |
| Nilable | `?` | [ ] | [example](./examples/nilable.gpp) |
| Strings | | [ ] | [example](./examples/strings.gpp) |
| If | `if` `else if` `else` | [ ] | [example](./examples/if.gpp) |
| Match | `match` | [ ] | [example](./examples/match.gpp) |
| Loops | `for` | [ ] | [example](./examples/for.gpp) |
| Functions | `fn` | [ ] | [example](./examples/fn.gpp) |
| Structs | `struct` | [ ] | [example](./examples/struct.gpp) |
| Garbage Collection | | [ ] | |
| Threads | `go` | [ ] | [example](./examples/go.gpp) |
| Async Functions | `async` `await` | [ ] | [example](./examples/async.gpp) |
| Modules | `mod` | [ ] | [example](./examples/mod.gpp) |
| Imports | `use` | [ ] | [example](./examples/use.gpp) |
| Syntax Error Handling | | [ ] | |
| Runtime Error Handling | | [ ] | |
| Visibility | `pub` | [ ] | [example](./examples/visibility.gpp) |
| Inheritance | `extends` | [ ] | [example](./examples/inheritance.gpp) |
| Generics | `` | [ ] | [example](./examples/generics.gpp) |
| Exceptions | `throw` `try` `catch` | [ ] | [example](./examples/exceptions.gpp) |
| Slices | `[]` | [ ] | [example](./examples/slices.gpp) |
| Maps | `map[K]V` | [ ] | [example](./examples/maps.gpp) |## Future (Advanced)
| Title | Keywords | Status | Example |
|------------------------|--------------------------|-----------|---------------------------------------|
| Struct Tags | | [ ] | [example](./examples/tags.gpp) |
| Reflection | | [ ] | [example](./examples/reflection.gpp) |
| Testing | | [ ] | [example](./examples/testing.gpp) |
| Decorators | `@` | [ ] | [example](./examples/decorators.gpp) |## Author
[Alexander Acebo](mailto:[email protected])