Motivation
Please ensure your have read the Motivation section.
Many domains deserve a better programming language:
-
AI: According to Facebook AI Research director Yann LeCun:
Deep learning may need a new programming language that’s more flexible and easier to work with than Python.
Why? Python syntax limits model expressiveness. Highly complex C++ syntax makes it hard for new developers to write AI applications; Java, like C++, lacks a simple, versatile syntax and mature libraries.
-
Web: full stacks are becoming so complex in production that scripting languages are moving towards static typing: Python (MyPy), Ruby (Sorbet), Javascript (Flow).
-
Big Data: from SQL to GraphQL, we can do better, especially when using AI on huge data sets.
-
Mobile platforms: Dynamic languages are still perceived as not suitable for mobile computing because of their poor performance, sparse libraries, or JIT (not allowed by Apple). Therefore Swift for IOS, Java/Kotlin are still mainstream stacks. U provides the best of both worlds.
- Games: Games are mostly written in C++/Lua. Developing games for new hardware platforms, streaming platforms, or XReality is challenging.
- Concurrent/Parallel: Concurrency is complex and error-prone because it is not a property of machines but people.
- Embedded software and RTOS: Restricted capabilities or high clock speed makes development challenging due to limited/expensive tools using C/C++.
The rise of nested technological stacks is changing the products landscape from sparse stacks (web, OS, messaging...) to heterogeneous environments with all mixed up. There is no language right now that’s quite close to take the place of:
- Scripting languages like Python/Ruby/Js,
- High-performance low-level language like C/C++/Rust,
- Resilience-oriented language like Go/Erlang.
U bridges the gap between a whole new generation of developers and the modern era of heterogeneous system development. We do not want to reinvent the wheel, we are just standing on the shoulders of giants to deliver reliable, high-performance systems with a flexible syntax.