Easyelectronics.ru

Электроника для всех
Текущее время: 13 авг 2020, 08:14

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 155 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.
Автор Сообщение
 Заголовок сообщения: Re: Java Embedded
СообщениеДобавлено: 21 июл 2013, 19:02 
Старожил

Зарегистрирован: 08 окт 2012, 00:25
Сообщения: 871
Т.е. ... сейчас под STM32 её толком и нет... а в 2547г. жабы уже не будет... как таковой... :)))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Java Embedded
СообщениеДобавлено: 21 июл 2013, 19:37 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1362
reptile писал(а):
а смысл ? Это то же самое что вернуться обратно к ассемблеру.
вся индустрия движется наоборот - к повышению уровня и абстракции (Asm -> C -> C++ -> Java/C# -> Scala/F#/Nemerle).

Для меня, как это может выглядеть не парадоксально, Си язык больше в себе несёт ассемблерную составляющую, чем Форт.

1. Уровеннь "мощности" языка (синтаксис - семантика) нет возможности изменить. (в Форте обычно останавливаются на формировании необходимого целевого лексикона слов)
Слова можно называть как подсказывает интуиция ни чем не ограничиваясь, кроме разделителя межд ними. и почти не создавая дополнительных комментариев.
2. Необходимость постоянно описывать типы переменых, хотя в 90% слуаев это обычно int или char
3. Скобки, например, легко заменяются самими управляющими словами языка IF ELSE THEN CASE BEGIN AGAIN DO LOOP и др.
(сами управляющие слова это такие же слова как и другие, например + , но созданные с признаком немедленного исполнения в процессе
создания системы)
4. Переменная цикла, в большинстве случаев "пробегает" последовательно диапазон с регулярным наращиванием счётчика.
и нет необходимости в придумывании ей имени, например, кроме I J K
5. Возможность параметризовать процедуру в Форте (например передать просто параметры цикла)
6. Задействовав механизм CREATE ... DOES> в процессе трансляции программы перехватывать локально управление компиляцией кода
по созданию необходимых структур данных и их вектору обработки.
7. Иметь полное представление об устройстве Форт системы и активно задействовать её компоненты при разработке.
8. Работать с базовыми переменными, представляющими указатель на зарезервированную область памяти.
или при необходимости использовать переменые по значению, а также именованные локальные переменные.
9. Иметь возможность управлять стеками возврата и данных для реализации необходимых схем управления.
10. Лаконичная структура программы составленая из "однородных" элементов.
(+ неименованная передача параметров -( без связи локальных и формальных параметров )- позволяет просто изменять структуру кода)
11. Структура, в виде, словариков хранения кода программы (подобие простого ООП )
12 Модель внутреннего плоского пространства памяти, с возможностью дополнительно задействование функцию ALLOC, при необходимости
13 ....пока остановлюсь на этом:)

P.S. Вы можете возразить, что многое из перечисленного "cубъективно" оценено как преимущество и присутствует также и в Си под другим "соусом" (а если нет, то может и не нужно или незначительно) и будете правы, но в Форте оперирование элементами языка просто и эффективно без необходимости многих ненужных декоративных элементов (телодвижений с клаиатурой).
Низкоуровневостью может выглядеть (впрочем как и в Си оперирование переменными) только в частичной необходимости оперировать элементами стека при несостыковке параметров между словами, (обычно параметры передачи между словами согласованы при программировании) но это самое малое зло из всех возможностей Форт программирования и при этом, в особо, тяжёлых случаях, есть например механихм локальных переменных или малого количества
глобальных переменных.
А задействование стека даёт дополнительный уровень (4-е измерение), проектирования кода программ. Хотя чем и как считать уровни программирования на Форте это отдельный вопрос. Отсюда Форт легко перекрывает разные уровни понимания программирования и становится тем, как и что вы на нём
проектируете в проблемной(целевой) области.
Java байт код это низкоуровневый ассемблер стековой машины,но никак не Форт язык, также как регистровая архитектура процессора это не Си язык:)
Между тем Форт не сходит с "пользовательского" рынка и регулярно обновляются некоторые интересные Форт системы и появляются другие
разные Форт разработки.


