Как раз наоборот, проще написать программу, чем сделать сеть интеграторов и дифференциаторов. И скоро (или сейчас) даже эти функции будут перенесены на программно управляемый процессор.
Похоже, мы говорим о несколько разных вещах. Ясное дело, что в озвученном тобой случае лучше взять фпга или спец. микру. Но я не могу представить себе ответственную задачу, где нужно выполнять такие вычисления и программная реализация будет лучше. А программно-управляемый сопроцессор это уже аппаратное решение, как я и говорил раньше.
пока что простенький сайт отъедает около 8 мегабайт памяти и 0.01% проца. однако, некоторый плюс по сравнению с пистоном есть :)
Ой-ой-ой, вот мой простенький сайт отъедает 19828кб RSS. Там есть блог, вики на markdown и ещё по мелочи. Внутри виртуалки с одним ядром siege показывает 814 qps к главной :). При этом, там очень простой код.
А можно на исходники твоего решения посмотреть? Интересно сравнить. Потому что, например, асинхронный сервер на cpp+boost выглядел как говно. Куча неймспейсов, настроек всяких, кода раз в десять было. И хоть оно и работало быстрее питона разрабатывать его было очень тяжело.
Запихивал, запихиваю и буду запихивать легко. На сях, разумеется.
Допустим, что это доказывает? Вопрос кривизны рук библиотекописателей. Ардуинка-то тоже на сях написана, но память жрёт как ни в себя. Та же фигня с mbed.org.
Впрочем, я особо спорить не буду. Вначале 2000-х тоже самое про си писали. Типа настоящие хлопцы только на асме пишут и все кто юзают avr-gcc «не понимают архитектуры», «пустая трата ресурсов» итп. Но рынок расставил всё по местам.
Про статическую типизацию через Typescript смешно получилось, а на JIT я просто валялся.
Могу я узнать что тут смешного?
Смешно надеяться на то, что типичная веб-макака будет писать на Typescript. Еще смешнее говорить о JIT в контексте микроконтроллеров и близких к ним устройств. Вот какой JIT у тебя будет в IoT.
Т.е. питон на МК ты одобряешь, а статически-типизированный js нет потому что «вебмакаки». Я понял, вам не важно на чём писать, главное чтобы ниша была узкой, иначе «макаки лезут» и теряется ылитарность. Бида, embedded становится мейнстримом.
Собственно характерная проблема жабо- пистоно- макак. Хвалятся длиной МПХ, а то, что в реале с МПХ длиной в полметра жить будет крайне проблематично - до них не доходит.
Забавно, что ты приписываешь мне выдуманные тобой же качества. Я ничего не говорил о длине своего Х, и я не пишу на Java или Python.
На однокристалке вполне возможно замутить компилятор. Только зачем это может быть нужно - совершенно непонятно.
Ещё раз, компилятор был примером задачи, которую не реализуют в embedded, что подтверждает ограниченность класса задач, с которыми сталкиваются программисты встраеваемых систем. Все эти задачи довольно просто с алгоритмической точки зрения, и поэтому требования к подготовке программистов довольно низкие.
вставание ЭБУ двигателя колом (или та же самая херня с ускорением) при сборке мусора - это, разумеется будет значительно более продвинутая лажа.
Перестань быть таким тупым. GC не нужен в случае отсутствия динамической памяти, что в данном случае вполне оправданно.
Твоя проблема в том, что я этот вопрос изучил не слегка.
Судя по твоим постам, единственное что ты изучил не слегка - это содержимое ноздри, которую ты ковырял.
Java Card - это такой бейсик с синтаксисом похожим на жабу. Там даже GC нету, строк нету, плавающей точки нету, да вообще почти ничего нету.
Что в этом плохого? Раньше были карты, программируемые на C, но почему-то сейчас они редко встречаются. Удивительно, правда?
Плюс ко всему, в C тоже строк нет, но ты не жалуешься.
Java Card - как раз пример embedded софта написанного на С для конечного потребителя девайсов.
JavaCard - это подмножество языка Java, применяемое для программирования смарткарт. На чём оно реализовано, не имеет никакого значения.
Все эти задачи довольно просто с алгоритмической точки зрения, и поэтому требования к подготовке программистов довольно низкие.
Да тупейший софтверный DSP реализующий какой-нибудь реальный 16PSK декодер алгоритмически будет на порядок сложнее любой «современной» «задачи» с которой вообще могут столкнуться те, кто нынче пишет на чём-то отличном от С.
Перестань быть таким тупым. GC не нужен в случае отсутствия динамической памяти, что в данном случае вполне оправданно.
Жабка без динамической памяти - это бейсик с дурацким синтаксисом, не больше.
На чём оно реализовано, не имеет никакого значения.
Ага, питончики с жабами они сами себе сферические кони в вакууме, самозарождаются прям в компутерах, а си ненужно, оно устарело. :) Пешы исчо!
то вполне можно на пару лет батарейку растянуть легко
Можно, если раз в неделю просыпаться. Дело, как я понимаю, не столько в железке, сколько в Wi-fi. Ну не годится вайфай для интенета вещей.
А все годные радиопротоколы строятся по одному мудаческому принципу: сначала создается альянс, потом протокол. Всё патентуется по самые помидоры. Хочешь делать девайсы на этом протоколе - плати членские взносы и делай чипы за 100 баксов
Ардуинка-то тоже на сях написана, но память жрёт как ни в себя.
Когда-то были такие BasicStamp и PICBASIC. Как раз для той же целевой аудитории - «программировать не умею, хочу в мелкопроцессоры». Низкий порог вхождения и всё такое. Но никто и никогда ничего промышленного на этом бейсике не писал, ибо ни для чего кроме моргания светодиодом оно не годится.
Вначале 2000-х тоже самое про си писали. Типа настоящие хлопцы только на асме пишут и все кто юзают avr-gcc «не понимают архитектуры», «пустая трата ресурсов» итп. Но рынок расставил всё по местам.
Это вообще-то про атмелевские MCS-51 а не avr были тёрки, и не в начале 2000-х, а в начале 1990-х - там компиляторы тех времён так себе код генерили, даже атмелевский же keil, из-за особенностей архитектуры. AVR лучше заточен для С и с ним таких проблем не было. Такая же фигня и с PIC16/PIC18 - для PIC18 сишный код получается значительно эффективнее чем для PIC16.
Дело, как я понимаю, не столько в железке, сколько в Wi-fi. Ну не годится вайфай для интенета вещей.
Да, WiFi жручий. Впрочем, как раз для интернета вещей он вполне годится - это же не во чистом поле девайсы, а что-то по-любому требующее питания от сети. Другой вопрос, что БП 220В->3.3В занимает места значительно больше чем ESP8266 :)
А все годные радиопротоколы строятся по одному мудаческому принципу: сначала создается альянс, потом протокол. Всё патентуется по самые помидоры. Хочешь делать девайсы на этом протоколе - плати членские взносы и делай чипы за 100 баксов
Они мало того, что патентованные, они ещё и overbloated дерьмище, хуже всяких USB с Bluetooth'ами.
Да тупейший софтверный DSP реализующий какой-нибудь реальный 16PSK декодер алгоритмически будет на порядок сложнее любой «современной» «задачи» с которой вообще могут столкнуться те, кто нынче пишет на чём-то отличном от С.
Нет.
Жабка без динамической памяти - это бейсик с дурацким синтаксисом, не больше.
То же можно сказать про любой язык в принципе. Хотя у C и васика куда больше общего, чем у васика и Java.
Ага, питончики с жабами они сами себе сферические кони в вакууме, самозарождаются прям в компутерах
У питона есть реализация на питоне - Pypy. А жаба уже давно на жабе написана. Удивительно, правда?
В офисе датчик температуры на zigbee, размером с коробок спичек. На батарейке в 2.5 раза меньше одной АА. Шлет данные минимум раз в минуту. Спокойно живет от этой батарейки год
они ещё и overbloated дерьмище, хуже всяких USB с Bluetooth'ами
Это потому, что чип умеет не просто в поток байтов, а в моноуровневый стандартный протокол. Часто это гарантирует, что твой девайс сразу заработает с другими девайсами тех же стандартов. И не просто подключится, а именно заработает как надо.
В офисе датчик температуры на zigbee, размером с коробок спичек. На батарейке в 2.5 раза меньше одной АА. Шлет данные минимум раз в минуту. Спокойно живет от этой батарейки год
Да там небось не HA, а ZigBee Green Power? Это ж спящий энд-девайс, это не в счет.
Это если таких статей будет выходить 500-страничный еженедельник. Пока просто классическая лисповая манипуляция списков со словами. Студент, небось, развлекается.
Да и надежность этой динамической фиговины стрёмная.
Не-не, я не предлагаю этого делать, мой аргумент был в том что python и js это одного поля ягоды.
Это макет можно сляпась на ардуине и васиком, а в серии такое не прокатит.
Что ты называешь серией? Это сколько девайсов? И о каком васике идёт речь? Я, честно говоря, не в курсе. Ты васиком ардуиновские либы называешь или что-то другое? Я знаю есть отдельные девайсы на lua, слышал о micropython... о васике не слышал.
В офисе датчик температуры на zigbee, размером с коробок спичек.
У zigbee есть как минимум 2 недостатка - его нет в телефонах, ноутах и планшетах, и цена.
Это потому, что чип умеет не просто в поток байтов, а в моноуровневый стандартный протокол. Часто это гарантирует, что твой девайс сразу заработает с другими девайсами тех же стандартов. И не просто подключится, а именно заработает как надо.
Это вообще ничего не гарантирует кроме геморроя и проблем. Чем сложнее протокол, тем больше глюков будет в его реализациях.
То же можно сказать про любой язык в принципе. Хотя у C и васика куда больше общего, чем у васика и Java.
У С и васика вообще нет ничего общего. От слова совсем. А вот у васика и жабы есть, причём самая мякотка - интерпретатор байткода.
У питона есть реализация на питоне - Pypy. А жаба уже давно на жабе написана. Удивительно, правда?
Ничего удивительного вообще. На бейсике тоже можно бейсик написать. Но ты опять совсем забыл, что речь о совсем голом железе. Расскажи же скорее как в питоне написанном на питоне или на жабе написанной на жабе обработать прерывание или там в порт читать-писать.
Если говорить про умный дом, то нет никакой разницы, ибо всякие сценарии, расписания, мониторинг, многопользовательский доступ, требуют подключение контроллирующего устройства 24/7. Можно для этих целей заюзать телефон или ноут с zigbee-свистком, но маленькая коробочка-шлюз (или малина со свистком) будет логичнее и дешевле.
и цена
Да, про это я и писал изначально.
Чем сложнее протокол, тем больше глюков будет в его реализациях
Z-Wave уже давно на том уровне, когда новосозданное устройство, использующее стандарт, можно не добавлять в базу шлюза. Просто подключаешь его к шлюзу и в интерфейсе появляются все необходимые ручки управления. Zigbee пока только на пути к этому
Поток байтов, да еще и по привычному тебе каналу, несомненно, лучше для одноразовых домашних поделок, но не более
У С и васика вообще нет ничего общего. От слова совсем. А вот у васика и жабы есть, причём самая мякотка - интерпретатор байткода.
Смешивать такие базовые вещи - это фейспалм. И просто для протокола - есть компилируемые в машкод реализации бейсика, есть куча интерпретаторов Си (если поискать, наверняка найдутся и интерпретаторы байткода).
А если взять и подумать, то влезет уже половина от того, что не лезла. За это, в том числе, и платят большие деньги ембедщикам.
Позволю спросить, а какие у тобой программируемых девайсов тиражи? Чтобы мерить в единицах, а не попугаях, давай так: модель чипа - тираж, и хотя бы три крупные партии.
У С и васика вообще нет ничего общего. От слова совсем.
Семантика у них довольно схожая, как и у всех алголоподобных языков.
А вот у васика и жабы есть, причём самая мякотка - интерпретатор байткода.
Как уже писал тэйлганнир, ты идиот.
Расскажи же скорее как в питоне написанном на питоне или на жабе написанной на жабе обработать прерывание или там в порт читать-писать.
Примерно так же, как и на C. Железкам обычно насрать на каком языке написан обработчик прерываний, если он в любом случае компилируется в нативный код.
Не-не, я не предлагаю этого делать, мой аргумент был в том что python и js это одного поля ягоды.
Фик знает. Жабаскрипт, с его прототипным наследованием - очень неудобен для реализации быстрых JIT-ов. Просто в него усилий ввалили на порядок больше чем в питон, и получилось хорошо. Но памяти жрет прилично. Про питон ничего не могу сказать - не довелось иметь дел.
Что ты называешь серией? Это сколько девайсов?
Считай от 10К, сколько набежит если стоимость микроконтроллера отличается на доллар. Если думаешь, что это много - на АОН-ах объемы были намного больше. 100К в частном производстве вполне реальные объемы, для этого не надо быть самсунгом.
И о каком васике идёт речь?
Basic. Пихали и такое, давно :). Сейчас из вменяемого и не кастированного только LUA могу назвать, но играться не доводилось - забил уже на разработку железок.
Поток байтов, да еще и по привычному тебе каналу, несомненно, лучше для одноразовых домашних поделок, но не более
Ну вообще-то именно поток байтов, которым является протокол DMX-512, например, используется далеко не в одноразовых поделках, а для управления сотнями разнообразнейших профессиональных приборов, каждый из которых на порядки сложнее всей домашней ботвы вместе взятой, уже десятилетия. И замечательно справляется, между прочим. Вообще все концерты которые ты когда-либо видел (ну разве что кроме детсадовских утренников) без DMX-512 не обошлись.
К сожалению, я уже давно не шабашник, а бизнесмен. Хотя иногда хочется оттопыриться как в старые времена, и иногда это даже удаётся.
Я на 1с бывало рубль за 4 минуты зарабатывал, это считается за $1,5к/день?
Нет, конечно. Это рубль в день, в общем-то. Ну а 1c не стоило упоминать, на самом деле. Камингаут это конечно хорошо, но потом же все будут считать тебя педиком.
Позволю спросить, а какие у тобой программируемых девайсов тиражи? Чтобы мерить в единицах, а не попугаях, давай так: модель чипа - тираж, и хотя бы три крупные партии.
Z80 - несколько тысяч - по 500 штук партия. Год эдак 1995.
Ещё на MCS-51 был девайс, но объёмов выпуска не знаю, ибо не занимался.
Но это не самые прибыльные халтуры, на самом деле. За мелкую партию очень специализированного девайса платили гораздо больше.
Как бы мы ни смеялись над 1С-программистами (которых грамотнее называть 1С-конфигураторами, поскольку больше настраивают и админят, чем в дебаггере, профилировщике и Vim'е сидят), но зарплаты у них до сих пор очень высокие. Несмотря на внутрироссийский экономический кризис.
Считай от 10К, сколько набежит если стоимость микроконтроллера отличается на доллар.
Набежит $10K, вопрос в том на сколько это много по сравнению со стоимостью разработки и ценой запуска в серию. Я вполне себе представляю ситуацию когда более дорогой МК облегчает разработку, скажем, наличием бОльшего кол-ва фич и памяти.
Собстно, почему я спросил. Я не верю что безусловный принцип «низзя удорожать BOM ни на доллар» это всегда правильная стратегия. Но у меня нет знаний в этой в области, вот и спрашиваю, может кто-то налаживал массовое производство и всё просчитывал. В частости, дешёвые МК могут требовать больше обвязки, больше простаранства на плате, каких-то дополнительных микросхем итп.
Собстно, почему я спросил. Я не верю что безусловный принцип «низзя удорожать BOM ни на доллар» это всегда правильная стратегия. Но у меня нет знаний в этой в области, вот и спрашиваю, может кто-то налаживал массовое производство и всё просчитывал. В частости, дешёвые МК могут требовать больше обвязки, больше простаранства на плате, каких-то дополнительных микросхем итп.
сколько я видел проектов масштаба «10-50К девайсов с ноля» (спойлер: около десятка) - под них железо вообще не то чтобы сильно выбирают. закупается партия кристаллов подешевле (например 16бит там, где 8ми вполне хватит, но устаревшее напрочь) в размере условных 100К и на них пилится несколько разных проектов.
Набежит $10K, вопрос в том на сколько это много по сравнению со стоимостью разработки и ценой запуска в серию.
Этого достаточно, чтобы принять за основу что на сериях сложности программиста вообще никого не колышат, а его рассуждения про скриптовые языки никого не интересуют :)
Причем учти, что я еще не касался вопросов надежности, потребления и т.п.
Сейчас есть тренд, что ARM-овские кристаллы по стоимости приблизились к микроконтроллерам из девяностых. И всё это говно сгорит в аду, а разработчики станут пользоваться нормальными тулчейнами вместо проприетарных поделок с претензией на илитарность. Но набортная память по-прежнему все еще сильно влияет на цену, и ожидать нормальных питонов с яваскриптами особо не стоит.