Ü编程语言
Ü是一种静态类型的编译编程语言,旨在编写既可靠又快速的程序。它具有安全和不安全代码的分离、编译时的正确性检查、强大的抽象(如RAII和模板)、封装、丰富的类型系统、lambda、协程和许多其他有用的特性。Ü使用RAII进行内存和资源管理(不涉及垃圾回收),但在不安全代码中仍然可以使用手动内存管理。只要不涉及任何不安全代码,或只要不安全代码编写正确,Ü就是内存安全和线程安全的。Ü深受C++的启发,但没有其缺点。此外,它还受到Rust的轻微影响,因此在使用上比Rust容易得多。与其他编程语言的设计和特性可能的任何巧合都是无意的。Ü编译器基于LLVM库,因此利用了其许多强大的功能,包括对多种CPU架构和操作系统的众多优化和代码生成支持。更重要的是,有两个Ü编译器,第一个是用C++编写的,第二个主要是用Ü本身编写的(前端部分,后端仍然是LLVM)。除了编译器,Ü还有许多其他组件。Ü提供了自己的标准库,包含基本的容器类、助手和操作系统交互功能。它有一个构建系统,简化了复杂Ü程序的构建和(部分)包管理。为了更好的开发体验,它提供了语言服务器和一些IDE和文本编辑器的各种语法高亮文件。最后但同样重要的是,Ü有一个C头文件转换工具,简化了与外部代码的交互。\n\n支持的系统\n下表列出了支持Ü编译器托管和目标系统的操作系统和架构。\n操作系统\n架构\n托管Ü编译器\n目标\n备注\nWindows\nx86\n+\n+\n可能需要安装MSVC。\nWindows\nx86_64\n+\n+\n可能需要安装MSVC。也支持运行为x86构建的Ü编译器。\nGNU/Linux\nx86\n+\n+\n可能需要安装32位C库。\nGNU/Linux\nx86_64\n+\n+\nGNU/Linux\nAArch64\n+\n+\nFreeBSD\nx86_64\n+\n+\nOS X\nAArch64\n+\n±\n仍处于实验阶段,某些标准库功能可能无法正常工作。\n除x86、x86_64和AArch64之外的CPU架构未经过测试,但如果使用这些架构支持构建Ü编译器(见LLVM_TARGETS_TO_BUILD选项),它们可能可以工作。\n由于LLVM库中的某些错误,不支持使用x32 ABI的GNU/Linux。\n\n文档\n文档可以在这里找到:英语,俄语。语言本身有详细的描述,其他组件有基本但不深入的文档。此外,还有一些基本使用示例。\n\n为什么选择Ü?\n简短的答案是:与许多其他编程语言相比,Ü在安全性、可靠性、表现力和功能可用性方面是卓越的。下表比较了包括Ü在内的各种编程语言的重要特性、优缺点。只列出了可以直接与Ü比较的语言——没有重运行时和/或GC的静态编译类型语言。\n特性/语言\nC\nC++\nSwift\nZig\nOdin\nRust\nÜ\n构造函数(构建的特殊方法,而不仅仅是用户定义名称的工厂方法)\n-\n+\n+\n-\n-\n-\n+\n解构函数(在对象销毁时自动调用的特殊方法)\n-\n+\n+\n-\n-\n+\n+\n封装(限制仅从某些范围访问某些项目的可能性)\n-\n+\n+\n+\n+\n+\n+\n内存安全(无越界读/写,无使用后释放错误等)\n-\n-\n+⁶\n-\n-\n+\n+\n线程安全(无竞争条件)\n-\n-\n-\n-\n-\n+\n+\n类型模板\n-\n+\n+\n+\n+\n+\n+\n函数模板\n-\n+\n+\n+\n+\n+\n+\n模板中的鸭子类型(无需强制模板类型要求规范)\n-\n+⁴\n-\n+\n+\n-\n+\n引用(带自动引用创建和解除引用)\n-\n+\n-⁷\n-\n-\n-¹⁵\n+\n函数重载\n-\n+\n+\n-\n+¹¹\n-\n+\n运算符重载\n-\n+\n+\n-\n-\n+\n+\n无摩擦复制(通过运算符=取值的深复制能力)\n-¹\n+\n+\n-⁹\n-¹²\n-¹⁶\n+\n编译时计算\n-²\n+\n-\n+\n+\n+\n+\n编译时类型信息\n-\n-\n-\n+\n-\n-\n+\n类继承及基于此的运行时多态\n-\n+\n+\n-\n-¹³\n-\n+\n无异常(意味着不可能隐式跳过控制流)\n+³\n-\n+⁸\n+\n+\n±¹⁷\n+\n异步函数\n-\n+⁵\n+\n±¹⁰\n-\n+\n+\nlambda(在表达式上下文中定义的匿名函数,有时称为闭包)\n-\n+\n+\n-\n-¹⁴\n+\n+
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