Последний раз редактировалось KPG 21 июл 2013, 20:17, всего редактировалось 12 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Java Embedded
СообщениеДобавлено: 21 июл 2013, 19:40 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1362
dark_user писал(а):
Т.е. ... сейчас под STM32 её толком и нет... а в 2547г. жабы уже не будет... как таковой... :)))

Эка как Вас "понесло":) Конечно не будет, также как и Си. и всего что сейчас кажется незыблимым.
ИИ, надеюсь уже создадут и чловечество не впадёт в "маразм"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Java Embedded
СообщениеДобавлено: 21 июл 2013, 20:21 
Старожил

Зарегистрирован: 10 авг 2011, 19:26
Сообщения: 632
>>А задействование стека даёт дополнительный уровень (4-е измерение), проектирования кода программ

стек в Форте - как раз самый большой тормоз. Похожее было с процессорными архитектурами - в х51/PIC/6800 большинство операций - через аккумулятор.
в АВР/АРМ/MIPS можно использовать несколько регистров, которые равноправны - уменьшается количество обращений к ОЗУ, в функциях многие локальные переменные умещаются в регистры. В результате производительность даже компилированного Форта недалеко ушла от интерпретаторов.

что касается "мощности" языка - так и в С он тоже расширяется, теми же функциями, причем нет органичений стековой машины, и уровень оптимизаций еще на этапе компиляции - на порядок выше того же Форта.

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

>>жабы уже не будет... как таковой...

уже сейчас процент использования чистой Java уменьшается, в пользу языков более высокого уровня - Scala/Clojure/Groovy.
большой плюс - VM и библиотека (и все прежние наработки) остаются.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Java Embedded
СообщениеДобавлено: 21 июл 2013, 20:44 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1362
reptile писал(а):
>>А задействование стека даёт дополнительный уровень (4-е измерение), проектирования кода программ

стек в Форте - как раз самый большой тормоз. Похожее было с процессорными архитектурами - в х51/PIC/6800 большинство операций - через аккумулятор.
в АВР/АРМ/MIPS можно использовать несколько регистров, которые равноправны - уменьшается количество обращений к ОЗУ, в большинстве функций локальные переменные умещаются в регистры. В результате производительность даже компилированного Форта недалеко ушла от интерпретаторов.

А меня "не совсем" интересует аппаратная производительность кода, хотя со стековыми архитектурами не всё однозначно и это не аккумулятор,
всё же по своему использованию. Был бы комерческий компилятор, то и это не так важно, или какие то оптимизации в Форт системе включить тоже
можно. в SPF4, например, достаточно неплохо отрабатывает макрооптимизация Форт кода для исполнения в X86 процессоре, а в других платных Форт
системах или закрытых, почти нет проблем с этим. Меня больше устраивает использование стека для построения коротких фраз из слов.
Для инструментария+ связующего ПО, например, и не настолько (а насколько?) критичных задач к быстродействию, но критичных к размеру Форт неплохо подходит к использованию (это много контроллерных применений).

reptile писал(а):
что касается "мощности" языка - так и в С он тоже расширяется, теми же функциями, причем нет органичений стековой машины, и уровень оптимизаций еще на этапе компиляции - на порядок выше того же Форта.
.

! Синтаксис и семантика не подстраиваются под потребности программиста.

reptile писал(а):
Ну и читабельность программ - отдельный вопрос.
Простенькие примеры на десяток строк - еще более-менее, но разобраться в программе на несколько сотен/тысяч строк, особенно со сложной арифметикой - ужос...

Да читабельность вполне приличная, а кто же заставляет писать "сложные" математические формулы в RPN? Добавьте расширение в язык или IDE
если у вас такие потребности. Примеров достаточно и они уже давно обкатаны. так же как и добавление к языку других "предпочтений"
Также достаточно математических алгоритмов можно найти для стека, если используется стековый процессор.

reptile писал(а):
>>жабы уже не будет... как таковой...

уже сейчас процент использования чистой Java уменьшается, в пользу языков более высокого уровня - Scala/Clojure/Groovy.
большой плюс - VM и библиотека (и все прежние наработки) остаются.

Есть ещё, например мало распространённый Factor тоже претендующий на свой кусок рынка:)


Последний раз редактировалось KPG 21 июл 2013, 20:49, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Java Embedded
СообщениеДобавлено: 21 июл 2013, 20:46 
Старожил

Зарегистрирован: 22 мар 2010, 22:54
Сообщения: 3995
зря вы тут опять про форт завели, ой зря...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Java Embedded
СообщениеДобавлено: 21 июл 2013, 20:53 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1362
Ink писал(а):
зря вы тут опять про форт завели, ой зря...

Х.З. Обычно каждому близко своё "болото", а Java, всё же это стековая модель выполнения кода.
Тем более, что есть и Российский выпускаемый "Форт" контроллер и с цифрой 5.
P.S. Думаете, что может быть, как в прошлый раз?:)


Последний раз редактировалось KPG 21 июл 2013, 20:59, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Java Embedded
СообщениеДобавлено: 21 июл 2013, 20:58 
Старожил

Зарегистрирован: 10 авг 2011, 19:26
Сообщения: 632
>>а Java, всё же это стековая модель выполнения кода

только нужно различать язык и VM. Например Dalvik - регистровая VM.
ну и еще существуют компиляторы Java (gcj, J2ObjC, RoboVM).


Последний раз редактировалось reptile 21 июл 2013, 21:09, всего редактировалось 3 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Java Embedded
СообщениеДобавлено: 21 июл 2013, 20:59 
Старожил

Зарегистрирован: 08 окт 2012, 00:25
Сообщения: 871
KPG писал(а):
не будет, также как и Си. и всего что сейчас кажется незыблимым.

Та да... "Юзера дурковали по чёрному!"(С)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Java Embedded
СообщениеДобавлено: 21 июл 2013, 21:00 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1362
reptile писал(а):
>>а Java, всё же это стековая модель выполнения кода

только нужно различать язык и VM. Например Dalvik - регистровая VM.
ну и еще существуют компиляторы Java.

А разве аппаратно поддержанный дальвик существует?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Java Embedded
СообщениеДобавлено: 21 июл 2013, 21:06 
Старожил

Зарегистрирован: 10 авг 2011, 19:26
Сообщения: 632
>> А разве аппаратно поддержанный дальвик существует?

уточните что значит "аппаратно поддержанный" ?
во всех старших АРМах в том или ином виде есть возможность ускорения (или даже прямого выполнения) инструкций VM.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Java Embedded
СообщениеДобавлено: 21 июл 2013, 21:09 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1362
reptile писал(а):
>> А разве аппаратно поддержанный дальвик существует?

уточните что значит "аппаратно поддержанный" ?

Уровень АППАРАТНОГО исполнения и ускорения команд регистровой виртуальной машины. (или это лишнее и пусть код "пухнет" на имеющемся ядре?)

P.S. надеюсь, что ускоряется так или иначе, а то бы был тормоз:)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Java Embedded
СообщениеДобавлено: 21 июл 2013, 21:14 
Старожил

Зарегистрирован: 10 авг 2011, 19:26
Сообщения: 632
по кр.мере там есть JIT, который ускоряет вполне ощутимо:
http://crave.cnet.co.uk/mobiles/android ... -49305763/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Java Embedded
СообщениеДобавлено: 21 июл 2013, 21:20 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1362
reptile писал(а):
по кр.мере там есть JIT, который ускоряет вполне ощутимо:
http://crave.cnet.co.uk/mobiles/android ... -49305763/

Тестируют Android устройства и называют Java VM? или внутри андроида ещё запустили JVM? (не совсем понял)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Java Embedded
СообщениеДобавлено: 21 июл 2013, 21:24 
Старожил

Зарегистрирован: 10 авг 2011, 19:26
Сообщения: 632
>>Тестируют Android устройства и называют Java VM?

да, Dalvik - по сути одна из реализаций Java VM


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Java Embedded
СообщениеДобавлено: 21 июл 2013, 21:28 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1362
reptile писал(а):
>>Тестируют Android устройства и называют Java VM?

да, Dalvik - по сути одна из реализаций Java VM

