Язык программирования Rust
Rust - современный ЯП для системного программирования с акцентом на безопасность и скорость.
Официальный сайт http://www.rust-lang.org Обучающие примеры http://rustbyexample.com/ На данный момент формирование языка практически завершено. Согласно оф. блогу расту осталось пройти 3 фазы развития прежде чем выпустят 1.0. Цитата:
Критикуем, боготворим, хороним и т.д. |
Хорошая подборка проектов, которые уже написаны на расте https://github.com/kud1ing/awesome-rust
Обратите внимание на раздел Web programming. |
Для любителей экспериментов у раста уже довольно много байндингов к другим япам. Не на прямую, конечно, но на "поиграться" сойдёт)
https://siciarz.net/24-days-of-rust-...her-languages/ |
Теперь в инсталлятор раста включён пакетный менеджер Cargo
http://www.reddit.com/r/rust/comment...argo_and_docs/ |
я смогу вызвать window.alert через Rust ? вижу, через emscripten что-то делают, но особого успеха не достигли
|
melky,
честно говоря, я не интересовался этой темой. Да и зачем, если на JS это проще сделать) На данный момент я сижу на 0.12 и жду альфу, там снова будут ломающие изменения, а потом будет стабильность. |
Один Rust не Траст :)
|
Дока по ночным версиям раста http://doc.rust-lang.org/nightly/book/
|
Как выйдет релиз, попробую заюзать совместно с нодой :)
|
kobezzza,
уже. Обновись и выполни rustc --version, оно уже в единичке :) Или ты про полностью стабильный релиз, а не альфу/бету? |
Цитата:
|
kobezzza,
но зачем так долго ждать, если можно уже в ближайшее время начать?) В языке вероятнее всего, никаких крупных ломающих изменений не произойдёт. В крайнем случае можно с бетки начать. |
Итак, альфач вышел http://blog.rust-lang.org/2015/01/09...1.0-alpha.html
|
Цитата:
Глянул STD - пока довольно скудновато :) |
kobezzza,
Цитата:
Цитата:
|
Цитата:
|
melky,
сначала нужно заново изучить то, что они там поломали) Да и вообще хоть какое-то более-менее понимание языка должно быть(до сих пор путаюсь в двух видах строк), а потом уже будут думать над идеями) |
Servo отрендерил свой первый SVG http://imgur.com/K2Gwkh2
|
Цитата:
Расти Серво большой, чтобы Гекко тобой гордился! :) |
kobezzza,
он и развивается с такой же скоростью) |
Сёня уже пописал на Расте :) Для WebStorm есть плагинчик для Rust.
|
kobezzza,
Цитата:
|
This Week in Rust 66
Ну наконец-то раздел "Breaking Changes" содержит всего лишь две строки изменений) |
И немного новостей о Серво http://www.phoronix.com/scan.php?pag...Engine-LCA2015
|
И снова инфа о Серво https://github.com/glennw/servo-shell
В этот раз начали проектировать дизайн нового браузера. |
Цитата:
|
|
Цитата:
Хотя, может, я и не прав :) |
melky,
гитхаб лучше смотрится) |
Сравнение рендеринга Servo и Firefox
https://www.youtube.com/watch?v=pZGhnqtXVdc |
Итак, с небольшим опозданием, сегодня релизнулась бета версия.
Announcing Rust 1.0 Beta |
|
Свершилось! Вышел релиз первой версии http://blog.rust-lang.org/2015/05/15/Rust-1.0.html
|
Цитата:
|
|
kobezzza,
о, спасибо, очень полезная штука. Жаль, что только версия Раста не указана. |
Цитата:
|
Цитата:
|
kobezzza, это опять foo, если что)
|
Цитата:
trait Animal { // Static method signature; `Self` refers to the implementor type fn new(name: &'static str) -> Self; // Instance methods, only signatures fn name(&self) -> &'static str; fn noise(&self) -> &'static str; // A trait can provide default method definitions fn talk(&self) { // These definitions can access other methods declared in the same // trait println!("{} says {}", self.name(), self.noise()); } } struct Dog { name: &'static str } impl Dog { fn wag_tail(&self) { println!("{} wags tail", self.name); } } // Implement the `Animal` trait for `Dog` impl Animal for Dog { // Replace `Self` with the implementor type: `Dog` fn new(name: &'static str) -> Dog { Dog { name: name } } fn name(&self) -> &'static str { self.name } fn noise(&self) -> &'static str { "woof!" } // Default trait methods can be overridden fn talk(&self) { // Traits methods can access the implementor methods self.wag_tail(); println!("{} says {}", self.name, self.noise()); } } struct Sheep { naked: bool, name: &'static str } impl Sheep { fn is_naked(&self) -> bool { self.naked } fn shear(&mut self) { if self.is_naked() { // Implementor methods can use the implementor's trait methods println!("{} is already naked!", self.name()); } else { println!("{} gets a haircut", self.name); self.talk(); self.naked = true; } } } impl Animal for Sheep { fn new(name: &'static str) -> Sheep { Sheep { name: name, naked: false } } fn name(&self) -> &'static str { self.name } fn noise(&self) -> &'static str { if self.is_naked() { "baaah" } else { "baaaaaaaaaaaah" } } } fn main() { // Type annotation is necessary in this case let mut dolly: Sheep = Animal::new("Dolly"); let spike: Dog = Animal::new("Spike"); // TODO ^ Try removing the type annotations dolly.shear(); spike.talk(); dolly.talk(); } Ты, вообще, очень удачно ник выбрал. |
Часовой пояс GMT +3, время: 14:39. |