LINUX.ORG.RU

Ответ на: комментарий от holuiitipun

У вас там точно не умеют в питон)

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от hateyoufeel

Ты уже получаешь $200k в год за свой embedded?

Embedded у нас в стране хреново продаётся, по очевидным причинам. Поэтому, embedded у меня так - возможные халтуры, если интересно будет и денег нормально предложат. Хотя раньше бывало что и больше 200k$/год получал, если пересчитать потраченное время и полученное бабло на $/год. А потом совсем перестали у нас в стране хоть что-то своё пытаться сделать. Народ либо поуезжал вместе с бизнесом, либо позакрывался.

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

Да обычные чуваки. SDCC вполне адекватные люди пишут.

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

Это вообще не класс задач. Это задача засунуть произвольный алгоритм в ограниченные возможности железа.

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

Код на С может страдать только от криворукости писателя. Жалкие попытки предовратить дебилизм программиста-идиота выливаются только в безмерные тормоза, пожирание памяти и общее резкое усложнение системы.

Я не понимаю как из первого ты выводишь второе.

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

Stanson ★★★★★
()
Ответ на: комментарий от vostrik

за прошивки для микроволновок и перекладывание байтиков с ноги на ногу?

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

Stanson ★★★★★
()
Ответ на: комментарий от kirk_johnson

Да, я в курсе. Опубликуешь ссылки на вакансии?

Ты их сам легко найдёшь - пошарься по всяким амерским и европейским сайтам на предмет job.

Stanson ★★★★★
()
Ответ на: комментарий от hateyoufeel

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

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от Stanson

И насколько то чего в SDCC нет из C99 действительно нужно?

Кому нужно - тебе? Не знаю. А мне нужны и VLA, и double, и объявления, перемешанные с текстом.

А что, в пистоне теперь можно как-то выдрать кусочек из numpy и не тащить его целиком на девайс,

Выдрать кусочек можно. Насчет девайсов поговорим после C99 и GSL.

tailgunner ★★★★★
()
Ответ на: комментарий от vostrik

таки есть статистика? сколько видел - там vhdl и верилог, сишники за сигаретами бегают

Ну конечно. На чем, по-твоему пишут программы для DSP? Например, для каких нибудь TMS320, или Blackfin. Неужели на верилоге?

Ты, по-моему, далек от разработки электроники, не смотря на то, что не купил диплом радиотехника.

Puzan ★★★★★
()
Ответ на: комментарий от Iron_Bug

зачем программисту гемор с людьми в фуражках, графиком работы с 8 до 5

Это ты про Россию. В США иначе. Там даже канадцы удаленно работают на внутренние военные проекты США. И не с 8 до 5, в немного посвободнее там.

ns_ramesses
()
Последнее исправление: ns_ramesses (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

Согласен. Но прогресс идет вперед, и я думаю скоро и в микроконтроллерах появится что-то высокоуровневое. Не питон, скорее всего, а что-то попроще. Я вот думаю лиспопрдобие какое нибудь прикрутить можно.

Puzan ★★★★★
()
Ответ на: комментарий от Puzan

Ты, по-моему, далек от разработки электроники, не смотря на то, что не купил диплом радиотехника.

и бесконечно счастлив тому, что далек. статистика по моим однокурсникам - либо ПЛИСы (в том числе ЦОС) с верилогами и vhdl всякими, либо паяльник в задн^W^W^W мелкие партии говнодевайсов с избыточными мощностями и таки сишкой (почему? да у меня тут мощности с запасом, нахер мне асмом париться). макакой в ынтырпрайзе во-первых интереснее, во-вторых денежнее.

vostrik ★★★☆
()
Ответ на: комментарий от Puzan

скоро и в микроконтроллерах появится что-то высокоуровневое

Тут нужно провести четкую грань между SoC типа RPi и MCU типа STM8 и не путать одно с другим. Всегда будут проекты, в которых нужно будет по SPI что-то куда-то передавать с очень высокой частотой (например, на трансивер), поэтому всякие Raspbian там использоваться не будут, а будет osless, и софт будет продолжать писаться на C99.

ns_ramesses
()
Ответ на: комментарий от Stanson

Хотя раньше бывало что и больше 200k$/год получал, если пересчитать потраченное время и полученное бабло на $/год.

А если посмотреть с определённого ракурса, то кажется, что мой член имеет длину полтора метра.

SDCC вполне адекватные люди пишут.

SDCC работает на PIC с 512 байтами памяти?

Это вообще не класс задач. Это задача засунуть произвольный алгоритм в ограниченные возможности железа.

Нет, не произвольный. Очень многие алгоритмы в твой embedded тупо не влезут из-за требований по объёмам памяти и вычислительной мощности.

Код на С может страдать только от криворукости писателя.

Как и код на любом другом языке, внезапно. Другой вопрос в том, что у программистов на C очень часто просто чудовищных размеров эго, выливающееся в отрицание собственной жопорукости. После чего автомобили при нажатии тормоза внезапно начинают ускоряться.

TL;DR в случае с C довольно сложно доказать корректность написанного кода без привлечения сторонних инструментов.

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

Удивительно, но попытки совсем не жалкие и вполне работают. Начиная от использования Java (JavaCard сейчас практически в каждой смарткарте и много где ещё) или других языков и заканчивая DSL на хаскелле, камле или лишпе, из которых генерируется корректный код на C или VHDL.

Вот некоторые народы вообще не умеют в абстрактное мышление

Вот именно этот тезис ты откуда вывел?

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от Puzan

мы одно время работали с циклонами. на сях там есть реализации микроконтроллеров, но у нас на работе всё писали просто на AHDL. я дома поковыряла палочкой NIOS, с С компилятором, но он мне не понравился: какой-то сырой и слишком жручий до ресурсов показался. для альтеры мне лично AHDL больше всего нравился, хоть он и проприетарный. верилог - не моё, уж лучше VHDL. возможно, дело привычки. а вот для микроконтроллеров на С нормально вполне.

Iron_Bug ★★★★★
()
Ответ на: комментарий от hateyoufeel

в случае с C довольно сложно доказать корректность написанного кода без привлечения сторонних инструментов

На каких языках вообще можно математически доказать корректность кода, кроме функциональных?

ns_ramesses
()
Ответ на: комментарий от ns_ramesses

На каких языках вообще можно математически доказать корректность кода, кроме функциональных?

Ни на каких, потому что инструменты для этого написаны в основном на функциональных языках. Другой вопрос в том, что использовать эти инструменты можно даже для C, но это требует дополнительных усилий. Для примера можешь посмотреть на seL4.

hateyoufeel ★★★★★
()
Ответ на: комментарий от Puzan

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от hateyoufeel

он довольно урезанный, на самом деле, и требует яростной обработки напильником для реального применения, но формально формальная верификация в жабе есть)

