Перейти к содержанию
    

Ява на МК - глупость и не более.

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

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

сандвиче Ява/хардвар, "почему на С работает, а на Яве нет".

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ява на МК - глупость и не более.

Ага скажите это производителям - продвигающим Java для МК и в частности Android OS запускающей Java софт (после конвертации) на Androidе :)

 

P.S. Java байт код - код стековой машины, но в сравнении с Форт концепцией обладает достаточно большой избыточностью.

Вместе с тем Imsys своей родословной обязаны стековым процессорам,

как и picoJava . И где сейчас PatriotScintific (вроде), если кто помнит. Запуск Java байт кода мохно осуществить и в рамках AVR архитектуры (примерно 12K кода и была тема лет 8 назад по запуску Java на МК на electronix)

Изменено пользователем Kopa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ага скажите это производителям - продвигающим Java для МК и в частности Android OS запускающей Java софт (после конвертации) на Androidе :)

 

P.S. Java байт код - код стековой машины, но в сравнении с Форт концепцией обладает достаточно большой избыточностью.

Вместе с тем Imsys своей родословной обязаны стековым процессорам,

как и picoJava . И где сейчас PatriotScintific (вроде), если кто помнит. Запуск Java байт кода мохно осуществить и в рамках AVR архитектуры (примерно 12K кода и была тема лет 8 назад по запуску Java на МК на electronix)

1. Продвигают много чего.. Вон Qualcomm тоже был недоволен количеством ядер в процессорах. Это бессмысленно, чисто маркетинговый ход,

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

Народ в массе не разбирается.

 

2. "Можно" не значит нужно. В основном делают для "а вот я могу" или подобного.

Чем поможет Java в 12к на АВР? По моему, ничем, был бы смысл, она бы прижилась.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На мой взгляд, языком следующего поколения встраиваемых устройств вполне может стать Эрланг (Erlang - ERicsson LANGuage). Основные свойства языка: встроенная многопоточность с автоматической балансировкой нагрузки по узлам, "горячее" обновление кода без перезагрузки узла. Работу Эрланга на "Малинке" можно увидеть здесь:

Erlang embedded - episode 1

Erlang embedded - episode 2

Erlang embedded - episode 3

Erlang embedded - episode 4

Изменено пользователем Enthusiast

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Продвигают много чего.. Вон Qualcomm тоже был недоволен количеством ядер в процессорах. Это бессмысленно, чисто маркетинговый ход,

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

Народ в массе не разбирается.

 

2. "Можно" не значит нужно. В основном делают для "а вот я могу" или подобного.

Чем поможет Java в 12к на АВР? По моему, ничем, был бы смысл, она бы прижилась.

Какие именно характеристики ухудшает количество ядер от Квалкомма? Одноядерный APQ8064 у меня кушает более всех. Потом обзавелся LG G2 и Galaxy 10 2014 - на 800 снэпдрагоне о 4 ядра - теперь о батарее не сильно волнуюсь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Какие именно характеристики ухудшает количество ядер от Квалкомма? Одноядерный APQ8064 у меня кушает более всех. Потом обзавелся LG G2 и Galaxy 10 2014 - на 800 снэпдрагоне о 4 ядра - теперь о батарее не сильно волнуюсь.

Размер, стоимость, расход батареи.

"У меня был Х с один ядром, а стал У с 4мя и ест меньше не стреляет", так как У с одним кушал бы еще меньше, стоил дешевле и так далее со всеми остановками..

А что 8 ядер улучшают, не ясно..

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да хоть new, хоть malloc - суть одна - любой залетевший дятел разрушит все. Посмотрите примеры программ на Java - там нет этого дебилизма.
И что тут плохово? Для дятлов сделали Java. Дай вилку дебилу, он и себе и окружающим глаза выткнет. Но если на вилку наткнуть пробку от бутылки - такая вилка доставляет определённые неудобства, зато дебилам дятлам такой прибор очень даже безопасен.

 

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

 

Жава и реалтайм - совместимые вещи? Жава гарантирует, что выполнит функцию за n тактов, и ни какой уборщик мусора не добавит m тактов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

по описанию языка, когда-нибудь уборщик мусора освободит эти 100 байт. Но когда?

Чего тут сложного? Наверняка используют reference counting. Блок остался бесхозным - и подлежит удалению при следующем обращении к манагеру памяти.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Жава и реалтайм - совместимые вещи? Жава гарантирует, что выполнит функцию за n тактов, и ни какой уборщик мусора не добавит m тактов?

 

Почему как только речь заходит о Java сразу просыпается трогательное внимание к риалтайму?

 

А что, C-и жестко риалтаймный? Особенно его функции printf, scanf и т.д.?

Как C-и так и Java нужно приучать к риалтайму. Делать профайлинги, проектировать HAL и проч.

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что, C-и жестко риалтаймный? Особенно его функции printf, scanf и т.д.?

Жестко. printf(buff, "Hello world!"); как ни крути, в какое время не вызови - выполнется за определённое время тактов. ни тактом больше ни тактом меньше.

 

ps. сорри, printf не пользую, мож там из-за потока может быть задержка. Но sprintf(buff, "Hello world!") - тут уж точно, такт в такт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Видимо, подразумевалась работа с кучей при вызове printf, sprintf.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...