发布于 2014-07-02 22:52:31 | 317 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的Rust教程,程序狗速度看过来!

Rust 编程语言

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


Rust是Mozilla开发的注重安全、性能和并发性的编程语言。

Rust 0.11.0 发布了,改进记录包括:

  * ~1700 changes, numerous bugfixes

  * Language
    * ~[T] has been removed from the language. This type is superseded by
      the Vec<T> type.
    * ~str has been removed from the language. This type is superseded by
      the String type.
    * ~T has been removed from the language. This type is superseded by the
      Box<T> type.
    * @T has been removed from the language. This type is superseded by the
      standard library's std::gc::Gc<T> type.
    * Struct fields are now all private by default.
    * Vector indices and shift amounts are both required to be a `uint`
      instead of any integral type.
    * Byte character, byte string, and raw byte string literals are now all
      supported by prefixing the normal literal with a `b`.
    * Multiple ABIs are no longer allowed in an ABI string
    * The syntax for lifetimes on closures/procedures has been tweaked
      slightly: `<'a>|A, B|: 'b + K -> T`
    * Floating point modulus has been removed from the language; however it
      is still provided by a library implementation.
    * Private enum variants are now disallowed.
    * The `priv` keyword has been removed from the language.
    * A closure can no longer be invoked through a &-pointer.
    * The `use foo, bar, baz;` syntax has been removed from the language.
    * The transmute intrinsic no longer works on type parameters.
    * Statics now allow blocks/items in their definition.
    * Trait bounds are separated from objects with + instead of : now.
    * Objects can no longer be read while they are mutably borrowed.
    * The address of a static is now marked as insignificant unless the
      #[inline(never)] attribute is placed it.
    * The #[unsafe_destructor] attribute is now behind a feature gate.
    * Struct literals are no longer allowed in ambiguous positions such as
      if, while, match, and for..in.
    * Declaration of lang items and intrinsics are now feature-gated by
      default.
    * Integral literals no longer default to `int`, and floating point
      literals no longer default to `f64`. Literals must be suffixed with an
      appropriate type if inference cannot determine the type of the
      literal.
    * The Box<T> type is no longer implicitly borrowed to &mut T.
    * Procedures are now required to not capture borrowed references.

  * Libraries
    * The standard library is now a "facade" over a number of underlying
      libraries. This means that development on the standard library should
      be speeder due to smaller crates, as well as a clearer line between
      all dependencies.
    * A new library, libcore, lives under the standard library's facade
      which is Rust's "0-assumption" library, suitable for embedded and
      kernel development for example.
    * A regex crate has been added to the standard distribution. This crate
      includes statically compiled regular expressions.
    * The unwrap/unwrap_err methods on Result require a Show bound for
      better error messages.
    * The return types of the std::comm primitives have been centralized
      around the Result type.
    * A number of I/O primitives have gained the ability to time out their
      operations.
    * A number of I/O primitives have gained the ability to close their
      reading/writing halves to cancel pending operations.
    * Reverse iterator methods have been removed in favor of `rev()` on
      their forward-iteration counterparts.
    * A bitflags! macro has been added to enable easy interop with C and
      management of bit flags.
    * A debug_assert! macro is now provided which is disabled when
      `--cfg ndebug` is passed to the compiler.
    * A graphviz crate has been added for creating .dot files.
    * The std::cast module has been migrated into std::mem.
    * The std::local_data api has been migrated from freestanding functions
      to being based on methods.
    * The Pod trait has been renamed to Copy.
    * jemalloc has been added as the default allocator for types.
    * The API for allocating memory has been changed to use proper alignment
      and sized deallocation
    * Connecting a TcpStream or binding a TcpListener is now based on a
      string address and a u16 port. This allows connecting to a hostname as
      opposed to an IP.
    * The Reader trait now contains a core method, read_at_least(), which
      correctly handles many repeated 0-length reads.
    * The process-spawning API is now centered around a builder-style
      Command struct.
    * The :? printing qualifier has been moved from the standard library to
      an external libdebug crate.
    * Eq/Ord have been renamed to PartialEq/PartialOrd. TotalEq/TotalOrd
      have been renamed to Eq/Ord.
    * The select/plural methods have been removed from format!. The escapes
      for { and } have also changed from { and } to {{ and }},
      respectively.
    * The TaskBuilder API has been re-worked to be a true builder, and
      extension traits for spawning native/green tasks have been added.

  * Tooling
    * All breaking changes to the language or libraries now have their
      commit message annotated with `[breaking-change]` to allow for easy
      discovery of breaking changes.
    * The compiler will now try to suggest how to annotate lifetimes if a
      lifetime-related error occurs.
    * Debug info continues to be improved greatly with general bug fixes and
      better support for situations like link time optimization (LTO).
    * Usage of syntax extensions when cross-compiling has been fixed.
    * Functionality equivalent to GCC & Clang's -ffunction-sections,
      -fdata-sections and --gc-sections has been enabled by default
    * The compiler is now stricter about where it will load module files
      from when a module is declared via `mod foo;`.
    * The #[phase(syntax)] attribute has been renamed to #[phase(plugin)].
      Syntax extensions are now discovered via a "plugin registrar" type
      which will be extended in the future to other various plugins.
    * Lints have been restructured to allow for dynamically loadable lints.
    * A number of rustdoc improvements:
      * The HTML output has been visually redesigned.
      * Markdown is now powered by hoedown instead of sundown.
      * Searching heuristics have been greatly improved.
      * The search index has been reduced in size by a great amount.
      * Cross-crate documentation via `pub use` has been greatly improved.
      * Primitive types are now hyperlinked and documented.
    * Documentation has been moved from static.rust-lang.org/doc to
      doc.rust-lang.org
    * A new sandbox, play.rust-lang.org, is available for running and
      sharing rust code examples on-line.
    * Unused attributes are now more robustly warned about.
    * The dead_code lint now warns about unused struct fields.
    * Cross-compiling to iOS is now supported.
    * Cross-compiling to mipsel is now supported.
    * Stability attributes are now inherited by default and no longer apply
      to intra-crate usage, only inter-crate usage.
    * Error message related to non-exhaustive match expressions have been
      greatly improved.

