The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]



"Релиз языка программирования Rust 1.27"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Релиз языка программирования Rust 1.27"  +/
Сообщение от opennews (??) on 22-Июн-18, 14:15 
Состоялся (https://blog.rust-lang.org/2018/06/21/Rust-1.27.html) релиз языка системного программирования Rust 1.27 (http://www.rust-lang.org), развиваемого проектом Mozilla. Язык сфокусирован на безопасной работе с памятью, обеспечивает автоматическое управление памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime.


Автоматическое управление памятью в Rust избавляет разработчика от манипулирования указателями и защищает от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo (http://blog.rust-lang.org/2014/11/20/Cargo.html), позволяющий получить нужные для программы библиотеки  в один клик. Для размещения библиотек поддерживается репозиторий crates.io (https://crates.io/).


В подготовке нового выпуска принял участие 131 разработчик. Основные новшества (https://github.com/rust-lang/rust/blob/master/RELEASES.md#ve...):


-  Добавлена (https://github.com/rust-lang/rust/pull/49664/) поддержка параллельной обработки данных c использованием инструкций SIMD (https://ru.wikipedia.org/wiki/SIMD). В разряд стабильных переведены модули std::arch::x86 (https://doc.rust-lang.org/std/arch/x86/index.html) и std::arch::x86_64 (https://doc.rust-lang.org/std/arch/x86_64/index.html) (std::arch::arm пока остаётся экспериментальным), предоставляющие доступ к процессорным инструкциям SIMD, для определения поддержки которых предложены макрос "is_x86_feature_detected", атрибут '#[target_feature(enable="")]' и проверочная конструкция '#[cfg(target_feature = "...")]'. К инструкциям можно обращаться напрямую, без выноса логики их задействования на плечи компилятора. Например, можно подготовить несколько вариантов обработчиков функции, один из которых использует AVX2, а другой применяется на системах без поддержки SIMD:

   fn foo() {
       #[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
       {
           if is_x86_feature_detected!("avx2") {
                return unsafe { foo_avx2() };
           }
       }
       foo_fallback();
   }


В настоящее время для вызова SIMD в std::arch предлагаются только низкоуровневые примитивы, но в будущих выпусках ожидается появление высокоуровневого интерфейса  std::simd, который пока не прошёл стадию стабилизации. Кроме того, уже развиваются библиотеки для упрощения упрощения применения SIMD, например доступен модуль faster (https://github.com/AdamNiederer/faster), а в модуль  regex добавлен код для использования SIMD для ускорения обработки данных;

-  Предложен (https://github.com/rust-lang/rust/pull/49968/) новый синтаксис для создания объектов trait - "dyn Trait", который синтаксически эквивалентен старому Trait, но унифицирован с учётом нового выражения "impl Trait" (т.е. чтобы не создавать путаницу c impl предлагается явно писать "dyn"). Например, вместо "&Trait" теперь рекомендовано писать "&dyn Trait", вместо "&mut Trait" - "&mut dyn Trait", а вместо "Box‹Trait›" - "Box‹dyn Trait›". Поддержка старого синтаксиса оставлена для обеспечения совместимости но не рекомендована к использованию;

-  Обеспечена (https://github.com/rust-lang/rust/pull/48925/) возможность применения атрибута "#[must_use]" к функциям, а не только к типам. Указание данного атрибута приведёт к выводу предупреждения, если выданное функцией значение в дальнейшем не используется в программе. В стандартной библиотеке данный атрибут уже выставлен (https://github.com/rust-lang/rust/blob/master/RELEASES.md#ve...) для функций std::str::replace, Clone::clone, Iterator::collect и ToOwned::to_owned. Например, использование  "#[must_use]" помогает выявить ошибки (https://github.com/rust-lang/rust/pull/50177/) вида выполнения функции без присвоения результата;

-  Стабилизированы атрибуты над базовыми параметрами, такими как типы. Например: "fn foo‹#[lifetime_attr] 'a" и  "#[type_attr] T: 'a›() {}";
-  В разряд стабильных переведена (https://github.com/rust-lang/rust/blob/master/RELEASES.md#ve...) новая порция API, в том числе DoubleEndedIterator::rfind/rfold/try_rfold,   Duration::from_micros/from_nanos/subsec_micros/subsec_millis,
    HashMap::remove_entry, Iterator::try_fold/try_for_each,
    NonNull::cast, Option::filter, String::replace_range,
    Take::set_limit,  process::id и  slice::rsplit_mut/rsplit/swap_with_slice;
-  В базовый состав (core) из std  перенесены многие методы для работы с типами [u8], f32 и f64;


-  В пакетный менеджер cargo добавлен флаг  "--target-dir" для изменения целевого каталога. Также добавлен код для автоматического определения тестов, примеров и исполняемых файлов в проекте без их явного упоминания в настройках. В cargo-metadata включены поля authors, categories, keywords, readme и repository. Обеспечено кэширование информации от компилятора (для отключения можно указать CARGO_CACHE_RUSTC_INFO=0);
-  Добавлена возможность поиска в разделе документации на сайте doc.rust-lang.org;

-  Добавлена поддержка новой целевой платформы "armv5te-unknown-linux-musl".


URL: https://blog.rust-lang.org/2018/06/21/Rust-1.27.html
Новость: https://www.opennet.ru/opennews/art.shtml?num=48821

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Релиз языка программирования Rust 1.27"  –9 +/
Сообщение от Аноним (??) on 22-Июн-18, 14:15 
Rust не панацея. Помню писали, вот перепишем движок Firefox на Rust и не будет уязвимостей. И что, новые  Firefox перевели на Stylo, но как исправляли по 10 критических уязвимостей в каждом релизе, так и исправляют. Видимо кроме безопасного языка ещё нужен ещё и безопасный подход.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Релиз языка программирования Rust 1.27"  +9 +/
Сообщение от DEF on 22-Июн-18, 14:23 
Stylo - движок CSS. Всего лишь малая часть от самого движка Servo, который еще в разработке.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

33. "Релиз языка программирования Rust 1.27"  +8 +/
Сообщение от Аноним (??) on 22-Июн-18, 16:40 
> избавляет от проблем с текущей памятью
> ухх безопасный язык не спасает от уязвимостей; ухх какая неожиданность
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

41. "Релиз языка программирования Rust 1.27"  –1 +/
Сообщение от Анонми on 22-Июн-18, 18:01 
> Видимо ВМЕСТО безопасного языка нужен безопасный подход.

fixed

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

97. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Jh on 24-Июн-18, 06:28 
какая разница, если уязвимости прямо в процесоорах
Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

101. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Kuromi (ok) on 24-Июн-18, 21:57 
"как исправляли по 10 критических уязвимостей в каждом релизе, так и исправляют"

Так хотя бы исправляют.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Релиз языка программирования Rust 1.27"  +16 +/
Сообщение от Постоянный читатель on 22-Июн-18, 14:22 
На LOR'е предсказывали, что Rust победит в скором времени все сзяки программирвоания и останется только один Rust, а остальные ЯП будут не нужны.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Релиз языка программирования Rust 1.27"  +11 +/
Сообщение от Постоянный читатель on 22-Июн-18, 14:23 
> сзяки программирвоания

Вот что бывает, когда не высыпаешься. Не повторяйте моих ошибок!

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

6. "Релиз языка программирования Rust 1.27"  +1 +/
Сообщение от A.Stahl (ok) on 22-Июн-18, 14:31 
Всё ты правильно написал. Сзяки победят и потом сами сдохнут. А другие языки как развивались (ну кроме Лиспа, Хаскеля и Эрланга), так и продолжат развиваться.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

9. "Релиз языка программирования Rust 1.27"  +2 +/
Сообщение от Focus (??) on 22-Июн-18, 14:46 
оставаясь вечно недоразвитыми
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

10. "Релиз языка программирования Rust 1.27"  +10 +/
Сообщение от A.Stahl (ok) on 22-Июн-18, 14:49 
Лисп же уже достиг совершенства, а программисты на Лиспе -- блаженства. Поэтому-то они и не пишут код. На кой чёрт блаженным программировать?
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

65. "Релиз языка программирования Rust 1.27"  +/
Сообщение от псевдонимус on 22-Июн-18, 22:56 
Предлагаю всё форкнуть и переписать на "сзяки".Человеческие языки тоже).
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

5. "Релиз языка программирования Rust 1.27"  +1 +/
Сообщение от Andrey Mitrofanov on 22-Июн-18, 14:28 
> На LOR'е предсказывали, что Rust победит в скором времени все сзяки программирвоания
> и останется только один Rust, а остальные ЯП будут не нужны.

ЛОРу-то и поделом.  Не жалко.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

7. "Релиз языка программирования Rust 1.27"  +2 +/
Сообщение от Аноним (??) on 22-Июн-18, 14:39 
Go растёт как на дрожжах. Везде Go-Go-Go, большие проекты, малые проекты.
А выбора то и нет для тех, кто не хочет си, си++, джава, скриптовые, функциональные и некрофильные типа паскаля.
А раст как был в полутора проектах, так и остаётся пока.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

40. "Релиз языка программирования Rust 1.27"  +1 +/
Сообщение от istepan (ok) on 22-Июн-18, 18:01 
Rust хорошая альтернатива C\C++.
Golang же отличная замена для всяких nodejs.
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

46. "Релиз языка программирования Rust 1.27"  +1 +/
Сообщение от Анонимм (??) on 22-Июн-18, 19:22 
Не вижу особой связи нодежс и голанга.
На голанге можно взять и навалять практически любое приложение в виде самодостаточного бинарника, который взлетит на линуксе, винде, макос. А на нодежс ? Наворотить гору всякого треша чтобы запустить ?
Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

48. "Релиз языка программирования Rust 1.27"  +/
Сообщение от inferrna (ok) on 22-Июн-18, 19:36 
> Не вижу особой связи нодежс и голанга.
> На голанге можно взять и навалять практически любое приложение в виде самодостаточного
> бинарника, который взлетит на линуксе, винде, макос. А на нодежс ?

Как туго нынче с головой у анонимма, а. Бинарники у него кроссплатформенные, а нода не кроссплатформенная.

Ответить | Правка | ^ к родителю #46 | Наверх | Cообщить модератору

50. "Релиз языка программирования Rust 1.27"  –1 +/
Сообщение от Анонимм (??) on 22-Июн-18, 19:41 
Go кросплатформенный. Бинарник под платформу самодостаточен. И если тот же питон под тот же линукс имеется штатно, то нода не очень.
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

70. "Релиз языка программирования Rust 1.27"  +1 +/
Сообщение от Anon999 (ok) on 23-Июн-18, 05:59 
Склепать самодостаточное Python-приложение, особенно с numpy, Matplotlib и прочим - тот ещё геморрой с 0,75-1,1 Гб размером дистра и 5-10 минутами сборки костылями, а потом ещё вручную сжимать самые жирные либы, потому что в PyInstaller это автоматом не работает, а в cx_freeze поламали.
Ответить | Правка | ^ к родителю #50 | Наверх | Cообщить модератору

72. "Релиз языка программирования Rust 1.27"  +1 +/
Сообщение от Анонимм (??) on 23-Июн-18, 08:16 
Так о том и речь. Что интерпретаторы и всякие комбайны типа ноды имеют откровенные недостатки.
Ответить | Правка | ^ к родителю #70 | Наверх | Cообщить модератору

76. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Ydro on 23-Июн-18, 09:11 
Поделись сакральными откровениями, что не может нода в Linux и может в винде и наоборот?
Ответить | Правка | ^ к родителю #72 | Наверх | Cообщить модератору

79. "Релиз языка программирования Rust 1.27"  +1 +/
Сообщение от Анонимм (??) on 23-Июн-18, 10:11 
А это из каких закоулков сумрачного сознания извлечено было?
Ответить | Правка | ^ к родителю #76 | Наверх | Cообщить модератору

104. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Аноним (??) on 25-Июн-18, 10:35 
Как хорошо было с паскалем/delphi, жаль не потянули вовремя linux.
Несмотря на многословность и "недоразвитость" с т.з. многих, в виде Delphi позволял решать прикладные задачи с невысокими трудозатратами (по сравнению с c++), и при этом создавать вполне рабочие и удобные приложения с полноценными пользовательскими интерфейсами не сильно жрущими ресурсы.
Ответить | Правка | ^ к родителю #72 | Наверх | Cообщить модератору

96. "Релиз языка программирования Rust 1.27"  +/
Сообщение от angra (ok) on 23-Июн-18, 23:06 
А может туго с головой у того, кто заменяет "самодостаточное" на "кроссплатформенное", а потом героически опровергает полученную чушь?

Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

111. "Релиз языка программирования Rust 1.27"  +/
Сообщение от нах on 26-Июн-18, 10:38 
ну че как маленький?! "самодостаточная" обертка для ноды называется electron.
И даже "кроссплатформенная" - линукс и виндовс. Целых две платформы, это ж много.

Ответить | Правка | ^ к родителю #46 | Наверх | Cообщить модератору

55. "Релиз языка программирования Rust 1.27"  +1 +/
Сообщение от Аноним (??) on 22-Июн-18, 20:51 
C/C++ будут всегда. Почему? Никто не будет миллионы строк Linux переписывать на Rust.
Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

63. "Релиз языка программирования Rust 1.27"  +2 +/
Сообщение от Аноним (??) on 22-Июн-18, 22:52 
А солдат не может два мешка брюквы съесть.
Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору

98. "Релиз языка программирования Rust 1.27"  +/
Сообщение от alexz (??) on 24-Июн-18, 08:16 
Go - примитивен.  На нем, конечно, можно создавать прогдукты приличной сложности, но сам по себе язык примитивнее, чем, например, C++, из-за чего приходится писать много кода, там, где можно было бы обойтись одним шаблоном.

А Rust оказался таким сложным, в что в него без PhD не въедешь.  Создатели раста боятся признать, что барьер въезда в язык очень высок.  Народ его щупает, но очень осторожно.  Раст уже на самом деле лет пять уже существует, но распостранённость у него можно сказать никакая.

Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

105. "Релиз языка программирования Rust 1.27"  +1 +/
Сообщение от Аноним (??) on 25-Июн-18, 10:37 
> ...Создатели раста боятся признать, что барьер въезда в язык очень высок...

Вроде не боятся, но судя по "отзывам" школьное образование стало сильно хуже в последние годы, видать поколение телефончиков/приставок немного разбазарило ресурсы в детсве...

Ответить | Правка | ^ к родителю #98 | Наверх | Cообщить модератору

110. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Ан (??) on 26-Июн-18, 10:27 
Нету там рокетсайнса если читать официальные доки и книгу раста.
Ответить | Правка | ^ к родителю #98 | Наверх | Cообщить модератору

31. "Релиз языка программирования Rust 1.27"  +2 +/
Сообщение от A on 22-Июн-18, 16:27 
> На LOR'е предсказывали, что Rust победит в скором времени все сзяки программирвоания
> и останется только один Rust, а остальные ЯП будут не нужны.

И не будет больше ни книг, ни кино, ни театра, ни радио. Одно сплошное телевидение. (С) "Москва слезам не верит". :)))


Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

92. "Релиз языка программирования Rust 1.27"  +1 +/
Сообщение от freecoder on 23-Июн-18, 21:57 
Так и есть. Один сплошной Ю-туб.
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

106. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Аноним (??) on 25-Июн-18, 10:39 
>> На LOR'е предсказывали, что Rust победит в скором времени все сзяки программирвоания
>> и останется только один Rust, а остальные ЯП будут не нужны.
> И не будет больше ни книг, ни кино, ни театра, ни радио.
> Одно сплошное телевидение. (С) "Москва слезам не верит". :)))

Книг почти нет, театр по сути умирает, если сходить на "недорогие спектакли", складывается впечатление что лучше бы и не было...

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

44. "Релиз языка программирования Rust 1.27"  +/
Сообщение от YetAnotherOnanym (ok) on 22-Июн-18, 18:41 
Когда-то в Пентагоне то же самое предсказывали для Ады. Где теперь та Ада?
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

71. "Релиз языка программирования Rust 1.27"  +1 +/
Сообщение от Минона (ok) on 23-Июн-18, 07:42 
Ада в Пентагоне.
Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

103. "Релиз языка программирования Rust 1.27"  +/
Сообщение от ffirefox on 25-Июн-18, 00:46 
Если бы у ады была более либеральная лицензия, то Rust был бы не нужен.
Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

69. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Выфер on 23-Июн-18, 05:37 
> предсказывали, что Rust победит в скором времени все сзяки программирвоания

Когда ядро перепишут, тогда и приходите

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

102. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Надпочечник on 25-Июн-18, 00:31 
Зачем переписывать. Запилят транслятор.
Ответить | Правка | ^ к родителю #69 | Наверх | Cообщить модератору

8. "Релиз языка программирования Rust 1.27"  –2 +/
Сообщение от Аноним (??) on 22-Июн-18, 14:42 
> Автоматическое управление памятью в Rust избавляет разработчика ...

Сколько можно, новинка что-ли? Было в джаве, питон, D, шарпе, много где.
Это же как детский велосипед с дополнительными колёсиками, не дают упасть, но снижает манёвренность и скорость. И вызывает насмешки тех, кто научился ездить без таких костылей.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Релиз языка программирования Rust 1.27"  +1 +/
Сообщение от Аноним (??) on 22-Июн-18, 14:51 
Покажите в перечисленных языках этот "детский велосипед" "без использования сборщика мусора и runtime." А то я подозреваю, что после первой же встречи с borrow checker вы кроме как на костылях ходить не сможете.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

15. "Релиз языка программирования Rust 1.27"  +3 +/
Сообщение от Совершенно другой аноним on 22-Июн-18, 15:13 
Так и запишем - Borrow checker ломает программистам ноги.
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

38. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Вареник on 22-Июн-18, 17:40 
Полно soft real time приложений на Java. Высоконагруженные биллинги, трейдинги, диспетчеризации и т.д.
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

54. "Релиз языка программирования Rust 1.27"  –1 +/
Сообщение от HyC on 22-Июн-18, 20:22 
Ой да ладна. Оно "софт реалтаймовое" только потому-что не оффлайновое. Сидишь и по 40 секунд ждешь пока выстрелит.
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

58. "Релиз языка программирования Rust 1.27"  +2 +/
Сообщение от Ку on 22-Июн-18, 21:55 
Не стоит фантазировать на тот счет, что задержка именно из-за скорости языка, тем более компилируемого в машинные инструкции.
Как правило тормозят ввод-вывод и база.
Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

18. "Релиз языка программирования Rust 1.27"  +1 +/
Сообщение от Vkni (ok) on 22-Июн-18, 15:25 
> Сколько можно, новинка что-ли? Было в джаве, питон, D, шарпе, много где.

Ну, когда управление памятью базируется на auto/unique_ptr, то это вроде действительно новинка. Ну, и автоуправление памятью часто очень сильно помогает со сложной алгоритмикой. Подозреваю, что не только с читаемостью, но даже и со скоростью становится лучше, т.к. компилятор может делать высокоуровневые оптимизации, недоступные в ручном управлении в стиле С++.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

67. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Vkni (ok) on 23-Июн-18, 03:45 
> Ну, когда управление памятью базируется на auto/unique_ptr, то это вроде действительно
> новинка.

Блин, товарищи подсказывают, что нет - это т.н. "линейные типы", реализованные в языке Clean (аналог Хаскеля, только значительно быстрее).

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

42. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Аноним84701 (ok) on 22-Июн-18, 18:04 
>> Автоматическое управление памятью в Rust избавляет разработчика ...
> Сколько можно, новинка что-ли? Было в джаве, питон, D, шарпе, много где.  

Только там в рантайме, а тут - во время компилирования.
Благо, мощность железа (как и сложность ПО) со времен изобретения плюсов (тем более - си) увеличилась много-много-многократно и можно таки попытаться использовать эти мощности не только для отъедания во время выполнения программы (т.е. проверок в рантайме) но и для более вдумчивого анализа при компиляции.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

49. "Релиз языка программирования Rust 1.27"  +/
Сообщение от inferrna (ok) on 22-Июн-18, 19:38 
>> Автоматическое управление памятью в Rust избавляет разработчика ...
> Сколько можно, новинка что-ли? Было в джаве, питон, D, шарпе, много где.

на таком уровне не было. Разве что в хаскеле, но там свои заморочки.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

11. "Релиз языка программирования Rust 1.27"  +1 +/
Сообщение от Аноним (??) on 22-Июн-18, 14:49 
Вот лет через 5 добавят async-функции -- тогда заживем
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

21. "Релиз языка программирования Rust 1.27"  +1 +/
Сообщение от r3nya on 22-Июн-18, 15:54 
Уже подвозят потихоньку – https://github.com/rust-lang/rust/pull/51580
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

13. "Релиз языка программирования Rust 1.27"  +2 +/
Сообщение от Аноним (??) on 22-Июн-18, 14:54 
"x86", "avx2" - это всё должны быть константы, а не строки.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "Релиз языка программирования Rust 1.27"  +2 +/
Сообщение от Аноним (??) on 22-Июн-18, 14:55 
В разрабах раста, видимо, много любителей криптографии.
Какое-то такое ощущение синтаксис оставляет.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

16. "Релиз языка программирования Rust 1.27"  +1 +/
Сообщение от Vkni (ok) on 22-Июн-18, 15:20 
Стандартный алголо-подобный синтаксис.
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

36. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Анонимм (??) on 22-Июн-18, 17:23 
Имеется в виду совершенно неочевидное нагромождение разнородных скобок и неочевидное нагромождение спецсимволов и т.п. Когда имеешь опыт программирования на нескольких языках, смотришь в код раст и не понимаешь, что именно он делает. Это, как мне кажется, не очень хорошо.
Примерно как те самые годные скрипты на перле :)
Когда автор через месяц не может их прочитать.
Если глянуть на розеттакоде, то примеры на расте выглядят ужасненько.
Пробовал некоторое время назад поставить раст, но дальше хелло ворлда дело не зашло.
Если на перле есть всё на CPAN. На питоне ответ на вопрос нагугливается за 1-5 минут. На гоу - чуть дольше и потом возможно придётся полдня поковыряться, поразбираться, изучить код чужой либы.
То на расте просто нет ничего.
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

59. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Аноним (??) on 22-Июн-18, 21:59 
Очевидная же смесь OCaml и C++. Какие же вы языки программирования знаете, если вас удивляет синтаксис Rust? Дальше сиподобных ничего не видели?
Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

73. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Анонимм (??) on 23-Июн-18, 08:20 
Из того, на чём существенные объёмы писались - бейсик, паскаль, перл, питон, го.
Ответить | Правка | ^ к родителю #59 | Наверх | Cообщить модератору

89. "Релиз языка программирования Rust 1.27"  +1 +/
Сообщение от Vkni (ok) on 23-Июн-18, 16:43 
> Из того, на чём существенные объёмы писались - бейсик, паскаль, перл, питон,
> го.

А где LISP, FORTRAN, COBOL, Цэ и т.д.?

Ответить | Правка | ^ к родителю #73 | Наверх | Cообщить модератору

61. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Ку on 22-Июн-18, 22:06 
Согласен насчет синтаксиса. Зачем было создавать такой барьер для освоения?
Вероятно, когда у основных разрабов пропадет интерес, то приутихнут и все остальные.
Такое ощущение, что раст создавался скорее для прочесывания своего ЧСВ, чем для реального применения.
Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

94. "Релиз языка программирования Rust 1.27"  +/
Сообщение от freecoder email on 23-Июн-18, 22:13 
Нормальный синтаксис, непривычный для новичков только. У опытных уже особых претензий к нему не возникает. Единственный серьезный недостаток - плохая читаемость сигнатур функций с обобщенными типами. Но это, во-первых, поправимо, а во-вторых - в сигнатуре компактно содержится большое количество информации о типах функции, так что тут +/-. Если читать функции в IDE с подстветкой имен, то вообще проблемы нет.

