Tabby Programming Language

Tabby Programming Language

  • Docs
  • API
  • Help
  • Blog
  • Github
Project Logo

Tabby Programming LanguageA simple, video game-focused, general purpose programming language

Getting Started
Example Link
Example Link 2

Performance

Emits a C++11 IR.
(Planned) Data Oriented Design support.
Streamlined RAII through defer keyword.
No GC.

Familiarity

Features a powerful, Go-derived syntax.
Tools that behave similarly to their Go counterparts.

Features

Safety

  • Immutable by default.
  • Local variables only.
  • Stringent bounds checking.
  • Interoperability

  • Easily #include C/C++ libraries.
  • Go-esque syntax allows for simplified Go library ports.

Batteries Included!

Tailored towards modern game development, the standard library features an opinionated (but swappable) set of core plugins encompassing audio, graphics, controls and UI.

Getting Started (Developer Edition)

Currently, using Tabby requires you to build the compiler yourself
(builds for GNU/Linux, Windows and Mac OS will be available soon).

  1. Make sure you have both gocc and G++ installed, and they're in your path.
  2. go get github.com/tabby-lang/tc
  3. cd into $GOPATH/github.com/tabby-lang/tc
  4. Run make
  5. Compile one of the examples: ./tc examples/math.tby
  6. Run the freshly built math binary

Hello, World!

Tabby
Go
C++
/* Unlike Go, there is no need to declare package main/func main().
main/main() is inferred in files that have neither
a package declaration, nor a function declaration.
*/

println("Hello, World!")
package main

import "fmt"

func main() {
fmt.Println("Hello, World!")
}
#include <iostream>
using namespace std;

int main()
{
cout << "Hello, World!";
return 0;
}

Who is Using This?

This project is used by all these people

More Tabby Programming Language Users
Tabby Programming Language
Docs
Getting Started (or other categories)Guides (or other categories)API Reference (or other categories)
Community
User ShowcaseStack OverflowProject Chat
Social
tabby-lang.github.io
Follow @happyferrete
Copyright © 2019 Mark "Happy-Ferret" Bauermeister