Rust 0.3 发布,Mozilla 的编程语言

2020年2月28日02:37:20
评论

Rust 0.3 发布了,Rust 是 Mozilla 目前正在开发一个新的编程语言,由web语言的领军人物Brendan Eich(js之父),Dave Herman以及Mozilla公司的Graydon Hoare 合力开发。

创建这个新语言的目的是为了解决一个很顽疾的问题:软件的演进速度大大低于硬件的演进,软件在语言级别上无法真正利用多核计算带来的性能提升。Rust是针对多核体系提出的语言,并且吸收一些其他动态语言的重要特性,比如不需要管理内存,比如不会出现Null指针等等。

 
     * ~1900 changes, numerous bugfixes
 
 
 
     * New coding conveniences
 
 
        * Integer-literal suffix inference
 
 
        * Per-item control over warnings, errors
 
 
        * #[cfg(windows)] and #[cfg(unix)] attributes
 
 
        * Documentation comments
 
 
        * More compact closure syntax
 
 
        * 'do' expressions for treating higher-order functions as
 
 
          control structures
 
 
        * *-patterns (wildcard extended to all constructor fields)
 
 
 
     * Semantic cleanup
 
 
        * Name resolution pass and exhaustiveness checker rewritten
 
 
        * Region pointers and borrow checking supersede alias
 
 
          analysis
 
 
        * Init-ness checking is now provided by a region-based liveness
 
 
          pass instead of the typestate pass; same for last-use analysis
 
 
        * Extensive work on region pointers
 
 
 
     * Experimental new language features
 
 
        * Slices and fixed-size, interior-allocated vectors
 
 
        * #!-comments for lang versioning, shell execution
 
 
        * Destructors and iface implementation for classes;
 
 
        	type-parameterized classes and class methods
 
 
        * 'const' type kind for types that can be used to implement
 
 
          shared-memory concurrency patterns
 
 
 
     * Type reflection
 
 
 
     * Removal of various obsolete features
 
 
        * Keywords: 'be', 'prove', 'syntax', 'note', 'mutable', 'bind',
 
 
                   'crust', 'native' (now 'extern'), 'cont' (now 'again')
 
 
 
        * Constructs: do-while loops ('do' repurposed), fn binding,
 
 
        	            resources (replaced by destructors)
 
 
 
     * Compiler reorganization
 
 
        * Syntax-layer of compiler split into separate crate
 
 
        * Clang (from LLVM project) integrated into build
 
 
        * Typechecker split into sub-modules
 
 
 
     * New library code
 
 
        * New time functions
 
 
        * Extension methods for many built-in types
 
 
        * Arc: atomic-refcount read-only / exclusive-use shared cells
 
 
        * Par: parallel map and search routines
 
 
        * Extensive work on libuv interface
 
 
        * Much vector code moved to libraries
 
 
        * Syntax extensions: #line, #col, #file, #mod, #stringify,
 
 
        	#include, #include_str, #include_bin
 
 
 
     * Tool improvements
 
 
        * Cargo automatically resolves dependencies
 
 

企鹅博客
  • 本文由 发表于 2020年2月28日02:37:20
  • 转载请务必保留本文链接:https://www.qieseo.com/272948.html

发表评论