Ответить | Правка | ^ к родителю #61 | Наверх | Cообщить модератору

93. "Релиз языка программирования Rust 1.27"  +/
Сообщение от freecoder email on 23-Июн-18, 22:07 
> Имеется в виду совершенно неочевидное нагромождение разнородных скобок и неочевидное нагромождение
> спецсимволов и т.п. Когда имеешь опыт программирования на нескольких языках, смотришь
> в код раст и не понимаешь, что именно он делает. Это,
> как мне кажется, не очень хорошо.
> Примерно как те самые годные скрипты на перле :)
> Когда автор через месяц не может их прочитать.

Дело в том, что синтаксис Rust'а непривычен, но он вполне очевиден. То есть, когда вы привыкните к обобщенным типам и к указанию переменных типа в угловых скобках, к заимствованиям и лайфтаймам, к использованию типажей, то у вас никаких серьезных сомнений не возникнет, глядя на свой или чужой код. Уже имеющим опыт разработки на Rust такой синтаксис никак не затрудняет понимание происходящего в коде.

Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

100. "Релиз языка программирования Rust 1.27"  +/
Сообщение от burjui (ok) on 24-Июн-18, 17:05 
Мне жаль людей, искалеченных ордами языков с C-подобным синтаксисом. У Rust синтаксис непривычен потому, что он вдохновлён языками семейства ML, которые, вообще-то, существуют уже десятки лет. Нужно расширять кругозор, а то вы прямо как дед, который не любит сенсорные телефоны только потому, что всю жизнь нажимал кнопки и дёргал рычаги.
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