vostrik ★★★☆
()
Ответ на: комментарий от ns_ramesses

На каких языках вообще можно математически доказать корректность кода, кроме функциональных?

да и на сях пишут, но доказывают как-то вручную. в первую очередь, алгоритмы, как я понимаю. у нас в своё время в универе спецкурс преподавала тётенька, которая систему отслеживания целей для С-300 писала. это была её кандидатская, вроде. с доказательством, естессна. у неё в кабинете ещё висело фото Миг-29 с подписью «С благодарностью от разработчиков». так что там были не только системы наведения, судя по всему.
например, у нас в городе есть компания, которая системы безопасности для ЖД делает и ещё какие-то силовые установки для общественного транспорта вроде трамваев-троллейбусов. тоже софт на плюсах и С, и доказательства - отдельно. они аж в Питер едут «доказывать» свой софт, в какой-то НИИ, как диссер. ходила к ним на собеседование однажды. устаревшее ядро, самодельные дрова для устрашающего вида железяк и страшный гемор с этими доказательствами. в общем, для программиста тоска смертная. я туда работать не пошла, хотя денег они предлагали немало. общая обстановка там была какая-то военная, с явкой на работу к 8 часам.

Iron_Bug ★★★★★
()
Ответ на: комментарий от kirk_johnson

ну дык, сама тема есть охуительная история: пистон на мелкоконтроллере! я по субботам сплю, никого не трогаю. а тут такой ахтунг на лорчике.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

с явкой на работу к 8 часам

Из дома по OpenVPN ни-ни? Только туловищем ездить каждый день? Это ж не ВПК, вроде?

ns_ramesses
()
Ответ на: комментарий от Iron_Bug

да и на сях пишут, но доказывают как-то вручную.

Там доказательства в духе «мамой клянусь!»?

hateyoufeel ★★★★★
()
Ответ на: комментарий от tailgunner

Кому нужно - тебе? Не знаю. А мне нужны и VLA,

VLA при такой архитектуре - гарантия звездеца.

и double,

В девайсах в принципе нет никакой периферии которая бы хоть как-то нуждалась именно в double. float более чем достаточно. Однако, double достаточно просто добавить, компилятор-то несложный.

и объявления, перемешанные с текстом.

А это-то нафига? Никогда не пользовался, на самом деле, даже в С++.

Stanson ★★★★★
()
Ответ на: комментарий от hateyoufeel

А если посмотреть с определённого ракурса, то кажется, что мой член имеет длину полтора метра.

Вытянулся от перманентного онанизма, да? Ходить поди сильно мешает. Сочувствую.

SDCC работает на PIC с 512 байтами памяти?

Зачем компилятор запускать на однокристалке?

Нет, не произвольный. Очень многие алгоритмы в твой embedded тупо не влезут из-за требований по объёмам памяти и вычислительной мощности.

А если взять и подумать, то влезет уже половина от того, что не лезла. За это, в том числе, и платят большие деньги ембедщикам.

После чего автомобили при нажатии тормоза внезапно начинают ускоряться.

И с какой стороны это проблема C и эмбеддед?

Удивительно, но попытки совсем не жалкие и вполне работают.

Только всё это так и остаётся студенческими поделками не имеющими применения в реальности.

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

Лисп - да, применяется. Но это, пожалуй всё.

Вот именно этот тезис ты откуда вывел?

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

