Выплескивание эмоций

Тема в разделе "Флудилка", создана пользователем alp69, 15 окт 2016.

  1. SergeiL

    SergeiL Оракул Модератор

    Так вот в том то и дело.

    Можно изобретать красивый идеальный велосипед всю свою сознательную жизнь, и так и не поездить на нем. :(
    Я этим много занимался, многое уже работало, а остальное - было в "длительном процессе"...
    А нужен был результат, а не потенциальная возможность его достижения. Особенно когда не так много свободного времени.

    А решение с ESP, Mega+Ethernet, LeonardoETH не важно, будет ли это АрдуиноИДЕ или LUA, связью по MQTT и агрегацией на OpenHAB помогли собрать все, что хотелось, в очень короткие сроки. И все, что хотелось, уже работает, и я этим пользуюсь.
    И по сути то - можно сделать в принципе все что хочется.
    И пускай там это все не совсем оптимально, пускай где то медленно работает, и наплевать, что можно было сделать оптимальней.
    Меня главное радует, что ни одно устройство, а их к OH подключено штук 25, не зависло по неведомой причине ни разу уже за 4 с лишним года.
    И везде все практически линейно.
     
    alp69, AlexU, issaom и ещё 1-му нравится это.
  2. AlexU

    AlexU Гуру

    Да нет там ни какой RTOS, а есть кооперативная ОС -- читай: "почти Абдурино, только вид с боку".
    Могу очень сильно ошибаться, но до использования RTOS ПаровоЗЗ ещё не созрел.
     
    Airbus и ИгорьК нравится это.
  3. ИгорьК

    ИгорьК Гуру

    "Практика, критерий истины", то ли Ульянов, то ли Ленин, то ли товарищ Фёдор сказали.
     
  4. issaom

    issaom Гуру

    Да нет ничего плохого в том, что человек любит собирать велосипед без малейшего шанса когда-либо покататься на нем. Плохо то, что он считает, что и все остальные с утра до вечера должны этим заниматься.... (Нафига нужно знание таймеров в р/у машинке - на виренге задача решается за час и можно ещё и чаю попить)
     
  5. b707

    b707 Гуру

    согласен..
    Я вот сейчас третий (или уже четвертый?) раз за последние 10 лет изучаю испанский язык... зачем? - да бог знает... Мне он по жизни совершенно не нужен... родственников и знакомых там у меня нет, шансоы уехать на ПМЖ - тоже... учу просто так.
    Зато как интересно... это может понять только фанат...

    ЗЫ если кому-то мои высказывания покажутся странными - просьба не обращать внимание. Я сейчас вдупель... модераторы, сотрите если что не так пишу.
     
    alp69, Airbus и ИгорьК нравится это.
  6. Igor68

    Igor68 Гуру

    Доброго времени суток!
    Это опять по языки программирования. И совсем не критика. И так... (какие бы то ни пирдуны ни были)... вспоминаем/читаем:
    - Выполняемая программа это бинарный массив кода если это откомпилированная программа (Asm/C/C++) и работает
    самостоятельно и достаточно только в счётчик команд загрузить только стартовый адрес. Возможно под управлением ОС,
    которая соблюдая правила выполняет этот код практически так, как будто эта программа работает самостоятельно.
    -- Если выполняемая программа это инструкции для интерпретатора(Питон и др), то сначала запускается этот самый
    интерпретатор(который создан с помощью Asm/C/C++). Он в свою очередь извлекая инструкции(программы этого
    для самого интерпретатора) выполняет их... этот интерпретатор может применять и подгружаемые библиотеки если
    сам не в состоянии выполнить те или иные инструкции. Библиотеки могут быть созданы как на Asm/C/C++, так и инструкции
    для этого интепретатора.
    В любом случае процессор понимает только набор своих команд(для каждого процессора свой набор команд). Эти инструкции основаны на работе с регистрами, с памятью и т.п. используя свой набор методов адресации и пр.

    В итоге:
    *** Выполняемый код - (bin,hex) массив кода, которому передаётся управление(сказано выше) со всеми вытекающими(сказано ранее).
    *** Создаётся код так: Asm-->bin/hex; (C/C++)-->bin/hex или (C/C++)-->Asm-->bin/hex. Идеально это конечно Asm, такие как C/C++ и ещё ряд языков, результатом работы которых является исполняемый самостоятельный код. Наиболее приближенный к Asm есть C/C++, которые обладают всеми свойствами языков высокого уровня. Ряд языков допускают в исходники вставлять Asm инструкции, что позволило выполнять низкоуровневые инструкции.
    *** Как и ранее говорилось программа для интерпретаторов запускаются им и содержат инструкции для него же. Удобство только в тем, что имея один интерпретатор можно выполнить множество разного кода для создания которого нужен только текстовый редактор. Вторым достоинством является то, что идентичные интерпреторы имеются на разных платформах... и программы соответственно совместимы. Но недостатком их ВСЕГДА значительно более низкое быстродействие по сравнению с исполняемым кодом.

    Это вовсе не спорное сравнение... это просто реальность.
     
    parovoZZ нравится это.
  7. KindMan

    KindMan Гуру

    Понедельник же? :)

    Я вот хоть и трезвый был, но вчера пол дня потратил. Понравился пост @ИгорьК про сопряжения Алисы с Node Red и решил себе добавить в свою систему управления освещением. Для чего, это другой вопрос, просто ради интереса и самообразования. Есть у меня плата компьютера, вытащенная из старого плазменного телевизора, она у меня типа малины для тестов. Всё заработало сразу и вчера купил себе Orange pi, чтобы воткнуть к имеющейся абдурине и esp8266. Закачал образ на сд-карту. Спаял dc-dc сразу, поскольку буду пихать уже в имеющееся устройство, но потом, поскольку это первый мой опыт с одноплатником, решил запитать её от лабораторника. Подцепил putty к uart и включаю... горят лампочки на ЛАН модуле и тишина. Ток 80мА потребляет, ничего не скачет. По прочтению мануалов, должно сразу что-то в uart пулять мне и загореться диоды на плате... но фиг вам, как говорил Шарик. Чтение интернетов указывает на 99% вероятности, что дело в флэшке и|или образе. Скачано было штук 20, на 3 разные карты писалось, тремя разными программами. Хрен. На том компьютере, где скачивал образы, нет переходника под sd, и поэтому приходилось таскать через флэшку на другой комп и записывать. Один раз заметил битый файл и начал проверять все хэши. Потом наткнулся, что надо анроидом попробовать залить, типа он точно работает, и есть люди, которые так же отчаялись запустить апельсинку, подтверждающие это. Опять никак. Уже готовлюсь завтра нести в магазин, на проверку, но ведь засмеют если работает. И снова пара-тройка часов на попытки. Измерил все напряжение на стабилизаторах на плате - всё чётко. Повышал слегка напряжение до 5,3 - народ тоже говорил, что не хватало, но у меня запас чумовой и все циферки на лабораторнике это подтверждают.
    И потом мелькнула мысль, которая и стала правильной в итоге.
    А что бы вы, уважаемые участники форума мне посоветовали сделать?
    P. S. Сори, что так длинно, прям бесит теперь, когда понял, в чем дело было.
     
  8. Un_ka

    Un_ka Гуру

    • Проверить контакты между sd картой и устройством.
    • Смотреть какой и для кого образ ставите.
    • Замыкался контакт а-ля Run?
    • Контакты rx tx неправильно соеденины.
    • Образ требует интернета?
     
    Последнее редактирование: 28 дек 2020
  9. ИгорьК

    ИгорьК Гуру

    Всегда более низкое быстродействие не всегда является недостатком.

    Обратное: недостатком Си является ВСЕГДА более низкая скорость разработки, чем любом высокоуровневом языке.
    И вот здесь уже не скажешь - не всегда :)
     
  10. Airbus

    Airbus Радиохулиган Модератор

    Думаешь врет? Это он могет
    Понимаю тебя! Тоже учу его третий раз за 30 лет. Первый раз в Училище в 1984 году когда с нами учились кубинцы. Мы их учили русскому они нас испанскому.
    А достоинством—более высокая скорость разработки чем на низкоуровневых языках типа Асма? Харе флешками мерятся Давайте лучше поговорим о том что реально бесит
     
    Feofan и ИгорьК нравится это.
  11. SergeiL

    SergeiL Оракул Модератор

    Для меня бОльшим плюсом компиляции было выявление опечаток в названия переменных и ошибок преобразования типов и т. п. на этапе компиляции.
    У меня варнинги всегда на максимум, и если есть, пока не разберусь, даже не пытаюсь запускать.
     
    ИгорьК нравится это.
  12. Airbus

    Airbus Радиохулиган Модератор

    У меня есть друг. Первую машину он купил в 50 лет будучи капитаном Боинга 747 Трансаэро. До того все ждал выхода более новой и крутой версии. Сначала хотел ВАЗ2108 потом ждал появления ВАЗ2109 потом ВАЗ21099 поскольку это круче. Потом грит нуенафиг хочу Ауди 80. Потом ждал выхода Ауди А4 потом думал про А6 читал тесты и отзывы. Потом мечтал о Мерсе изучал виртуально. Ездил на Метро и автобусе. В машинах разбирался идеально знал все сильные и слабые места любой иномарки и ВАЗа. Так прошло 30 лет. И таки купил—видимо Люся его жена плешь ему проела таки. Опель Антару. А я за эти 30 лет поездил на всех и разных машинах. От Маскича 408 до Лендкруза
     
    ИгорьК нравится это.
  13. ИгорьК

    ИгорьК Гуру

    Ошибки и опечатки и интерпретатор выявляет, а нестрогая типизация - вообще песня.
    Пришла температура в числовом виде, делаешь
    Код (Lua):
    t = ""..t -- превратил в текст, что-то добавил из буков и отправил на брокер.
    -- пришло время измерять температуру
    -- эту же переменную отправляешь за получением цифры
     
  14. SergeiL

    SergeiL Оракул Модератор

    Я имею в виду - есть, например, переменная vall (две маленькие LL в конце).
    Потом ошибаешься и пишешь valI (маленькая L и большая i).
    И ведь хрен же найдешь эту ошибку :(
     
  15. ИгорьК

    ИгорьК Гуру

    Разве Си такое пропустит? Сразу андефайнед закричать с указанием места.
     
  16. SergeiL

    SergeiL Оракул Модератор

    Си такое не пропустит.
    Это проблема языков без объявления переменных.
     
  17. ZAZ-965

    ZAZ-965 Гуру

    Какие модель и процессор? На процессорах H2\H3\H5 использовал Armbian и LibreElec, образы пишу Win32DiskImager.
     
  18. AlexU

    AlexU Гуру

    Это Ваша реальность, а я попробую в общих словах рассказать про реальную реальность.
    Язык Java тоже создаёт бинарный код, вот только он может выполняться на специальных процессорах, которых, увы, в железе не существует (хотя есть Jazelle, но пока оставим эту технологию за рамками рассмотрения). Но есть виртуальные машины типа Qemu, но называемые Java Virtual Machine -- JVM. Эти виртуальные машины позволяют выполнять бинарный код, генерируемый компилятором Java.
    Python так же создаёт бинарный код, но свой (для своей виртуальной машины). В отличие от Java нет аппаратных реализаций в виде Jazelle.
    А дольше ещё интересней. Есть скриптовый язык JavaScript (не смотря на похожее название, к Java ни какого отношения не имеет -- это два абсолютно разных языка). Так вот в версии 8 этого языка появилась магия в виде JIT -- Just In Time компиляция -- компиляция во время выполнения. Простыми словами: при запуске JavaScript'а интерпретатор на лету из скрипта создаёт бинарный код под целевую платформу и в итоге выполняется этот бинарный код. И вот вопрос -- это интерпретатор или компилятор?
    Это ускорило выполнение скриптов JavaScript почти до уровня C/C++ программ (ходят слухи, что даже в некоторых случаях JavaScript работает быстрее, чем код C++, написанный "одарёнными" программистами). Правда стоит отметить, что это принесло кучу проблем с безопасностью -- стал возможным взлом систем через JavaScript'ы (особенно при открытии опасных страниц в браузере), т.к. интепретатор не особо мог контролировать выполнение бинарного кода, полученного на основе скриптов. Но вроде как эти проблемы решили, ключевые слова -- "вроде как".

    Так что на ассемблере свет клином не сошёлся.

    Развитие не стоит на месте. Конечно ни Ассемблер, ни С, ни С++ в ближайшее время в историю не уйдут. Но потесниться им придётся.
     
    Последнее редактирование: 28 дек 2020
    SergeiL, issaom и ИгорьК нравится это.
  19. AlexU

    AlexU Гуру

    Не знаю. Он создавал темы про RTOS, которые по факту к RTOS ни какого отношения не имели.
     
  20. ИгорьК

    ИгорьК Гуру

    Это только кажется. Да, у тебя появится некая "лишняя" переменная, но далее ты же с "настоящей" что-то будешь делать, и оно явно не получится, что видно сразу.

    Просто поверь, отсутствие явного указания типов и возможность их менять по ходу дела - это жупел для пугания среди тех кто привык к типизации.

    Это гораздо удобнее, чем опасно.
    Да, это потенциально может приводить к ошибкам, но думаю ты не слышал воя среди JS кодеров "верните нам строгую типизацию - погибаем!"

    Что касается отлова, то (лично я привык) выводить в цикле в любое время исполнения кода таблицей перечень глобальных переменных, там все видно. Если это локальная - ну там сама функция закосячит и все вылезет.

    В общем, отсутствие типизации и "меееедленно" - всего два "греха", которым пугают маленьких детей :)