108. "Релиз языка программирования Rust 1.27"  +1 +/
Сообщение от Анонимм (??) on 25-Июн-18, 19:29 
Не надо оверинженеринг сравнивать с маразматическим дедом.
Никто не будет оплачивать любителей криптографических языков, оплачивают решение задач.
Ответить | Правка | ^ к родителю #100 | Наверх | Cообщить модератору

17. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Аноним (??) on 22-Июн-18, 15:20 
> использование "#[must_use]" помогает выявить такие ошибки, как выполнение функции без присвоения результата;

Поясните, кто знает. Раньше НЕ использование результата не void ф-и не считалось ошибкой в расте?

Странно как-то. Было ощущение, что такие вещи там изначально должны были обрабатываться с предупреждением, если вообще допускаться.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

19. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Vkni (ok) on 22-Июн-18, 15:28 
> Странно как-то. Было ощущение, что такие вещи там изначально должны были обрабатываться
> с предупреждением, если вообще допускаться.

Зависит от ситуации.

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

35. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Ordu email(ok) on 22-Июн-18, 17:14 
> Раньше НЕ использование результата не void ф-и не считалось ошибкой в расте?

Не считалось. Были специальные типы (например, Result) неиспользование которого считается ошибкой, но вот так, чтобы для -- нет.