下载地址:

Source

* http://static.rust-lang.org/dist/rust-0.11.0.tar.gz
  http://static.rust-lang.org/dist/rust-0.11.0.tar.gz.asc
  SHA256 (of .tar.gz):
  d1b3e36448bf12b8c9289024df416de10774b6d3235d7b1d22b248ef634411ba

Windows installer

* http://static.rust-lang.org/dist/rust-0.11.0-install.exe
  http://static.rust-lang.org/dist/rust-0.11.0-install.exe.asc
  SHA256 (of .exe):
  fb253072ba5373eb0af388f63e51122af9dd13379d762ca4100ee7334dbec9d2

Linux binary tarballs

* http://static.rust-lang.org/dist/rust-0.11.0-x86_64-unknown-linux-gnu.tar.gz
  http://static.rust-lang.org/dist/rust-0.11.0-x86_64-unknown-linux-gnu.tar.gz.asc
  SHA256 (of .tar.gz):
  331d6374b3c8fca3e2b5fffb65ce75dfce3529bd47333de4a9ce636cb87be432

* http://static.rust-lang.org/dist/rust-0.11.0-i686-unknown-linux-gnu.tar.gz
  http://static.rust-lang.org/dist/rust-0.11.0-i686-unknown-linux-gnu.tar.gz.asc
  SHA256 (of .tar.gz):
  cbfe2050f708479f2625a935d2f41165868f354ff740d2697e08acb2255670b2

Mac OS X binary installers

* http://static.rust-lang.org/dist/rust-0.11.0-x86_64-apple-darwin.pkg
  http://static.rust-lang.org/dist/rust-0.11.0-x86_64-apple-darwin.pkg.asc
  SHA256 (of .pkg):
  1183d6c8ab021f4049a2906c1527f705bae4bb4935aea897f4860eb5337363c3

* http://static.rust-lang.org/dist/rust-0.11.0-i686-apple-darwin.pkg
  http://static.rust-lang.org/dist/rust-0.11.0-i686-apple-darwin.pkg.asc
  SHA256 (of .pkg):
  8f5a1fe491d83c6be0a3082f0ac8504c89eed38263ae0ac0fad15d8c02e3b267

Mac OS X binary tarballs

* http://static.rust-lang.org/dist/rust-0.11.0-x86_64-apple-darwin.tar.gz
  http://static.rust-lang.org/dist/rust-0.11.0-x86_64-apple-darwin.tar.gz.asc
  SHA256 (of .tar.gz):
  bbac91aff5464c20f39afcf078a693c4612717d6b1cc3f86f92075b2103bc22e

* http://static.rust-lang.org/dist/rust-0.11.0-i686-apple-darwin.tar.gz
  http://static.rust-lang.org/dist/rust-0.11.0-i686-apple-darwin.tar.gz.asc
  SHA256 (of .tar.gz):
  93d6e6e98d00df3e946e4f7765172ad522a118dd34f1fac73ba74d43df92698


历史版本 :
Rust 1.23.0 发布,Mozilla 开发的系统编程语言
Rust 1.22.0 发布,Mozilla 开发的系统编程语言
Rust 1.21.0 发布,Mozilla 开发的系统编程语言
Rust 1.19 发布,Mozilla 开发的系统编程语言
Rust 1.18 发布,Mozilla 的编程语言
Rust 1.17 发布,Mozilla 的编程语言
Rust 1.16 发布,Mozilla 的编程语言
Rust 1.15 发布,Mozilla 的编程语言
Rust 语言服务器 Alpha 版本发布
Rust 1.14 发布,Mozilla 的编程语言
Rust 1.13 发布,Mozilla 的编程语言
Rust 1.12 发布,Mozilla 的编程语言
最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务