Перейти к содержимому

NEO

Пользователи
  • Публикации

    1 436
  • Зарегистрирован

  • Посещение

  • Победитель дней

    78

Сообщения, опубликованные пользователем NEO


  1. 12 часа назад, LeshaInc сказал:

    Исключения скрыты в дебрях кода, и по сигнатуре функции не понятно, возможна там ошибка или нет. noexcept с этим особо не помогает... В расте же функция возвращает `Result<T, E>` — ты обязан обработать ошибку, через `.unwrap`, `match`, или `?`

     

    Согласен, исключения в плюсах убогие, тем более замедляют код и заставляют разбухать бинарь, они легко вызывают утечки памяти и ресурсов без блока finally, я уже давно сделал вывод что плюсы - это си после таксидермиста, убогое чучело набитое соломой. Кучи способов инициализации, кто такое придумал и зачем? int a = {0}, int a {0};

    Даже не смотря на убогую наркоманию в шаблонах - они безумно медленно компилируются, последний раз я использовал библиотеку sol2, - это враппер для луа, красивый, весь такой, шаблонный, подключив хедер и создав стейт, сей файл уже начал собираться ~7 секунд, а это было 30 строк кода и 5 из них обращения к библиотеке.

    • Нравится 3

  2. 39 минут назад, Avevad сказал:

    С++ - это по сути что? С. Только улучшенный. Все что ты сейчас видишь на экране монитора - тем или иным образом написано на одном из трех: C/C++/Assembler (Java, Lua, Python - интерпретаторы/компиляторы/VM этих языков тоже написаны на одном из вышеперечисленного, думаю это ты и так знаешь). C - жуткая функциональщина, assembler - вообще молчу. Не знаю, чем тебе C++ не угодил. ООП гораздо удобнее чем всякие struct с зоопарком функций манипулирующих ими.

     

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

    Зайди к нам в irc, тебе парни набросают миллион причин почему плюсень плохой язык...

    Один из примеров.

    @LeshaInc1. переусложненный 2. куча легаси 3. повсюду undef/unspec behaviour 4. инфраструктура отсутствует, головная боль с зависимостями 5. обновляется раз в 5 лет, и то в продакшене неиспользуют

     

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


  3. 3 часа назад, hohserg сказал:

    Достаточно в ./gradle/wrapper/gradle-wrapper.properties поменять версию на gradle-2.6 и все заработает

    У нас не так всё просто... там еще поддержку http отключили в репозиториях.

    Мы еще используем другой плагин для форджа - для возможности использовать более свежую версию gradle, так как старые версии не работают с новой idea.


  4. 2 часа назад, Totoro сказал:

    Но чисто с практической точки - удобства написания кода - проще скачать IDE.

    Но с точки зрения, компилировать руками - это тоже самое что использовать бумажную карту, в голове начинает откладываться представление о городе, но в аналогии использование иде - это как использовать GPS, точка А и Б, тупо едешь или идёшь не представляя где ты...


  5. 25 минут назад, eu_tomat сказал:

    Задача:

    Исполнить какой-нибудь простой код, написанный на Java.

    Мой путь к решению:

    В первом попавшемся поисковике я набираю фразу «java helloworld» и почти сразу нахожу какой-то код:

    
    class HelloWorld {
        public static void main(String[] args) {
            System.out.println("Hello World!");
        }
    }

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

     

    В тех же статьях про хелоуворлды обычно говорится, как этот код скомпилировать и запустить. Если в найденной статье об этом не сказано, поможет поисковой запрос «java compilation command». Также ничто не мешает совершать поисковые запросы и на русском или любом другом языке, например «запустить первую программу на java». Как правило, базовые знания доступны на множестве разных языков.

     

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

    
    # apt install default-jdk

    Теперь javac успешно запускается, и я перехожу к компиляции кода:

    
    $ javac HelloWorld.java

    По итогу компиляции в рабочей директории появился файл HelloWorld.class. Теперь я запускаю скомпилированную программу:

    
    $ java HelloWorld
    Hello World!

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

    Результат:

    Я смог скомпилировать и запустить на выполнение свой первый код, написанный на Java. Дверь в разработку на Java открыта.

    Лучше IDE поставь. Например Intellij Idea - фаворит среди разработчиков на жаве, скале, котлине и андроид, под андроид называется по другому, но движок тот же.

    • Нравится 1

  6. 2 часа назад, eu_tomat сказал:

    Эта тема посвящена описанию моего будущего опыта разработки мода OpenComputers.

    Дело это муторное, пулл реквесты могут годами не проходить...

    По моему виденью - что бы разрабатывать мод OpenComputers, как минимум надо сидеть в ирц и с разрабами общаться, что бы они в всерьез воспринимали тебя.

    • Нравится 1

  7. 2 часа назад, Avevad сказал:

    Оскорбляете меня, товарищ Neo.

    Эволюция языков: FORTRAN — не строго типизированный язык, С — слабо типизированный язык. Ada — сильно типизированный язык. С++ — сильно раздутый язык.

    • Нравится 3

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


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

     

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


  10. Наверно, если робот переместится в другой чанк - то он выгрузится и чанклоадер не успеет его загрузить, очевидно что автор предусмотрел такой ход и загружает чанк по мере приближения к нему, если я правильно понял.

     

    Хотя при переходе в другой чанк - он должен загружаться.


  11. 5 минут назад, eu_tomat сказал:

    Ты про какую проблему? То, что роботы на сервере пропадают? Да, подтверждаю. То, что роботы дюпаются, тоже есть свидетели. Примерная ситуация известна. И её надо научиться воспроизводить. Вон, @Doob говорит, что умеет. Далее надо зафиксировать рассинхронизацию программной навиагации с положением робота в чанке. Я тоже попробую поработать над этим. Как смогу, конечно.

    Условия соблюдены где нет других модов или плагинов?


  12. В 07.05.2020 в 20:29, eu_tomat сказал:

    Понятно. Чем больше чанков стоит в очереди на выгрузку, тем дольше будет выгружаться очередной чанк, поставленный в очередь.

     

    Есть объяснение "случайному" времени выгрузки.

    Как мы можем использовать это знание, при этом не зная, сколько чанков ожидает выгрузки в данный момент?

    Никак ты не узнаешь без жавы. Ну а вообще всё что тут обсуждаем - выясняется в дебаггере жавы, остальное бесовщина неточная.

    И откатка чанков врядли происходит, если что-то не правильно грузит - майн крашится.

     

    имхо, но решать проблему который нет, бессмысленно, нужно её хотя-бы зафиксировать. Кто-то там сказал, какая-то бабка на ухо прошептала, камон парни, с каких пор такое работает?


  13. 2 минуты назад, eu_tomat сказал:

    Я уже начал терять цель, к которой ты пытаешься подвести. В чём твоё предложение?

    К тому что "рандомное" время выгрузки зависит от скорости той самой выгрузки, в майне работает балансировщик выгрузки.

    • Нравится 1

  14. 1 минуту назад, eu_tomat сказал:

    Это идея @hohserg , он хочет управлять загрузкой чанка с точностью до тика. Я же пока не готов погружаться в Java.

    Загрузка чанков... хм... чанклоадер так делает.


  15. 8 минут назад, eu_tomat сказал:

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

    Это был костыль разработчика не связанный с оской, оска любой метод синхронизирует с тиком.

×
×
  • Создать...