> такие вещи там изначально должны были обрабатываться с предупреждением, если вообще допускаться.

Почему же? Rust -- не функциональный язык, во всяком случае не чисто функциональный. Side-эффекты там используются во все поля и, соответственно, вызов функции ради её side-эффектов -- это нормальная ситуация для него. Если чисто для примера, то можно придумать функцию replace, которая меняет в строке 'a' на 'b', и возвращает количество произведённых замен. Если мне надо просто поменять, но количество не важно, то зачем я буду городить какой-то огород вокруг возвращаемого значения, убеждая компилятор, что оно используется?

В новости приведены примеры, когда это полезно -- replace (который создаёт копию строки), clone (создающий копию объекта), collect (собирающий все элементы из итератора в массив), to_owned (которая берёт слайс &str, создаёт его копию в куче и возвращает "умный указатель" на него, типа String) -- это всё примеры функций _без_ side-эффектов, где действительно нет никакого смысла вызывать функцию, игнорируя результат.

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

60. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Аноним (??) on 22-Июн-18, 22:02 
Точка с запятой в расте является аналогом "|> ignore" в ML языках.
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

66. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Vkni (ok) on 23-Июн-18, 03:44 
> Точка с запятой в расте является аналогом "|> ignore" в ML языках.

Кстати, в ML языках тоже есть точка с запятой. Даже в Х-ле (в линейном синтаксисе):

