Difference between revisions of "Motoko (programming language)"
From Internet Computer Wiki
Diego.prats (talk | contribs) |
Diego.prats (talk | contribs) |
||
Line 8: | Line 8: | ||
==Design Intent== | ==Design Intent== | ||
+ | |||
+ | Key design points: | ||
+ | # Motoko takes inspiration from several programming languages, including Java, JavaScript, C#, Swift, Pony, ML, Haskell. | ||
+ | # Object-oriented, functional, and imperative | ||
+ | # Objects as records of members | ||
+ | # async/await for sequential programming of asynchronous messaging | ||
+ | # Structural typing with simple generics and subtyping | ||
+ | # Safe arithmetic (unbounded and checked) | ||
+ | # Non-nullable types by default | ||
+ | # JavaScript-like syntax but statically typed and sane | ||
==Syntax== | ==Syntax== |
Revision as of 00:58, 18 November 2021
Summary
The Motoko programming language is a new, modern and type safe language for developers who want to build the next generation of distributed applications to run on the Internet Computer blockchain network. Motoko is specifically designed to support the unique features of the Internet Computer and to provide a familiar yet robust programming environment. As a new language, Motoko is constantly evolving with support for new features and other improvements.[1]
The Motoko compiler, documentation, and other tooling is open source and released under the Apache 2.0 license.
History
Design Intent
Key design points:
- Motoko takes inspiration from several programming languages, including Java, JavaScript, C#, Swift, Pony, ML, Haskell.
- Object-oriented, functional, and imperative
- Objects as records of members
- async/await for sequential programming of asynchronous messaging
- Structural typing with simple generics and subtyping
- Safe arithmetic (unbounded and checked)
- Non-nullable types by default
- JavaScript-like syntax but statically typed and sane