This programming language may be used to instruct a computer to perform a task.
|Execution method:||Compiled (bytecode)|
|Parameter passing methods:||By reference, By value|
|Type compatibility:||Nominative, Duck|
|Type expression:||Implicit, Explicit|
|Type checking:||Dynamic, Static|
|Lang tag(s):||xtc, xtclang, ecstasy|
The Ecstasy programming language (xtclang) is designed to support the efficient composition of secure applications, long-term maintainable infrastructure, and the efficient low-cost deployment exemplified by the serverless cloud. The language was created by xqiz.it, developed within the open source "Ecstasy Project" organization, and freely licensed using the business-friendly Apache 2 open source license.
One or more Ecstasy source files (`.x` files) are compiled to an intermediate bytecode executable (`.xtc` file) and executed by the XTC Virtual Machine (XVM). The bytecode is a mid-level IR designed to be efficiently lowered to native machine code by a combination of ahead-of-time compilation and an adaptive JIT.
The primary benefits of Ecstasy are:
- Code that is easy to understand and a language that is easy to learn for any developers already familiar with widely-used languages like: Java, C#, Python, Swift, Kotlin, and C++
- A security model designed for the serverless cloud, using lightweight software containers and dependency injection (IOC/DI)
- A reified generic type system with support for unions, intersection, and difference types, first-class tuples and functions, type inference, and type-safe mixins
- Built-in concurrency support, with first-class support for object immutability, and the elimination of shared-mutable data
- All of the modern capabilities that developers have grown to depend on, such as: Automatic memory management, an integrated module system, first-class lambdas and functions, partial binding and currying, cross-platform portability, and an open source development model
Pages in category "Ecstasy"
The following 46 pages are in this category, out of 46 total.
- Execution method/Compiled/Bytecode
- Garbage collection/Yes
- Parameter passing/By reference
- Parameter passing/By value
- Typing/Compatibility/Nominative, Duck
- Programming Languages
- Programming paradigm/Object-oriented
- Programming paradigm/Imperative
- Programming paradigm/Functional
- Programming paradigm/Generic
- Programming paradigm/Reflective