The OpenNET Project / Index page

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



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

Оглавление

Доступен язык программирования Rust 1.8, opennews (?), 15-Апр-16, (0) [смотреть все]

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


7. "Доступен язык программирования Rust 1.8"  +11 +/
Сообщение от Аноним (-), 15-Апр-16, 12:37 
> Первым улучшением языка является возможность перегрузки операторов присвоения

Гм, кажется я уже где-то это видел. Сначала перегрузка операторов, затем тьюринг-полные шаблоны, пять видов конструкторов, виртуальные деструкторы, ромбовидное наследование, километровые ошибки компиляции... стоп! хотя подождите, ведь уже есть один с++?!

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

14. "Доступен язык программирования Rust 1.8"  +/
Сообщение от Аноним (-), 15-Апр-16, 13:24 
> Гм, кажется я уже где-то это видел. Сначала перегрузка операторов, затем тьюринг-полные
> шаблоны, пять видов конструкторов, виртуальные деструкторы, ромбовидное наследование,
> километровые ошибки компиляции... стоп! хотя подождите, ведь уже есть один с++?!

Просто уложите в свои глупые головы что бейсика не будет - современные требования к ЯП таковы, что без всего перечисленного не обойтись. Поэтому да, каждый язык придёт к плюсам, а сами плюсы никуда не уйдут.

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

44. "Доступен язык программирования Rust 1.8"  +1 +/
Сообщение от Uri (??), 15-Апр-16, 20:22 
Но ведь джаваскриптеры как-то обходятся?
Ответить | Правка | Наверх | Cообщить модератору

45. "Доступен язык программирования Rust 1.8"  +6 +/
Сообщение от Led (ok), 15-Апр-16, 20:32 
> Но ведь джаваскриптеры как-то обходятся?

Это не показатель: они и без мозга обходятся.

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

95. "Доступен язык программирования Rust 1.8"  –1 +/
Сообщение от й (?), 18-Апр-16, 02:28 
>> пять видов конструкторов, виртуальные деструкторы, ромбовидное наследование,
>> километровые ошибки компиляции
> современные требования к ЯП таковы, что без всего перечисленного не обойтись

вы правда щупали что-то кроме c++ и java-производных? это весьма специфический опыт.

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

18. "Доступен язык программирования Rust 1.8"  +/
Сообщение от Никто (??), 15-Апр-16, 14:05 
Собственно вся затея с Rust - это попытка сделать замену С++ со всеми его сильными сторонами, избежав слабых. Пока получается, но удасться ли им это в конечном итоге - вопрос открытый.
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

23. "Доступен язык программирования Rust 1.8"  –6 +/
Сообщение от Аноним (-), 15-Апр-16, 15:19 
Не знаю, что у них там получается, но код выходит многословным и крайне дубовым.

Простейшее std::vector<int> list = {1, 2, 3};

превращается в

let mut list: LinkedList<_> = vec![1, 2, 3].into_iter().collect();

а толпы вызовов unwrap() вам потом будет по ночам сниться. :-)

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

27. "Доступен язык программирования Rust 1.8"  +5 +/
Сообщение от Нимано (?), 15-Апр-16, 16:09 
> Простейшее std::vector<int> list = {1, 2, 3};
> превращается в
> let mut list: LinkedList<_> = vec![1, 2, 3].into_iter().collect();

Я правильно понимаю, что просто написать
let mut list: Vec<i32> = vec![1, 2, 3]
или
let mut list = vec![1i32, 2, 3]
не позволяют некие религиозные убеждения? )

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

37. "Доступен язык программирования Rust 1.8"  +/
Сообщение от Аноним (-), 15-Апр-16, 19:41 
Вам так часто нужен doubly-linked-list создав его в строчку?
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

54. "Доступен язык программирования Rust 1.8"  +/
Сообщение от Аноним (-), 16-Апр-16, 03:58 
А как его ещё предлагаете создавать, по диагонали?
Ответить | Правка | Наверх | Cообщить модератору

68. "Доступен язык программирования Rust 1.8"  +/
Сообщение от Аноним (-), 16-Апр-16, 13:01 
> А как его ещё предлагаете создавать, по диагонали?

let mut lst = LinkedList::new();
lst.push_back(1);
lst.push_back(3);

Вы в каких случаях/для чего используете двухсвязанный список?

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

72. "Доступен язык программирования Rust 1.8"  +1 +/
Сообщение от Аноним (-), 16-Апр-16, 14:44 
> Вы в каких случаях/для чего используете двухсвязанный список?

хелловорлды же! А еще можно гордиться  "неявным" привидением "= {1, 2, 3};" – хоть и редко используется, зато ведь коротко.

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

97. "Доступен язык программирования Rust 1.8"  +/
Сообщение от Очередной аноним (?), 18-Апр-16, 09:27 
>>..."неявным" привидением..."
> привИдением

добрым, которое Каспер или злым, как у всех остальных покойников?

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

38. "Доступен язык программирования Rust 1.8"  +1 +/
Сообщение от Аноним (-), 15-Апр-16, 19:44 
> Не знаю, что у них там получается, но код выходит многословным и

...
> а толпы вызовов unwrap() вам потом будет по ночам сниться. :-)

unwrap это когда ты явно знаешь что тебе не придет ошибка и ты точно уверен в возвращаемом значении.
В норме же ты должен нормально обрабатывать option учитывая что там может прилететь что-то не то, ошибка.

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

53. "Доступен язык программирования Rust 1.8"  –6 +/
Сообщение от Аноним (-), 16-Апр-16, 03:55 
"Мамой клянус - нэ придёт!", да? А как же тогда заявленная безопасность?

Механизм проверки через option, который по семантике примерно соотвествует сишному switch() -- это то ещё удовольствие. Даже в go поняли что это кретинизм и оставили простые if'ы для проверки.

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

55. "Доступен язык программирования Rust 1.8"  +/
Сообщение от Аноним (-), 16-Апр-16, 06:02 
> -- это то ещё удовольствие. Даже в go поняли что это
> кретинизм и оставили простые if'ы для проверки.

в rust можно проверять и в стиле go.

//go
if x, err := f(); err == nil { ... }
//rust
if let Some(x) = f() { ... }

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

57. "Доступен язык программирования Rust 1.8"  +/
Сообщение от Аноним (-), 16-Апр-16, 09:45 
Заявленная безопасность работает как надо,
если используете unwrap, то Вы должны понимать: "почему именно здесь!", или же для быстрого прототипирования, потому как если будет ошибка программа на нем и упадет, не "замолчав" и далее давая затереть что-то в памяти.

в RUST с безопасностью, в то же время оставлена гибкость, например для сопряжения с уже имеющимся кодом на C есть блоки unsafe, где нет многих ограничений.

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

58. "Доступен язык программирования Rust 1.8"  +2 +/
Сообщение от Аноним (-), 16-Апр-16, 10:05 
> Механизм проверки через option, который по семантике примерно соотвествует сишному switch()
> -- это то ещё удовольствие. Даже в go поняли что это
> кретинизм и оставили простые if'ы для проверки.

Вы видимо дальше первого абзаца в документации с примерами не читали:

есть методы:
expect
...
unwrap_or
unwrap_or_else
позволяющие использовать дефолтное значение или даже функцию:

assert_eq!(None.unwrap_or("bike"), "bike");

https://doc.rust-lang.org/std/option/enum.Option.html#method...

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

64. "Доступен язык программирования Rust 1.8"  +/
Сообщение от freehckemail (ok), 16-Апр-16, 12:08 
> Простейшее std::vector<int> list = {1, 2, 3};
> превращается в
> let mut list: LinkedList<_> = vec![1, 2, 3].into_iter().collect();

Я конечно не профессионал в этих языках, но что-то мне подсказывает, что в первом случае Вы получите вектор, а во втором - связанный список. Это немного разные вещи. ;)

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

101. "Доступен язык программирования Rust 1.8"  +/
Сообщение от Аноним (-), 19-Апр-16, 03:40 
В данном случае это не принципиально, пример был просто чтоб показать во что разворачивается обычное создание списка на rust даже с макросом.

А #68 желаю таким способом инициализировать хотя бы пару десятков элементов. :-)

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

102. "Доступен язык программирования Rust 1.8"  +/
Сообщение от Аноним (-), 19-Апр-16, 09:49 
А в каких компилируемых языках это делается в одну строчку?
Ответить | Правка | Наверх | Cообщить модератору

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

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




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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