У них есть стимул ускорять - пусть ускоряют пока получается, а x86 сходит с рынка?
Мне аппаратные их "замарочки" не так интересны.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Java Embedded
СообщениеДобавлено: 21 июл 2013, 21:40 
Старожил

Зарегистрирован: 22 мар 2010, 22:54
Сообщения: 3995
говорить о стековой архитектуре при наличии jit - не имеет смысла.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Java Embedded
СообщениеДобавлено: 21 июл 2013, 21:48 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1362
Ink писал(а):
говорить о стековой архитектуре при наличии jit - не имеет смысла.

Как и какие архитектуры для ускорения ВМ будут разработаны и какой JIT будет использован будет
видно, если это доберётся до контроллеров. Но X86 с их JIT "сливают" ARM JIT.
А так, да мало смысла:)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Java Embedded
СообщениеДобавлено: 21 июл 2013, 21:53 
Старожил

Зарегистрирован: 22 мар 2010, 22:54
Сообщения: 3995
x86 jit сливает arm jit? как это?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Java Embedded
СообщениеДобавлено: 21 июл 2013, 21:56 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1362
Ink писал(а):
x86 jit сливает arm jit? как это?

Intell не могут почти конкурировать по "пользовательским" характеристикам на Аndroid устройствах с использованием Х86 процессорного направления.
(или эта информация уже устарела?)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Java Embedded
СообщениеДобавлено: 21 июл 2013, 22:13 
Старожил

Зарегистрирован: 10 авг 2011, 19:26
Сообщения: 632
>> Intell не могут почти конкурировать по "пользовательским" характеристикам на Аndroid устройствах с использованием Х86 процессорного направления.

по скорости - вполне конкурирует: http://hothardware.com/Reviews/Intel-Cl ... ew/?page=3

по цене/интеграции - да, наверно вряд ли сможет конкурировать с Allwinner/Mediatek/Rockchip и т.д.
поэтому и не видно сейчас планшетов/смартфонов на Интеле.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Java Embedded
СообщениеДобавлено: 22 июл 2013, 01:53 
Старожил

Зарегистрирован: 22 мар 2010, 22:54
Сообщения: 3995
вообще-то я все равно не понял. планшеты и смарты на интеле ЕСТЬ и давно. это не тот интел, который дома на десктопе (по моще), но все равно интел. не стоит сравнивать разные ниши (десктопы и смарты). вы бы х86 еще с авр сравнили.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Java Embedded
СообщениеДобавлено: 22 июл 2013, 03:03 
Старожил

Зарегистрирован: 10 авг 2011, 19:26
Сообщения: 632
>>и я ставлю на то, то по моще интел уделает нахрен любые армы. и потому, я не понимаю, как он может слить арму в jit.

в этом сегменте нужно учитывать потребление (вся система - до 2..5 Вт) и размер кристалла (вполне возмоно что на площадь 4 ядер Атома влезут 16 ядер Cortex-A7).
http://www.phonearena.com/news/Intel-At ... te_id45271


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Java Embedded
СообщениеДобавлено: 22 июл 2013, 03:41 
Старожил

Зарегистрирован: 22 мар 2010, 22:54
Сообщения: 3995
потребление да, но речь шла про эффективность jit, на скока я понял.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Java Embedded
СообщениеДобавлено: 26 ноя 2013, 17:13 
Здравствуйте!

Зарегистрирован: 26 ноя 2013, 16:49
Сообщения: 2
А тем временем Oracle выпустила официальную версию Java ME Embedded для STM32. Примечательная особенность в том, что она портирована на STM32F4DISCOVERY. Те у кого есть такая плата и имеют интерес к Java могут уже сейчас попробовать.

Описание виртуальной машины Java ME Embedded, со всеми "достоинствами" использования Java для embedded программирования:
http://www.oracle.com/technetwork/java/ ... index.html
И quick start (Beta Draft: 2013-10-07):
http://docs.oracle.com/javame/config/cl ... ro/toc.htm

У меня STM32F4DISCOVERY нету, да и времени свободного тоже. Кто нибудь может попробовать это "чудо" и написать о результатах, хотя-бы о максимальной частоте GPIO-дрыганья?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 155 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB