NEO
-
Публикации
1 436 -
Зарегистрирован
-
Посещение
-
Победитель дней
78
Сообщения, опубликованные пользователем NEO
-
-
12 часа назад, LeshaInc сказал:Исключения скрыты в дебрях кода, и по сигнатуре функции не понятно, возможна там ошибка или нет. noexcept с этим особо не помогает... В расте же функция возвращает `Result<T, E>` — ты обязан обработать ошибку, через `.unwrap`, `match`, или `?`
Согласен, исключения в плюсах убогие, тем более замедляют код и заставляют разбухать бинарь, они легко вызывают утечки памяти и ресурсов без блока finally, я уже давно сделал вывод что плюсы - это си после таксидермиста, убогое чучело набитое соломой. Кучи способов инициализации, кто такое придумал и зачем? int a = {0}, int a {0};
Даже не смотря на убогую наркоманию в шаблонах - они безумно медленно компилируются, последний раз я использовал библиотеку sol2, - это враппер для луа, красивый, весь такой, шаблонный, подключив хедер и создав стейт, сей файл уже начал собираться ~7 секунд, а это было 30 строк кода и 5 из них обращения к библиотеке.
-
3
-
-
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 часа назад, hohserg сказал:Достаточно в ./gradle/wrapper/gradle-wrapper.properties поменять версию на gradle-2.6 и все заработает
У нас не так всё просто... там еще поддержку http отключили в репозиториях.
Мы еще используем другой плагин для форджа - для возможности использовать более свежую версию gradle, так как старые версии не работают с новой idea.
-
-
Да, кстати, под 1.7.10 форж протух и надо писать свой билд скрипт или искать, так же надо версию апать, это если что про gradle.
-
2 часа назад, Totoro сказал:Но чисто с практической точки - удобства написания кода - проще скачать IDE.
Но с точки зрения, компилировать руками - это тоже самое что использовать бумажную карту, в голове начинает откладываться представление о городе, но в аналогии использование иде - это как использовать GPS, точка А и Б, тупо едешь или идёшь не представляя где ты...
-
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
-
-
2 часа назад, eu_tomat сказал:Эта тема посвящена описанию моего будущего опыта разработки мода OpenComputers.
Дело это муторное, пулл реквесты могут годами не проходить...
По моему виденью - что бы разрабатывать мод OpenComputers, как минимум надо сидеть в ирц и с разрабами общаться, что бы они в всерьез воспринимали тебя.
-
1
-
-
2 часа назад, Avevad сказал:Оскорбляете меня, товарищ Neo.
Эволюция языков: FORTRAN — не строго типизированный язык, С — слабо типизированный язык. Ada — сильно типизированный язык. С++ — сильно раздутый язык.
-
3
-
-
1 час назад, ArtHacker сказал:там сразу идёт mingw cmake и всякое разное другое нужное
msys2 надо ставить
-
Мне лень в говени плюсовом копаться что бы собрать под винду, забыл их и не хочу разбираться заново . Ничего личного.
-
По моим наблюдениям, CMake работает нормально только на линухе.
-
@Avevad Нужен правильный скрипт для билдинга, сейчас этот код собирается только на линуксе. Нужно подключить правильно зависимости через find_package и заинклюдить.
-
Почему то кажется что ваши дюпы работают только в сингле, дуб уже панику поднимал что якобы из компов можно получать пароли с помощью программы для сканирования памяти, оказалось всё банально, он в сингле сканировал поток сервера где очевидно был луа стейт.
-
В принципе, возможно что чанк просто не сохранился и использовался старый файл, ибо механизм специального отката явно странный и тающий в себе кучу дюпов. Возможно файл с чанком не испевает закрываться из-за этого сохранение мира пропускает его. Но вопрос в том, почему файловый дескриптор не закрыт... Возможно не успевает гц сработать и закрыть его... но я не уверен.
У Самой сути проблемы странное поведение, для меня видны потенциальные камни, например, у нас происходит загрузка чанков и в этот момент сохранение, в этом случае сохранение может сбиться, но это должно из разных потоков происходить.
-
Что вообще такое откат чанка? Дуб вроде бы говорил про дюп робота.
-
1
-
-
Наверно, если робот переместится в другой чанк - то он выгрузится и чанклоадер не успеет его загрузить, очевидно что автор предусмотрел такой ход и загружает чанк по мере приближения к нему, если я правильно понял.
Хотя при переходе в другой чанк - он должен загружаться.
-
5 минут назад, eu_tomat сказал:Ты про какую проблему? То, что роботы на сервере пропадают? Да, подтверждаю. То, что роботы дюпаются, тоже есть свидетели. Примерная ситуация известна. И её надо научиться воспроизводить. Вон, @Doob говорит, что умеет. Далее надо зафиксировать рассинхронизацию программной навиагации с положением робота в чанке. Я тоже попробую поработать над этим. Как смогу, конечно.
Условия соблюдены где нет других модов или плагинов?
-
В 07.05.2020 в 20:29, eu_tomat сказал:Понятно. Чем больше чанков стоит в очереди на выгрузку, тем дольше будет выгружаться очередной чанк, поставленный в очередь.
Есть объяснение "случайному" времени выгрузки.
Как мы можем использовать это знание, при этом не зная, сколько чанков ожидает выгрузки в данный момент?
Никак ты не узнаешь без жавы. Ну а вообще всё что тут обсуждаем - выясняется в дебаггере жавы, остальное бесовщина неточная.
И откатка чанков врядли происходит, если что-то не правильно грузит - майн крашится.
имхо, но решать проблему который нет, бессмысленно, нужно её хотя-бы зафиксировать. Кто-то там сказал, какая-то бабка на ухо прошептала, камон парни, с каких пор такое работает?
-
2 минуты назад, eu_tomat сказал:Я уже начал терять цель, к которой ты пытаешься подвести. В чём твоё предложение?
К тому что "рандомное" время выгрузки зависит от скорости той самой выгрузки, в майне работает балансировщик выгрузки.
-
1
-
-
Чанки выгружаются по 100 за один тик, а так они сразу попадают в список на выгрузку.
-
1 минуту назад, eu_tomat сказал:Это идея @hohserg , он хочет управлять загрузкой чанка с точностью до тика. Я же пока не готов погружаться в Java.
Загрузка чанков... хм... чанклоадер так делает.
-
4 минуты назад, eu_tomat сказал:Так и в чём проблема? Пусть синхронизирует. Нашей задачей будет синхронизация не просто с тиком, а с нужным нам тиком.
Зачем?
-
8 минут назад, eu_tomat сказал:Врата тоже с тиками синхронизируются, но это не мешало им загружать произвольный чанк, даже не содержащий врата.
Это был костыль разработчика не связанный с оской, оска любой метод синхронизирует с тиком.

Ocelot - продвинутый эмулятор OpenComputers
в Эмуляторы
Опубликовано:
Подстраиваться под калькуляторы - дело храбрых, пожелаем удачи.