Easyelectronics.ru

Электроника для всех
Текущее время: 10 апр 2020, 15:34

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



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 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
Сообщения: 1244
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
Сообщения: 1244
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
Сообщения: 1244
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
Сообщения: 1244
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
Сообщения: 1244
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
Сообщения: 1244
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
Сообщения: 1244
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
Сообщения: 1244
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
Сообщения: 1244
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
Сообщения: 1244
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 часов


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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

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