(no subject)
Аааа, в моих интернетах не все преклоняются перед Хаскелем!:
потом товарищ уволится, или его наконец уволят, сей говнокод выкинут к ебеней матери и вменяемый программист перепишет обычным scanf'ом за пару часов, и спокойно пойдет на обед. код будет работать на порядки быстрее и занимать меньше будет, любой другой программист поймет и сможет поддерживать.
к чему вся эта рекурсивная самоебля?
потом товарищ уволится, или его наконец уволят, сей говнокод выкинут к ебеней матери и вменяемый программист перепишет обычным scanf'ом за пару часов, и спокойно пойдет на обед. код будет работать на порядки быстрее и занимать меньше будет, любой другой программист поймет и сможет поддерживать.
к чему вся эта рекурсивная самоебля?
no subject
no subject
в 8..20 ногом корпусе бывают? Не везде нужно да и не везде лезет какой-нибудь plcc-48.
>А для хаскеля на контроллере придется брать еще нечто пожирнее, потому что память ест непредсказуемо.
Вот-вот. :) вместо простого быстрого решения, влезающего в 8ножку, мне предлагают нечто еще более эпическое чем 'propeller'(tm) :)
no subject
Хаскель в контроллерах и правда не очень круто. А вот эрланг - интересненько. Можно было бы сети делать из контроллеров с удаленным обновлением кода.
no subject
это и на сях делается.
В случае всякой мелочи - бутлоадер или обмена скрипта для интерпретатора внутри контроллера.
в случае крупного - обычный линух с обычными ссш/дпкг/крон/итд.
20 ног иногда таки много. Чисто по размерам корпуса.
no subject
20 ног многовато, да. Ну может сделают 8ногую версию когда-нибудь. Чтобы например I2C/UART/ADC мультиплексированные, а остальное питание, земля, сброс и кварц.
no subject
на сях уже всё сделано. Ставим линух и имеем готовую отлаженую инфраструктуру. (если контроллер достаточно жирный для линухов)
> нехилые возможности по удаленному администрированию
А можно весь список? ссш, естественно, не под виндой, а на нормальных ос.
> Кроме того ин-мемори хранилище данных, альтернатива которым для железа сейчас только Sqlite, что явный перебор.
у питона тоже есть что-то аналогичное, но я оба языка с их средами тщательно не щупал.
кстати, а как у эрланга с гарантиями-реалтаймами? В сях я могу гарантировать, что вот этот код заведомо выполнится менее чем за Х тактов, а в любых средах с автосборкой мусора эта гарантия почти гарантированно пропадает или требует серьезных костылей.
>20 ног многовато, да. Ну может сделают 8ногую версию когда-нибудь. Чтобы например I2C/UART/ADC мультиплексированные, а остальное питание, земля, сброс и кварц.
Кварц зачастую не нужен. 2 питания, 1 ресет, остальные 5 ног мультиплексированные. Ну или ресет тоже мультиплексированная, но тогда программирование будет чуть затейливее чем у авр через spi.
no subject
Почитай про распределенные приложения в Эрланге. Будешь удивлен. :)
"А можно весь список? ссш, естественно, не под виндой, а на нормальных ос."
Например, возможность поставить трейс на любой вызов не меняя кода. Сделать вызов процедуры прямо из шелла. Скомпилировать изменения в модуле также прямо из шелла и сделать горячую замену.
"кстати, а как у эрланга с гарантиями-реалтаймами?"
У Эрланга софт-риалтайм. Честно говоря, не совсем понимаю что это такое, но звучит круто. :)
no subject
В целом же Эрланг делался Эриксоном как раз для АТС, набранных из нескольких вычислительных нод и находящихся где-нибудь у чёрта на рогах. Отсюда удалённая консоль из коробки, отсюда возможность трейса всего и вся наживую, отсюда возможность замены любого кода прямо на лету, причём, возможно, с вызовом кода для смены состояния системы в новый формат. Отсюда куча разнообразных средств для обработки и изоляции ошибок, в т.ч. программиста.
no subject
А почему эрланг так малопопулярен, если он так крут?
no subject
Зависит от того, что нужно. Есть готовые сборки под Gumstix/Beagle вот тут http://www.erlang-embedded.com/ , под ARM компилируется без проблем вроде. По производительности можно брать «чуть быстрее cpython», если не брать в расчёт JIT (я не знаю, работает ли он на ARM). Слышал из первых уст, что кто-то пилит бортовые компьютеры для авто на Erlang'е, ну и Erlang Solutions много рассказывали о том, как они двигают Erlang в embedded — сборки, поддержка от вендоров железа, тестирование на разном железе. Думаю, если заинтересуют, можно с ними связаться.
>А почему эрланг так малопопулярен, если он так крут?
Потому что основная часть софта в количественном плане — сайты по продаже виагры на пхп, там эрланг не нужен.
no subject
Rule of thumb: if the embedded system can run an operating system like linux, then it is probably possible to get current implementations of Erlang running on it with a reasonable amount of effort. Getting Erlang to run on, say, an 8 bit CPU with 32kByte of RAM is not feasible. People successfully run the Ericsson implementation of Erlang on systems with as little as 16MByte of RAM. It is reasonably straightforward to fit Erlang itself into 2MByte of persistant storage (e.g. a flash disk).
no subject
Вот что-то подобное для 8-биток было бы реально интересно.
no subject
no subject
Ну, малоногое маложручее иногда таки нужно.
Плюс, зачвстую, чисто топологически удобнее поставить стадо мелких 8-биток и не тянуть например тучу силовых проводов по всей конструкции.
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
no subject
no subject
Еще в качестве примера, у современных GSM модулей разрешено использовать внутренности мощного проессора (ARM9 как правило) для пользовательских нужд. Варианты языков для внутреннего приложения: C, C++, Lua, Python. В этом свете киллер-фича автора становится бледноватой. :)
no subject
А виртуальная машина это, в некотором роде, хорошее средство сжать код и сделать кошерные бутлоадеры да защиты от ошибок.
no subject
no subject
По поводу "модемы разрешают" --- да вы сами видели эти модемы и что они разрешают? Не говоря о том, что использовать нетипизированные или динамически-типизированные языки для скриптинга устройств --- это бред.
no subject
Совсем не факт. На кортексах делают зигби контроллеры, где энергопотребление решает. Можно было бы порыться в даташитах, чтобы уточнить, но там не всегда честные цифры пишут. Кроме того, есть еще и энергопотребление модема. Спят они, конечно, неплохо, но там ведь внутри тот же ARM9 + DSP и на этом фоне экономить микроамперы при помощи MSP не представляется реально обоснованным. Опять же, нужны конкретные цифры, что вы реально сэкономили этим процом.
"По поводу "модемы разрешают" --- да вы сами видели эти модемы и что они разрешают? Не говоря о том, что использовать нетипизированные или динамически-типизированные языки для скриптинга устройств --- это бред."
Видели. Действительно, не впечатляют. Но возможностей, на мой взгляд больше, чем у вашего решения.
no subject
Насчет возможностей действительно интересно. Можете привести какие-нибудь доводы?
no subject
Доводы: куча ОЗУ и флэша нахаляву, приличный API, как правило есть API для файловой системы, FTP, HTTP. Бывает готовый SSL, который вы на MSP430 ни в жисть не реализуете. Минусы тоже есть, но для трекеров не особо критичны.
no subject
Т.е задача была --- скриптинг на MSP430 c безопасной дистанционной проливкой, которая и сделалась. Не выбор процессора. Не установка модема телит или подобного.
"Впечатляющий объем работ" это всего-то 2000 строк на окамле + сотни три строк рантайма на си, т.е достаточно быстро, просто и дешево, в чем и был главный пойнт статьи, жалко что не удалось донести.
no subject
Можно просыпаться изредка и выполнять скрипт.
"Опять же, откуда взялись нафик ненужные FTP и SSL?"
Ну сейчас может не нужные, а потом понадобятся.
"И самое главное --- откуда вам известны спецификации трекеров?"
Мне они неизвестны.
"Т.е задача была --- скриптинг на MSP430 c безопасной дистанционной проливкой, которая и сделалась. Не выбор процессора. Не установка модема телит или подобного."
Ну я же изначально поставил под вопрос именно постановку задачи. К её решению претензий нет. Если так уж сложилось, что задача по другому не ставится, то и вопросов нет.
"это всего-то 2000 строк на окамле + сотни три строк рантайма на си, т.е достаточно быстро, просто и дешево, в чем и был главный пойнт статьи, жалко что не удалось донести."
Не надо жалеть - мне просто интересны технические детали проекта, а не реализация скриптинга. Я еще хотел уточнить, что вы делаете, если ошибка обнаружится в интерпретаторе? Его как-то можно обновить дистанционно?
no subject