Ржавчина (Rust)

Тема в разделе "WASM.BEGINNERS", создана пользователем asmlamo, 21 фев 2021.

  1. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    В раст нет гц, спецы такие спецы, ой хоспаде прости.
     
  2. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.348
    Так скоро появится же. Чем больше компилятор помогает командному девелоперу за зарплату, тем лучше же :)
     
  3. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.241
    млин, сколько десятков лет проходит и эта деццкая задача постоянно вылезает:bad: ну-напиши на си сохранение адресов возврата и перед возвратом функи проверяй валидность адреса возврата или напиши функу, коя будет контролировать размер данных помещаемых в буфер.
    ох, не надо рассказывать == тот же gcc выкидывает портянку предупреждений например, int b; u64 a; b = a; вызовет предупреждение компиля. а, вообще, компиль не может эффективно отлавливать логические ошибки, пч..

    1. они обычно образуются в динамике и помимо внутренних ошибок кода есть куча внешних.
    2. чтобы отлавливать ЛО, их надо чётко сформулировать в виде тех же юнит тестов.
    3. ЛО могут накапливаться, тч их отлов автоматикой зачастую имеет большую ресурсоёмкость.
    возвращать указатель на локальную переменную -- это далеко не самая мутная ошибка, куда забавней удаление шаровых ресурсов во много-потоке :crazy::crazy::crazy: Вообще, прогер должен чётко знать, что Абсолютно Надёжных Кодов нет и быть не может. Тч прогер должен не гнаться за невозможным, а просто уметь описать пределы устойчивости своего кода. А разрабы супер-пупер яп-ов не могут воткнуть тот простой ФАКтЪЪЪ, что, отбросив всю мишуру их супер-пупер фич, остаётся схема древняя акь Х@ФЪ№о мамонта == прогер → яп → компиль → линкёр → бинарь. для реального же развития нужно == прогер → (полуавтомат) → яп → полуавтомат → бинарь, то бишь нужна не очередная жалкая поделка с лейблом "супер-пупер яп", а ЭКОСИСТЕМА разработки с максимальной автоматизацией рутинных процессов. для решения этой задачи яп должен быть ОДИН и с/с++ тут наилучший кандидат, пч базовые коды в основном на с/с++.
     
    youneuoy нравится это.
  4. Entropy

    Entropy Member

    Публикаций:
    0
    Регистрация:
    23 авг 2020
    Сообщения:
    185
    что наиболее полно ответить на этот вопрос,надо его затестить в деле
     
  5. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    603
    Является ржавчина ЯП с zero runtime?
     
  6. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    Зависит от того, что ты подразумеваешь под этим термином. По-умолчанию Rust зависит от своей и от сишной стандартной библиотеки. Можно использовать специальный режим no_std, при использовании которого можно генерировать независимый ни от каких рантаймов код.
     
  7. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.348
    При котором станет недоступным все, что делает раст таким безопасным и замечательным и ты познаешь страдания, пытаясь написать на нем что-либо сложнее однострочного хелловорлда :)
     
    UbIvItS нравится это.
  8. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    603
    То есть, полноценно раст никак не может заменить С/С++? Ну и тем более ассемблер.
     
  9. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.348
    Intro,
    Ну, заменить-то он может, но ты можешь посмотреть, как на расте выглядит гуевый софт на винапи и сразу станет очевидно, надо ли оно тебе :)
     
    UbIvItS нравится это.
  10. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    Почему не может?
     
  11. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
  12. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
  13. Microedition

    Microedition Active Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    814
  14. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    Вообще Линус - знатный спецовый цешник, очень странно от него это слышать.
     
  15. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    603
    Тут столкнулся со смешным багом в менеджере 4G LTE модем, если за сессию скачиваешь больше 4 гигабайт, то график траффика и объем уже не отображается, на лицо детский баг о переполнении dword'а. Вот может ли этот раст такие баги упреждать. Хотя вроде как тут сам погромист накосячел, баг реально совершенно детский.
     

    Вложения:

  16. R81...

    R81... Active Member

    Публикаций:
    0
    Регистрация:
    1 фев 2020
    Сообщения:
    153
    Так как вы пишите, "...4 гигабайт... dword..." напрашивается беззнаковое целое, со всей, вряд ли учитываемой в языках высокого уровня, спецификой работы, т.е. про-гавнисту надо объявлять аналог Int8 или float4.
    Соотв. баг, начиная с 2Г, должен бы фиксироваться языком.
     
  17. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    Насколько я помню, у Раста вызывается паника при переполнении интегеров только в дебажной сборке. Не помню, можно ли собрать релизную версию с этими проверками или нет. Так что скорее всего Раст бы не помог, так как гуанокодеры бы просто не протестили ситуацию с возможным переполнением. На этапе компиляции, я думаю, что невозможно проверить все такие вещи, как переполнение интегеров.