OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 19 Март, 2024 05:46

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: Понедельник, 01 Март, 2021 14:11 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
В ответ на вопрос "зачем Раст" некто выдал ценные числа и графики

https://www.quora.com/Is-it-worth-learning-Rust-in-2020

А также ценный аргумент, который нужно использовать:

Машина без тормозов, ремней безопасности и прочего абсолютно безопасна, если ее правильно использовать.

Кстати, какие преимущества в плане безопасности имеет Rust против Оберона?
Кто у нас тут знаток Раста? Валерий Викторович?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 01 Март, 2021 15:49 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Нет, я не знаток.
Просто у меня две книжки по расту есть... :)))))


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 01 Март, 2021 17:06 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Вот тут один знаток Раста сделал обзор на Native Oberon
https://www.youtube.com/watch?v=OJGnpmnXR5w


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 02 Март, 2021 12:40 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Иван Денисов писал(а):
Вот тут один знаток Раста сделал обзор на Native Oberon
https://www.youtube.com/watch?v=OJGnpmnXR5w
не, фильтровать сил нет


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 04 Март, 2021 00:06 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1447
Откуда: Киев
Валерий Лаптев писал(а):
Просто у меня две книжки по расту есть... :)))))
Написанных :D ? Или хотя бы прочитанных?

Info21 писал(а):
Кстати, какие преимущества в плане безопасности имеет Rust против Оберона? Кто у нас тут знаток Раста?
Раз знатоки молчат, придётся слушать незнаек.

1. Переполнение в целочисленной арифметике в явном виде рассматривается как ошибка. В стандартной библиотеке представлен полный спектр функций для корректной обработки переполнений. Наличие разделителей для различимости - 1_000_000
2. Наличие гарантий стандартных указателей о том, что они не 0. В указанных графиках проблема не выделена отдельно, значит она входит в самый массовый класс проблем с буфером.
3. Защита от проблем с перекрытием данных, передаваемых по ссылке. ~ arraycopy(arr,5, arr, 3, 10). Тоже может входить в список проблем с буфером
4. Возможность защитить данные от изменения на большем уровне гарантий.
5. Что-то ещё :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 04 Март, 2021 05:51 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Одну читать очень трудно - она от разработчиков.
Вторую - очень легко, она для начинающих.
Но и там, и там - не акцентируется внимание на надежности.
С точки зрения обучения программированию - не для первичного обучения точно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 04 Март, 2021 09:07 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Comdiv писал(а):
Info21 писал(а):
2. Наличие гарантий стандартных указателей о том, что они не 0. В указанных графиках проблема не выделена отдельно, значит она входит в самый массовый класс проблем с буфером.

Не входит. Это же совсем другая проблема. А не выделена потому, что это не считается проблемой безопасности.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 04 Март, 2021 14:40 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1447
Откуда: Киев
Trurl писал(а):
Не входит. Это же совсем другая проблема. А не выделена потому, что это не считается проблемой безопасности.
В Common Weakness Enumeration входит, хотя, может, в тех конкретных графиках и не рассматривалась как проблема безопасности.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 04 Март, 2021 16:41 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Валерий Лаптев писал(а):
С точки зрения обучения программированию - не для первичного обучения точно.
Спасибо. Ваше мнение тут окончательное.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 05 Март, 2021 12:01 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 987
Откуда: Казань
Добавлю свои 5 копеек. Хочу написать про небезопасность перегрузки функций (когда есть несколько функций с одинаковым именем, но разными типами параметров или разным количеством параметров. Недавно сделал ошибку из-за перегрузки операторов в C#.
Был код следующего вида:
void Func(BaseType t);
{
if (t is ChildType) { Func((ChildType)t); }
}

void Func(ChildType c);
{
// some code
}

Когда добавил дополнительный параметр в
void Func(ChildType c, int additionalParameter)
и исправил в одном месте, не учел, что есть еще код, который я привел выше.

И это привело к бесконечной рекурсии и падению программы во время исполнения (на автоматических юнит тестах, но все же).

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 05 Март, 2021 12:49 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Rifat писал(а):
Добавлю свои 5 копеек.
Ужасы какие. Не могу надивиться на мировое программахерство.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 05 Март, 2021 12:56 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1447
Откуда: Киев
Rifat писал(а):
...
Вы всё правильно пишете, но в следующий раз лучше воспользуйтесь автоматизированными средствами рефакторинга.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 05 Март, 2021 13:23 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
Rifat писал(а):
Был код следующего вида:
void Func(BaseType t);
{
if (t is ChildType) { Func((ChildType)t); }
}
За такое надо гнать из профессии.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 05 Март, 2021 13:31 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1447
Откуда: Киев
Тут недостаточно информации для того, чтобы такое утверждать. Бывает уместным.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 05 Март, 2021 13:45 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
Comdiv писал(а):
Тут недостаточно информации для того, чтобы такое утверждать. Бывает уместным.

Рефакторинг наше всё, не?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 05 Март, 2021 14:11 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 987
Откуда: Казань
Не наше и не всё :)
По крайней мере пока не запретили редактировать текст программы в редакторе. Обычно такие подвохи встречаются не так часто, чтобы опасаться редактировать текст вручную и доверять только автоматическому рефакторингу, который должен все сделать хорошо. На самом я не очень часто пользуюсь автоматическим рефакторингом, если бы пользовался, то, возможно, добавил бы другие 5 копеек, как автоматический рефакторинг сделал не то, что нужно. Или это невозможно?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 05 Март, 2021 17:03 

Зарегистрирован: Пятница, 24 Апрель, 2009 16:28
Сообщения: 563
Откуда: Москва
Александр Ильин писал(а):
Rifat писал(а):
Был код следующего вида:
void Func(BaseType t);
{
if (t is ChildType) { Func((ChildType)t); }
}
За такое надо гнать из профессии.
Хотел написать то же самое, но лень было )


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 05 Март, 2021 18:02 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 987
Откуда: Казань
Небольшие комментарии. Я привел упрощенный пример на 4 строчки, которые поясняют ошибку. В реальном коде там 26 строк и еще проверяются другие типы. И данный код писал не я, так что не надо на меня косо смотреть :) В проекте много людей и развивается много лет, кода тоже много.

Хотелось бы, чтобы комментаторы немного поясняли свое мнение, чем именно они возмущены? Тем, что для разных типов используется перегруженная функция с одним и тем же именем, или чем-то другим.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 05 Март, 2021 18:32 

Зарегистрирован: Пятница, 11 Январь, 2019 19:26
Сообщения: 293
Откуда: Russia
Rifat писал(а):
...
Здесь напрашиваются функторы или даже методы


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 06 Март, 2021 06:37 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
Rifat писал(а):
Не наше и не всё :)
По крайней мере пока не запретили редактировать текст программы в редакторе.
Я всегда рефакторинг делаю только вручную.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB