Wednesday, November 5, 2014

Manifesto


The Tuplex Programming Language Manifesto

Tuplex aims to be a highly productive, high performance programming language that takes full advantage of modern, multi-core hardware. High productivity implies syntax and semantics that are easy to write and easy to read, as well as full language support for type safety, memory safety and thread safety. High performance implies that the language design does not encourage abstractions that can't be computed with high efficiency.
  1. Close to the metal - high performance
  2. Convenient, terse, readable syntax
  3. Orthogonal syntax, orthogonal semantics
  4. Type safe
  5. Memory safe
  6. Thread safe
  7. Source reflection
  8. Large software scalability

What Tuplex does not aim to provide

  • Direct access to memory addresses, registers etc
  • Abstraction from data representation details such as sizes of data types
  • Dynamic code loading (except for OS-level dynamic link libraries)

Paradigm and Syntax

Ok but what programming paradigm is Tuplex then?

It is an imperative language, with excellent support for functional programming, modern object-oriented programming and data-oriented programming. It draws the most influence from Java, Python and C++, and to some extent also Go, Haskell and Ada. To me personally the syntax feels a bit like a cross between Java, Python, and Go.