do { putStr "Hello "; putStrLn "World!" }

Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору

20. "Релиз языка программирования Rust 1.27"  –1 +/
Сообщение от Аноним (??) on 22-Июн-18, 15:41 
> foo_fallback

когда я вижу такой синтаксис, внутри меня рождается гнев

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

34. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Аноним (??) on 22-Июн-18, 17:04 
название функции - это не синтаксис. А логика работы такая: на архитектурах, отличных от x86, просто возвращаем foo_fallback. На архитектурах x86 проверяем в рантайме, есть ли поддержка avx2, и если есть, то вызывается быстрая реализация.

Если есть идеи, как лучше реализовать такую логику - шли RFC и пулл реквесты.

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

68. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Аноним (??) on 23-Июн-18, 04:43 

> Если есть идеи, как лучше реализовать такую логику - шли RFC и
> пулл реквесты.

При инсталяции в ос ложить нужный вариант, а не прверять в рантайме.

Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

82. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Анонимус2 on 23-Июн-18, 15:42 
Так тоже можно, но безопасней все-таки проверять в рантайме и иметь в наличии базовый вариант всегда
Ответить | Правка | ^ к родителю #68 | Наверх | Cообщить модератору

22. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Аноняшка on 22-Июн-18, 15:56 
Какие принципиальные преимущества Rust, перед, няпример, Go или Python? Есть смысл переходить? Есть смысл нячинять с няго?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

24. "Релиз языка программирования Rust 1.27"  +2 +/
Сообщение от анонимус328492834 on 22-Июн-18, 16:01 
ADT, безопасность, отсутствие garbage collector'а (а по сравнению с питоном и GIL).  http://yager.io/programming/go.html
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

43. "Релиз языка программирования Rust 1.27"  +3 +/
Сообщение от istepan (ok) on 22-Июн-18, 18:10 
Go и Rust не конкуренты, они лучшие каждый в своей сфере.
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

51. "Релиз языка программирования Rust 1.27"  –1 +/
Сообщение от inferrna (ok) on 22-Июн-18, 19:41 
> Какие принципиальные преимущества Rust, перед, няпример, Go или Python? Есть смысл переходить?
> Есть смысл нячинять с няго?

если ты ня-гентушница, которая хочет разумением своим сразить коллег/однокашников, то раст обязателен. Если это для себя, то начать лучше с питона.

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

62. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Аноним (??) on 22-Июн-18, 22:22 
Rust имеет низкоуровневый контроль над памятью, как в C и C++, не стоит его сравнивать с Python и Go.
С него не стоит начинать, я бы порекомендовал перед Rust ознакомиться с любым типизованным функциональным языком (OCaml, F#, Haskell, Scala).

Если же все-таки сравнивать, то:

1) По сравнению с Go он имеет строгую и выразительную типизацию. В целом более выразительный, продуманный а так же более быстрый язык. Он более заточен под конкурентность, потому как система типов Rust исключает многие ошибки конкурентного программирования.

2) По сравнению с Питоном он имеет опять же типизацию, производительность.

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

74. "Релиз языка программирования Rust 1.27"  +1 +/
Сообщение от Анонимм (??) on 23-Июн-18, 08:26 
(OCaml, F#, Haskell, Scala)

И куда с ними, и rust до кучи, идти, если работу искать ?

Ответить | Правка | ^ к родителю #62 | Наверх | Cообщить модератору

75. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Минона (ok) on 23-Июн-18, 09:03 
> (OCaml, F#, Haskell, Scala)
> И куда с ними, и rust до кучи, идти, если работу искать
> ?

Зачем идти? Открывай своё дело.

Ответить | Правка | ^ к родителю #74 | Наверх | Cообщить модератору

80. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Ordu email(ok) on 23-Июн-18, 12:32 
Если тебе работу не найти, то лучше заняться изучением азов, и лучше не с дивана, а через какие-нибудь курсы, которые дают бумажки об успешном завершении этих курсов.
Ответить | Правка | ^ к родителю #74 | Наверх | Cообщить модератору

109. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Анонимм (??) on 25-Июн-18, 19:31 
Взяли и снесли ветку, а изначальный д-бильный камент не в тему, оставили.
Ответить | Правка | ^ к родителю #80 | Наверх | Cообщить модератору

83. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Анонимус2 on 23-Июн-18, 15:45 
> (OCaml, F#, Haskell, Scala)
> И куда с ними, и rust до кучи, идти, если работу искать
> ?

На Scala вакансий в последние лет 5 как грязи

Ответить | Правка | ^ к родителю #74 | Наверх | Cообщить модератору

86. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Анонимм (??) on 23-Июн-18, 16:14 
Посмотрел вакансии в своём городе. Вообще нет.
В Москве не особо много. Ну, в сравнении с реально популярными языками.
Впрочем, окамла, раста и хаскеля нет и в Мск :)
Ответить | Правка | ^ к родителю #83 | Наверх | Cообщить модератору

77. "Релиз языка программирования Rust 1.27"  –1 +/
Сообщение от Ydro on 23-Июн-18, 09:21 
> 1) По сравнению с Go он имеет строгую и выразительную типизацию. В
> целом более выразительный, продуманный а так же более быстрый язык.

Не быстрый этот язык! Не быстрый !!! А быстрый скомпилированный код. Сам же язык - ужасен!

Ответить | Правка | ^ к родителю #62 | Наверх | Cообщить модератору

78. "Релиз языка программирования Rust 1.27"  +1 +/
Сообщение от Анонимм (??) on 23-Июн-18, 09:51 
И, тем не менее, по опросам на всяких программистских ресурсах, раст людям нравится.
Возможно тем, кто пишет на си/си++, мозги морщить примерно в той же степени, при том раст даёт некие профиты.
И не представляю, как может нравиться раст тем, кто си не осилили и пошёл по пути более простых языков.
Ответить | Правка | ^ к родителю #77 | Наверх | Cообщить модератору

91. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Vkni (ok) on 23-Июн-18, 18:20 
> С него не стоит начинать, я бы порекомендовал перед Rust ознакомиться с
> любым типизованным функциональным языком (OCaml, F#, Haskell, Scala).

В данном случае проще всего SML - 40 страниц текста "Введение в Стандартный ML".

Ответить | Правка | ^ к родителю #62 | Наверх | Cообщить модератору

25. "Релиз языка программирования Rust 1.27"  –4 +/
Сообщение от IRASoldier on 22-Июн-18, 16:03 
Это еще хорошо, что в тред не набежали адепты Оберона с проповедями "нет языка, кроме семейства паскалеподобных и Вирт - пророк наш!"...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

27. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Аноним email(??) on 22-Июн-18, 16:09 
В Pascal кстати вроде тоже все нормально было с безопасностью памяти.. Странно что не стали его развивать...
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

30. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Аноним (??) on 22-Июн-18, 16:19 
FreePascal, PascalABC.NET, Delphi XE


из стареньких GNU Pascal HP Pascal

а так конечно да - не развивают.

Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

52. "Релиз языка программирования Rust 1.27"  +1 +/
Сообщение от soarin (ok) on 22-Июн-18, 20:06 
> В Pascal кстати вроде тоже все нормально было с безопасностью памяти

Настало время интересных историй

Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

29. "Релиз языка программирования Rust 1.27"  +/
Сообщение от NuclearWar on 22-Июн-18, 16:18 
Вообще-то Go это Оберон с сишным синтаксисом.
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

28. "Релиз языка программирования Rust 1.27"  +/
Сообщение от user90 on 22-Июн-18, 16:16 
Лично у меня от одного только вида синтаксиса сабжа уже глаза вытекают)) Понятно конечно, почему оно так, только это не может быть уважительной причиной.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

32. "Релиз языка программирования Rust 1.27"  +/
Сообщение от rust_ug on 22-Июн-18, 16:34 
есть мнение что все программисты раста слепы от рождения
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

37. "Релиз языка программирования Rust 1.27"  +5 +/
Сообщение от Вареник on 22-Июн-18, 17:33 
Rust уже сейчас замороченней С++, даже если код с нагромождением шаблонов и макросов.

О какой "безопасности" может идти речь, если код просто не читаем?

Та же песня что со Скалой со свободным DSL - сначала охреневаешь от возможностей, потом сталкиваешься с тем, что код write only - каждый "свободно" пишет собственными заклинаниями, чтение кода без "навигации по символам" невозможно.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

39. "Релиз языка программирования Rust 1.27"  +1 +/
Сообщение от Анонимм (??) on 22-Июн-18, 17:46 
Видимо, поэтому и проектов на расте полторы штуки.
Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

95. "Релиз языка программирования Rust 1.27"  +1 +/
Сообщение от freecoder email on 23-Июн-18, 22:27 
> Rust уже сейчас замороченней С++, даже если код с нагромождением шаблонов и
> макросов.

Покажи мне Rust-код, в котором использовалась бы хоть одна нетривиальная концепция, которая не была бы фундаментальной для самого языка, которой небыло бы описания в примитивнейшей книге по языку, которую может осилить любой, кто хоть сколько-нибудь в своей жизни программировал.

Rust выглядит сложным для тех, кто его не знает, из-за непривычного синтаксиса. Но внутри он сильно проще, чем C++.


Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

99. "Релиз языка программирования Rust 1.27"  +1 +/
Сообщение от Аноним (??) on 24-Июн-18, 13:04 
> Rust уже сейчас замороченней С++, даже если код с нагромождением шаблонов и макросов.

Да ты я смотрю на плюсах только хелоуворды мастер писать?

Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

112. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Ан (??) on 26-Июн-18, 10:53 
Вы плюсов мало видели что бы так заявлять.
Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

45. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Стоп on 22-Июн-18, 18:55 
пора делать форк - "Rust с синтаксисом GO"...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

47. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Анонимм (??) on 22-Июн-18, 19:26 
Лучше тогда раст с синтаксисом питона, но вместо отступов скобки {}.
Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

57. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Аноним (??) on 22-Июн-18, 21:37 
c++ c сокращенными именами для указателей и предупреждениями на использование raw poiters....
Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

64. "Релиз языка программирования Rust 1.27"  –1 +/
Сообщение от псевдонимус on 22-Июн-18, 22:53 
Кто там хотел всё "форкнуть и переписать на раст"? Вот,есть повод!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

113. "Релиз языка программирования Rust 1.27"  –1 +/
Сообщение от Аноним (??) on 27-Июн-18, 07:04 
Скачал "Книгу" 2-я версия. rust-1.26.2 не смог собрать -- требует новый mdbook, который в свою очередь имеется в версии 1.27.0. Новую версию раста пока качать нехочу.

Как, каким образом они вообще хотят вытеснять C++ с рынка? О конкуренте Go я вообще молчу.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

114. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Andrey Mitrofanov on 27-Июн-18, 09:47 
> Как, каким образом они вообще хотят вытеснять C++ с рынка?

Вы о каком рынке?  Манагеры МоФоКо скомандовали своим подневольным програмерам, те под козырёк и пиоят-переходят.

Дух опенсорса же, откуда тут рынку-то какому-то быть??

Ответить | Правка | ^ к родителю #113 | Наверх | Cообщить модератору

115. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Аноним (??) on 28-Июн-18, 05:23 
Андрей вы рассуждаете как конченный совок. Создатели Раста работают над компилятором как энтузиасты. Им это нравится. Тут вопрос не в деньгах как таковых, я не говорю что их не донатят. Я о другом. Мозилла Фаундейшн не может командовать программистами. Насилия и запугиваний программистов там нет. На Западе у людей менталитет другой. не надо по себе мерять других людей.
Ответить | Правка | ^ к родителю #114 | Наверх | Cообщить модератору

116. "Релиз языка программирования Rust 1.27"  +/
Сообщение от Andrey Mitrofanov on 28-Июн-18, 10:08 
> Андрей вы рассуждаете как конченный совок. Создатели Раста работают над компилятором как

Я задел ваши "тонкие струны"?  Отлично.

> энтузиасты. Им это нравится. Тут вопрос не в деньгах как таковых,
> я не говорю что их не донатят. Я о другом. Мозилла
> Фаундейшн не может командовать программистами. Насилия и запугиваний программистов там
> нет.

И штата программистов на зарплатах там нет?  И руководящего ими манагемента??

И пукают оне розами, и летают с цветка на цветок?777

>На Западе у людей менталитет другой. не надо по себе
> мерять других людей.

Расскажи мне больше!11

Ответить | Правка | ^ к родителю #115 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема


  Закладки на сайте
  Проследить за страницей
Created 1996-2018 by Maxim Chirkov  
ДобавитьПоддержатьВебмастеруГИД  
Hosting by Ihor