Stanson ★★★★★
()
Ответ на: комментарий от Iron_Bug

Не, жава машины - это прошлое, наследие 90-х. Даже андроид не использует эту возможность.

Puzan ★★★★★
()
Ответ на: комментарий от vostrik

Ну если тебе интересней макакой, то это только твои проблемы. А денежней - это спорный момент.

Puzan ★★★★★
()
Ответ на: комментарий от ns_ramesses

Тут нужно провести четкую грань между SoC типа RPi и MCU типа STM8 и не путать одно с другим.

Как раз речь о том, что грань сдвигается из года в год.

Ну и восьмибитники - это не просто прошлый век, это извращение.

Puzan ★★★★★
()
Ответ на: комментарий от Iron_Bug

AHDL больше всего нравился

AHDL против верилога, это как ассемблер против Си. Даже хуже :)

Puzan ★★★★★
()
Ответ на: комментарий от Puzan

Ну и восьмибитники - это не просто прошлый век, это извращение.

Ты не поверишь, в куче бытовой техники сегодня используются _четырёхбитники_!!!!1111

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Ходить поди сильно мешает. Сочувствую.

Завидуй молча.

Зачем компилятор запускать на однокристалке?

Компилятор - это пример задачи, нереализуемой на однокристалке, что подтверждает мой тезис об ограниченности набора задач в embedded.

После чего автомобили при нажатии тормоза внезапно начинают ускоряться.

И с какой стороны это проблема C и эмбеддед?

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

Только всё это так и остаётся студенческими поделками не имеющими применения в реальности.

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

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

Я кому про смарт-карты рассказывал? У тебя жаба в твоей кредитке, в твоей сим-карте и ещё дохрена где.

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

Компилятор - это пример задачи, нереализуемой на однокристалке, что подтверждает мой тезис об ограниченности набора задач в embedded.

с внешней памятью вполне себе реализуемо

Harald ★★★★★
()
Ответ на: комментарий от Stanson

Ты не поверишь, в куче бытовой техники сегодня используются _четырёхбитники_!!!!1111

«Эхо войны». Пока выгодно не переписывать ПО, это так и будет. Но я не пойму, что я не так сказал?

Puzan ★★★★★
()
Ответ на: комментарий от Harald

а про ограничения по времени ты ничего не говорил :)

А, ну тогда можно и без внешней памяти. Однопроходный компилятор C вполне способен работать считывая код построчно из порта и записывая результат обратно. Плюс минимальное состояние. В несколько килобайт RAM вполне влезет. Только смысла от этого немного.

hateyoufeel ★★★★★
()
Ответ на: комментарий от Harald

ну да, без 32 битного ARM-а светодиодом теперь никак не помигать, посоны засмеют

Когда 32-битники будут дешевле и экономичней 8-битников ты сам первый будешь смеяться.

А это не за горами.

Puzan ★★★★★
()
Ответ на: комментарий от Puzan

Восьмибитники обычно оверхед для большинства задач. Ардуина этому доказательство. А в критических местах быстрее, надёжней и проще использовать специализированные аппаратные средства (пусть даже внутри этих же восьмибитников). И решать такие задачи алгоритмически начинают либо от нищебродства, либо «because we can».

ramon13666 ★★★
()
Ответ на: комментарий от ramon13666

Ты будешь использовать «специализарованные аппаратные средства» там, где можно просто поставить 16-ти битный контроллер?

Puzan ★★★★★
()
Ответ на: комментарий от Puzan

Если на это будут причины. Не стоит возводить в абсолют. Нотвот тебе простой пример. Низкочастотный ШИМ (<100 Гц). Ты будешь ногодрыгать или всё-таки запустишь таймер в спец. режиме?

ramon13666 ★★★
()
Ответ на: комментарий от Puzan

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

ramon13666 ★★★
()
Ответ на: комментарий от hateyoufeel

Завидуй молча.

Собственно характерная проблема жабо- пистоно- макак. Хвалятся длиной МПХ, а то, что в реале с МПХ длиной в полметра жить будет крайне проблематично - до них не доходит.

Компилятор - это пример задачи, нереализуемой на однокристалке, что подтверждает мой тезис об ограниченности набора задач в embedded.

На однокристалке вполне возможно замутить компилятор. Только зачем это может быть нужно - совершенно непонятно.

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

О да, вставание ЭБУ двигателя колом (или та же самая херня с ускорением) при сборке мусора - это, разумеется будет значительно более продвинутая лажа.

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

Твоя проблема в том, что я этот вопрос изучил не слегка.

Я кому про смарт-карты рассказывал? У тебя жаба в твоей кредитке, в твоей сим-карте и ещё дохрена где.

Ну для многих однокристалок бейсик, например есть, и что? Java Card - это такой бейсик с синтаксисом похожим на жабу. Там даже GC нету, строк нету, плавающей точки нету, да вообще почти ничего нету. Про скорость работы этой хрени я вообще молчу.

Да и вообще - сама Java Card - как раз пример embedded софта написанного на С для конечного потребителя девайсов.

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

Stanson ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.