Блин, асм точно описан :(. В то время как в высокоуровевых языках надо будет "нажать" на педаль и поехать, на асм придется переставить как минимум 10 рычагов.
Не согласен. На асме что делают рычаги как раз понятно и их немного. Проблема их перебирать в правильном порядке и перебрать их надо много. На высоком же уровне наоборот. Рычагов этих приблизительно как шпал в жд пути, но если знаешь правильный рычаг, то надо дернуть всего-лишь один.
тупое сравнение, ассемблер куда красноглазей и ближе к железу чем С++, а следовательно и быстрее.
Пока не заминусили: ассемблер - машинно-ориентированный язык низкого уровня (с) педевикия, т.е. в отличие от С++ программы на нем выполняются куда быстрее.
ну, я программист, и хуле? всё он правильно говорит. хотя это, конечно, полностью справедливо было лет 30 назад, с тех пор оптимизация шагнула далеко. но даже сейчас в некоторых узких областях, тпиа ембеддинга, асм-шаманство бывает вполне обосновано иногда.
Потому что С++ в любом случае компилируется в ассемблер, и в отличии от "ручного" кода на ассемблере, -х-у-й- то есть компилятор знает, что получится на выходе.
только практика показывает, что несмотря на все оптимизации, компилятор крестов генерирует далеко не идеальный бинарный код. поэтому си (и тем более кресты) всё-таки проигрывают ассемблеру (написанному толковым прогером).
другое дело, что с нынешними вычислительными мощностями все на это забивают.
дело в том что на асме вопрос оптимизации стоит примерно так: много кода, но выигрываем кучу инструкций переходов, мало кода, но проигрываем на сравнениях и переходах, ну и всякие изуверства, типа блочного копирования и зануления парой команд. На крестах и сях такие фичи скатываются в обычные cmp&j** циклы, а блочные копирования можно получить только при добавлении всяких оптимизаторов типа -O3 и SSE*, если проц позволяет. Плюс компилятор вставляет специальные ловушки от переполнения, и приведения к одной размерности переменных в памяти и их дополнительной проверки, что тоже добавляет инструкций в код. Вот и получается, что на асме тупой выигрыш в производительности достигается сухой конструкцией кода, забиванием на проверки и жирности и крутым скруглением углов, т.к. всё что помещается в регистры есть данные, а текст это или числа, это как посмотреть обработать.
Вообще-то gcc компилирует в ассемблерный листинг, на который затем натравливает as. Если не добавлять опцию -pipe, можно заметить появляющиеся в /tmp файлы.
если с одной стороны поставить среднего кодера на асме, а с другой - современный компилятор С с горой оптимизаций, про большинство из которых первый кодер даже и не догадывается, то я, пожалуй, выберу второе
Так они И ЕСТЬ САМОЕ УЖАСНОЕ, хотя boost использует более-менее сносные вещи, но он просто огромен и пуст как .net или jre. А вот про QT речь отдельная... Приведение типов и exceptionы там не просто костыли, а ПОЛНЫЙ АТАС даже по меркам ASM
По ходу я уже D освоил, а толку то? Кто-то на этом пишет? Если и пишут на C#14 - так на VS разве что, а там с правки ни жарко, ни холодно от того что фрейморки M$, с другой стороны, они не самые плохие далеко, в сравнении с тем же QT.
раз уж гуру C++14 в треде, может хоть он мне ответит, как мне описать абстрактный метод, который имеет клаузы типа `template T foo(T (*f)());`?
Потому что насколько я понял никак, и система типов у вас до сих пор говно. Пожалуй, породолжу использовать языки более высокого уровня
Там не в языке дело. Просто из C++ уже много лет пытаются сделать классовый высокоуровневый язык которым он не является и никогда не являлся т.к. по сути и истории - расширение асма.
а если нужен мгновенный телепорт в иное измерение,
то к вашим услугам языки описания аппаратуры System Verilog / VHDL / AHDL:
- всё исполняется параллельно
- можно адски быдлокодить нажравшись в хлам и оно будет работать
- сбой в одном модуле не влияет на другой вообще и никогда
- получать 200тр? запросто! (но вакансии открываются раз в год ... високосный)
- и они просто адски весёлые и чертовски необычные
продолжу, их тех фишки
1. Типов данных нет - есть только 1 бит и массив этих бит любой размерности.
2. Компилятор (весит 10 гигов) умнее тебя, всегда. Он умеет видеть алгоритм целиком и если ты идиот набыдлокодил, то он докажет что это работать не будет, скомпилировав всю прошивку в нулевой размер. И не важно какую сложную иерархию ты наваял - докажет. Новички с этого делят на нуль и за ними забавно наблюдать.
3. Можно не парится о том как будет реализован алгоритм, можно просто описать что на входе, что на выходе а компилятор как нибудь сам сделает реализацию.
4. Божественный отладчик, в виде самого крутого осциллографа, который я знал. Работает прямо внутри кристалла ПАРАЛЛЕЛЬНО основному алгоритму и не вмешиваясь в него вообще, можно налету править биты памяти.
5. Можно и нужно тупо раскопипастить и это не повлияет на производительность, и ни на надёжность. Всё работает параллельно, каждая стадия, каждый узел, каждая функция, каждый класс.
Если интересно то могу ещё долго продолжать )
блин, лажа - тут не эмулятор часов шпор на делфи, тут на Делфи только прога закачки и обработки картинок налету.
вместо эмулятора я просто исходник на верилоге и си скомпилил под винду и подключил к делфи проге отдельной дллкой.
Если руками и мозгом писать то такое вполне реально и безгеморойно
знаю, использовал когда действительно надо было сделать кроссплатформенной визуальную прогу.
а в остальных случаях и делфи не плох, особенно если у тебя все наработки и либы по работе с железом УЖЕ ЕСТЬ.
А к чему эти рекомендации?
Не ужели возникают сомнения что я Си и С++ не знаю?
Тогда на чём я написал такую ляльку под МК да так чтоб на 8мгц всё вообще летало?
Ну не на брайнфаке же =)
да пожалуйста, возьми да напиши, хочешь дам протокол и алгоритм? Валай.
Могу даже исходники дать - перепеши на QT.
Я уважаю опенсорс, но в ДАННОЙ ЗАДАЧЕ ЭТО НЕ НУЖНО:
Те кто разобрался с убунту не купит шпоры - они и так не дураки.
А так у кого макос - купят экзамен
;)
дельфи хорош для быстрого прототипирования, а потом вполне сносно переводится на яву или на плюсы, если есть время. Ну и есть еще Lazarus для мудаков, которые не умеют в кросплатформенность, но при этом, их бесят мудаки, которые клепают софт только под венду.
Кто как хочет, тот так и прототипирует.
Главное чтоб были наработки и нормальное знание языка.
Мой пример "быстро наваять и проверить идею":
Визуальные крутилки и свистоперделки - делфи сойдёт.
А если сигнальная обработка, то mingw под винду и gcc под мк: отлично с этим справляется и ничего переписывать с делфи не надо. Poco рулит - его классы частично под МК портированы, всё без переделок компилится.
Пример в виде про демо режима часиков что выше дан:
общее оформление, формочки, работа с картинками на делфи,
а прошивка просто перекомпилена под мингв в виде длл, и управляется делфи прогой.
неа, вместо LDO используется диоды BAV99 - дешевле, кпд примерно такое-же.
MCP73831T - зарядка всё по уму, не Китай,
олед подключен напрямую к аккуму, до BAV99. В оледе есть повышалка, кпд у встроенной повышалки так себе, но за день елозить их и читать остачертеет, в общем более чем хватает.
хм, тупое но эффективное решение, акк только всегда нагружен, обрезать бы его ключиком со стабом от переразряда, надо попробовать, спасибо за подсказку, как раз сейчас есть проектик с оледом на аккуме.
про олед уточняю
у моего два питалова:
1. Подсветки и общее - его и подключил к аккуму напрямую.
2. Питание контроллера оледа и цифровых уровней данных - его подключил уже после ключика который всё обесточивает в случае бездействия.
вот если контроллер не запитан то и №1 вообще не потребляет (меньше 0.1мкА - в общем навороченым мультиметром не измерить)
попахивает не им. а полной сменой принципов разработки и переворот всех подходов к кодингу с ног на голову. Поэтому и говорю что это параллельная вселенная в прямом смысле параллельная =)
а разница с студией в том что ты не нарушаешь реалтайм и не вмешиваешся в код, нет версии дебаг и релиз, нет костылей для правки памяти - гарантировано всё будет работать если правишь не отладчиком память а штатно. Повторяемость реалтайма будет бит в бит, наносекунда в наносекунду. Никаких тебе "странно а в отладке не глючит"
А насчет правки памяти в рилатайме.
Так ты в студии тоже можно не вмешиваться в код. Можно найти память по адресу и изменить ее студийными методами. Конечно это никак не повлияет на повторный запуск программы, но можно же.
Или скажем windbg'шечкой тоже можно всякого натворить.
ну если интересно только программирование то:
язык для плис это не язык инструкций процессору.
это язык как этот процессор делать и как всё внутри соединять или по другому, как синтезировать процессор.
Поэтому называются как язык описания аппаратуры.
пример
b = x+a;
y = b * c;
на компилируемом языке (например си) это означает:
В НАЧАЛЕ возьми значение Х и прибавь к нему А, результат положи в В
ДАЛЕЕ в игрек положи результат перемножения B и C
на языке описания аппаратуры означает
возьми микросхему сумматора, подключи к входам Х и А, выход будем именовать как B
возьми микросхему перемножителя и подключи к входам B и С, выход будем именовать как Y
на выход из схемы подай Y.
по сути это схема.
другой пример:
двигатель подключить к сцеплению, сцепление управляется педалью, вал от сцепления подать на коробку передач, ту вал от коробки передач завести в дифференциал из него два вала на передние колёса.
ну во первых после того как написал на си' сначала переводом в асемблерный код, а там далеко нетак просто, а дальше машинный. я не в курсе как работают микросхемы изучай только микроконтроллеры атмел, но они не далеко ушли от процессорных комманд
а сейчас кончат микроконтроллерщики:
1. Код переносим, ВСЕГДА, СО ВСЕГО , НА ВСЁ, ЛЮБОЙ ФИРМЫ (кроме AHDL - там с бубном в верилог но работает идеально).
2. Чипы все взаимозаменяемы, что вниз что вверх. Без разницы на каком чипе делать, пол часа переноса и работает в новой железке.
3. Забудьте про дрочь с переферией - вы можете её сделать любую ... и повесить на почти любую ногу ... ДАЖЕ АНАЛОГОВУЮ с небольшим обвесом.
4. Идеально всё расписано, вся дока что и как делать разложена по полочкам, даны примеры. для особых дебилов расписаны ошибки.
5. Даже если ты вообще безмозглый овощь и не справился с пунктом 4, то есть мастеры которые спросят чего ты хочешь - и сгенерят всё, включая примеры и временные диаграммы именно для твоего случая
6. Не хватает быстродействия, точности, мозгов это оптимизировать? Нужна плавающая запятая? отдельный сопроцессор? запросто - да хоть 33 битные хоть 666 битные. И да, см п 5
7. Нужны гигагерцы? Многоядерные процы? бинарная совместимость с устарелым гавном типа ДВК и нужен топовый ARM A53? всё есть в крисстале
недостатки:
1. Цена: это лютый пиздец, чипы от 1000р, отладки десятки тысячь рублей и выше, среды разработки от 1000 баксов до ста тыщь баксов. Зато можно банчить перепаивая сдохшие плисины, они могут и 10 и 100 штук баксов стоить.
2. Разрыв шаблона и мозга, всё работает паралельно. каждая строка кода, нет такого понятия как последовательность выполенния, и ещё вынос мозга, например когда A xor (not A) = 0, а потому что когда сигнал меняется, а на not A есть задержка, вот и выходит что А = 1, а not A не успел дать 0 и даёт всё ещё 1.
3. Очень долго входить в тему.
4. Не устроишся на работу - если найдёшь то собеседовать дрючить и проверять будут как СЕО - ответственность такая же, некому передать самое сложное и ключевое.
5. Софт местами кривоват и фирмы отжигают: "купите новую 10ую версию квартуса, в нём новый нескучный стильный дизайн и все формочки поновому глючат как у первой версии" НЕНАВИСТЬ!
6. Языка описания аппаратуры будем мало - надо учить TCL и язык описания времянок. это вообще за гранью ...
ну на пока хватит
ага, ага перенеси свой код на паралаксы =). Еще есть паралельная вселенная паралельной вселенной - AMS.
Ну и заменяемы они только относительно того сколько вентилей тебе компилер наколбасил, вверх - да, вниз - вентилей не хватит.
Естественно если вентилей не хватает то и не перенести.
Но в целом куда проще код на верилоге с альтеры на ксилинкс перенести, чем си для 8051 перенести на MSP430 )
если руки кривые — то конечно. нормально написанная сишная программа собирается как для MSP430, так и, например, для TMS320, ЕВПОЧЯ. и ещё прототип на персоналке, например.
я про ту часть что с железом работает, и расширения си которые делают разные для разных платформ контроллеров. например у 51 это битовый доступ к пинам. у авр два модификатора где хранить, рам или флешь и два типа указателей.
поэтому я обожаю GCC и там это хотя-бы сделано нормально и переносимо, а вот в других компиляторах нет, например кодевизион авр.
а нахрена нужен этот матан?
Зачем нужны ПЛИС и FPGA и своя программируемая логика.
Поясняю на деле, на реальной железяке.
Вот разработал я такие вот "умные" часы, с "умных" пацанов бабло стричь.
Поставил внутрь совсем мелкую МАКС 5
Она рулят дисплеем, микроконтроллером и флешь памятью.
Благодаря этому:
1. Часы очень тонкие и круглые из стали и стекла, тоньше аппл ватча, и мотороловских.
2. Интрефейс летает
3. Работают в режиме ожидания уже год - я заебался ждать когда разрядятся. Самсунг, аппл, и все остальные, учитесь блядь делать!
4. Просто делать. разводить и модифицировать, можно влепить любой проц - китайцы не кинут сняв МК с производства. И вообще гибкость и безгеморность поддержки производства нравится, а на любые изменения реагируешь парой часов доработок под чаёк.
А что за дисплейчик? И схемка МАКС? Что-то я о такой не слышал, и почему она рулит микроконтроллером? Разве не должно быть наоборот? И что за микроконтроллер?
Макс используется как чипсет:
1. ускоритель работы с графикой,
2. Ускоритель работы с флеш памятью.
3. Управление энергопотреблением
4. Физ уровень УСБ.
А фишка в том что на максе можно сделать асинхронную схему которая работает в статике и сама себя умеет обесточивать, а так же сама себя включать как барон Менхаузен доставая сама себя из болота.
ну настоящих умников может не уделают, а вот большинство асмо-писателей (т.е. начинающих) порвут как тузик тряпку, особенно умением оптимизировать под современные процы с их нелинейным исполнением, кешами и тд.
Во первых: большинство не умеет оптимизировать си что-бы реально пользоваться его преимуществами.
Во вторых: хорошо оттюненая JVM будет работать почти с такой же скоростью.
В третьих назовите мне хотя бы один случай когда вручную написанный ассемблер был быстрее генерированного с си.
А чо шарп-то? шарп как и ява не сильно способствует стрельбе по ногам
Типизация, дженерики, с указателями играться без ансэйва нельзя. Единственное, что стоило пофиксить, когда передирали яву, - это NPE. Ну и конкурентные концепции могли сделать лучше...
Короче, о ногах заботится больше разве тока цейлон, не?
При наличии Идеального Программиста и бесконечного количества времени на разработку, бинарный код порулит абсолютно любой язык программирования, без исключения. Но так как мы не живем в идеальном мире, и я уж точно не идеальный программист, заверните мне дот нет пожалста.
Вау! Симулятор Бога? Попробуем!
Что? Эй чувак, я тебя не выбирал как властителя на Земле! Как там тебя? Папа? И я никогда не говорил такие вещи! Что за книгу ты там
Эй! Оставьте Коперника! Это крутой чувак! Инквизиция, твою ж ересь, ты совершаешь более тяжкие грешки чем все люди купившие индульге
Блин, вчера мы так бухнули!
Бухнули? После того как мы смешали водку с кокаином, это больше походило на тесто.
Подожди... АААА!
Где Кинопоиск? Вроде ты его удалил когда узнал что у фильма твоего
детства Зеленого слоника плохой рейтинг.
Не волнуйся, я его снова забухчу. Какие там языки надо зна
Пока не заминусили: ассемблер - машинно-ориентированный язык низкого уровня (с) педевикия, т.е. в отличие от С++ программы на нем выполняются куда быстрее.
другое дело, что с нынешними вычислительными мощностями все на это забивают.
посмотретьобработать.ЧТО ДЕЛАЮТ ЭТИ КОСТЫЛИ?
Потому что насколько я понял никак, и система типов у вас до сих пор говно. Пожалуй, породолжу использовать языки более высокого уровня
http://svn.python.org/view/python/trunk/Lib/antigravity.py
то к вашим услугам языки описания аппаратуры System Verilog / VHDL / AHDL:
- всё исполняется параллельно
- можно адски быдлокодить нажравшись в хлам и оно будет работать
- сбой в одном модуле не влияет на другой вообще и никогда
- получать 200тр? запросто! (но вакансии открываются раз в год ... високосный)
- и они просто адски весёлые и чертовски необычные
1. Типов данных нет - есть только 1 бит и массив этих бит любой размерности.
2. Компилятор (весит 10 гигов) умнее тебя, всегда. Он умеет видеть алгоритм целиком и если ты идиот набыдлокодил, то он докажет что это работать не будет, скомпилировав всю прошивку в нулевой размер. И не важно какую сложную иерархию ты наваял - докажет. Новички с этого делят на нуль и за ними забавно наблюдать.
3. Можно не парится о том как будет реализован алгоритм, можно просто описать что на входе, что на выходе а компилятор как нибудь сам сделает реализацию.
4. Божественный отладчик, в виде самого крутого осциллографа, который я знал. Работает прямо внутри кристалла ПАРАЛЛЕЛЬНО основному алгоритму и не вмешиваясь в него вообще, можно налету править биты памяти.
5. Можно и нужно тупо раскопипастить и это не повлияет на производительность, и ни на надёжность. Всё работает параллельно, каждая стадия, каждый узел, каждая функция, каждый класс.
Если интересно то могу ещё долго продолжать )
Живут же люди!
на нём я делаю такое (всё ручками на голом VCL и винапи и быстро)
вместо эмулятора я просто исходник на верилоге и си скомпилил под винду и подключил к делфи проге отдельной дллкой.
Если руками и мозгом писать то такое вполне реально и безгеморойно
а в остальных случаях и делфи не плох, особенно если у тебя все наработки и либы по работе с железом УЖЕ ЕСТЬ.
А к чему эти рекомендации?
Не ужели возникают сомнения что я Си и С++ не знаю?
Тогда на чём я написал такую ляльку под МК да так чтоб на 8мгц всё вообще летало?
Ну не на брайнфаке же =)
Могу даже исходники дать - перепеши на QT.
Я уважаю опенсорс, но в ДАННОЙ ЗАДАЧЕ ЭТО НЕ НУЖНО:
Те кто разобрался с убунту не купит шпоры - они и так не дураки.
А так у кого макос - купят экзамен
;)
Главное чтоб были наработки и нормальное знание языка.
Мой пример "быстро наваять и проверить идею":
Визуальные крутилки и свистоперделки - делфи сойдёт.
А если сигнальная обработка, то mingw под винду и gcc под мк: отлично с этим справляется и ничего переписывать с делфи не надо. Poco рулит - его классы частично под МК портированы, всё без переделок компилится.
Пример в виде про демо режима часиков что выше дан:
общее оформление, формочки, работа с картинками на делфи,
а прошивка просто перекомпилена под мингв в виде длл, и управляется делфи прогой.
MCP73831T - зарядка всё по уму, не Китай,
олед подключен напрямую к аккуму, до BAV99. В оледе есть повышалка, кпд у встроенной повышалки так себе, но за день елозить их и читать остачертеет, в общем более чем хватает.
у моего два питалова:
1. Подсветки и общее - его и подключил к аккуму напрямую.
2. Питание контроллера оледа и цифровых уровней данных - его подключил уже после ключика который всё обесточивает в случае бездействия.
вот если контроллер не запитан то и №1 вообще не потребляет (меньше 0.1мкА - в общем навороченым мультиметром не измерить)
а разница с студией в том что ты не нарушаешь реалтайм и не вмешиваешся в код, нет версии дебаг и релиз, нет костылей для правки памяти - гарантировано всё будет работать если правишь не отладчиком память а штатно. Повторяемость реалтайма будет бит в бит, наносекунда в наносекунду. Никаких тебе "странно а в отладке не глючит"
А насчет правки памяти в рилатайме.
Так ты в студии тоже можно не вмешиваться в код. Можно найти память по адресу и изменить ее студийными методами. Конечно это никак не повлияет на повторный запуск программы, но можно же.
Или скажем windbg'шечкой тоже можно всякого натворить.
а ещё существовала такая прога как art money
http://www.artmoney.ru/rus.htm
язык для плис это не язык инструкций процессору.
это язык как этот процессор делать и как всё внутри соединять или по другому, как синтезировать процессор.
Поэтому называются как язык описания аппаратуры.
пример
b = x+a;
y = b * c;
на компилируемом языке (например си) это означает:
В НАЧАЛЕ возьми значение Х и прибавь к нему А, результат положи в В
ДАЛЕЕ в игрек положи результат перемножения B и C
на языке описания аппаратуры означает
возьми микросхему сумматора, подключи к входам Х и А, выход будем именовать как B
возьми микросхему перемножителя и подключи к входам B и С, выход будем именовать как Y
на выход из схемы подай Y.
по сути это схема.
другой пример:
двигатель подключить к сцеплению, сцепление управляется педалью, вал от сцепления подать на коробку передач, ту вал от коробки передач завести в дифференциал из него два вала на передние колёса.
1. Код переносим, ВСЕГДА, СО ВСЕГО , НА ВСЁ, ЛЮБОЙ ФИРМЫ (кроме AHDL - там с бубном в верилог но работает идеально).
2. Чипы все взаимозаменяемы, что вниз что вверх. Без разницы на каком чипе делать, пол часа переноса и работает в новой железке.
3. Забудьте про дрочь с переферией - вы можете её сделать любую ... и повесить на почти любую ногу ... ДАЖЕ АНАЛОГОВУЮ с небольшим обвесом.
4. Идеально всё расписано, вся дока что и как делать разложена по полочкам, даны примеры. для особых дебилов расписаны ошибки.
5. Даже если ты вообще безмозглый овощь и не справился с пунктом 4, то есть мастеры которые спросят чего ты хочешь - и сгенерят всё, включая примеры и временные диаграммы именно для твоего случая
6. Не хватает быстродействия, точности, мозгов это оптимизировать? Нужна плавающая запятая? отдельный сопроцессор? запросто - да хоть 33 битные хоть 666 битные. И да, см п 5
7. Нужны гигагерцы? Многоядерные процы? бинарная совместимость с устарелым гавном типа ДВК и нужен топовый ARM A53? всё есть в крисстале
А ложка дёгтя нужна?
1. Цена: это лютый пиздец, чипы от 1000р, отладки десятки тысячь рублей и выше, среды разработки от 1000 баксов до ста тыщь баксов. Зато можно банчить перепаивая сдохшие плисины, они могут и 10 и 100 штук баксов стоить.
2. Разрыв шаблона и мозга, всё работает паралельно. каждая строка кода, нет такого понятия как последовательность выполенния, и ещё вынос мозга, например когда A xor (not A) = 0, а потому что когда сигнал меняется, а на not A есть задержка, вот и выходит что А = 1, а not A не успел дать 0 и даёт всё ещё 1.
3. Очень долго входить в тему.
4. Не устроишся на работу - если найдёшь то собеседовать дрючить и проверять будут как СЕО - ответственность такая же, некому передать самое сложное и ключевое.
5. Софт местами кривоват и фирмы отжигают: "купите новую 10ую версию квартуса, в нём новый нескучный стильный дизайн и все формочки поновому глючат как у первой версии" НЕНАВИСТЬ!
6. Языка описания аппаратуры будем мало - надо учить TCL и язык описания времянок. это вообще за гранью ...
ну на пока хватит
Ну и заменяемы они только относительно того сколько вентилей тебе компилер наколбасил, вверх - да, вниз - вентилей не хватит.
Но в целом куда проще код на верилоге с альтеры на ксилинкс перенести, чем си для 8051 перенести на MSP430 )
если руки кривые — то конечно. нормально написанная сишная программа собирается как для MSP430, так и, например, для TMS320, ЕВПОЧЯ. и ещё прототип на персоналке, например.
поэтому я обожаю GCC и там это хотя-бы сделано нормально и переносимо, а вот в других компиляторах нет, например кодевизион авр.
Зачем нужны ПЛИС и FPGA и своя программируемая логика.
Поясняю на деле, на реальной железяке.
Вот разработал я такие вот "умные" часы, с "умных" пацанов бабло стричь.
Поставил внутрь совсем мелкую МАКС 5
Она рулят дисплеем, микроконтроллером и флешь памятью.
Благодаря этому:
1. Часы очень тонкие и круглые из стали и стекла, тоньше аппл ватча, и мотороловских.
2. Интрефейс летает
3. Работают в режиме ожидания уже год - я заебался ждать когда разрядятся. Самсунг, аппл, и все остальные, учитесь блядь делать!
4. Просто делать. разводить и модифицировать, можно влепить любой проц - китайцы не кинут сняв МК с производства. И вообще гибкость и безгеморность поддержки производства нравится, а на любые изменения реагируешь парой часов доработок под чаёк.
1. ускоритель работы с графикой,
2. Ускоритель работы с флеш памятью.
3. Управление энергопотреблением
4. Физ уровень УСБ.
А фишка в том что на максе можно сделать асинхронную схему которая работает в статике и сама себя умеет обесточивать, а так же сама себя включать как барон Менхаузен доставая сама себя из болота.
Во вторых: хорошо оттюненая JVM будет работать почти с такой же скоростью.
В третьих назовите мне хотя бы один случай когда вручную написанный ассемблер был быстрее генерированного с си.
Типизация, дженерики, с указателями играться без ансэйва нельзя. Единственное, что стоило пофиксить, когда передирали яву, - это NPE. Ну и конкурентные концепции могли сделать лучше...
Короче, о ногах заботится больше разве тока цейлон, не?