LINUX.ORG.RU

Где познать микроджаву(она же J2ME) в 2025?

 ,


0

4

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

А оперативки у меня мало(на всех устройствах), поэтому хотелось бы ощутить себя не говноедом, а сильным и бесстрашным чувачком, которому выделяемых 1.5 МБ рамы будет достаточно для запуска и нормальной работы. Да и ребят таких уже искать надо днём с огнём - у меня на ноутбуке четвёртая крыса по 700 мегабайт отжирает, при этом без композиторов и с отключёнными эффектами, а к этим 700 мегабайтам ещё прикатываются мегабайты выделенной памяти для встройки…

Собсна, хочу кое-что(игру) портировать(хотя бы попробовать) на красавицу микроджаву. В наличии:

  • Nokia какая-то, слабая и страшная(128x160)
  • Sony Ericsson K790i(240x320, 1 MB for Heap)
  • Samsung GT-C3050(128x160, 1 MB for Heap)

Хотелось бы заиметь и тестовую мобилу с экраном 178x220 и, хотя бы, 1,5 мегабайт под кучу… А какой смысл искать такую мобилу, если ты писать не умеешь?

А где научиться? Есть какие-нибудь гайды для утырка, не умеющего читать документации(для Golang такие есть, причём даже много)? Есть какие-нибудь аддоны на Visual Studio Code, чтобы ошибки копмиляции подсвечивались и указывали на конкретные строки?

P.S: Пытался установить NetBeans 10.0, ибо он, вродк как, должен быть не таким новым, чтобы не поддерживать микроджаву. Из исходников собрать не смог - что-то не смогло подкачаться с накрывшегося central.maven.org. Новый NetBeans 24 не умеет в микроджаву, а для аддона SDK с сайта Ораклов нужна лютая регистрация*

Перемещено hobbit из general



Последнее исправление: Tyse_EX (всего исправлений: 1)

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

На питоне пишут потому, что это хороший язык. И у него есть «быстрая» реализация, называемая PyPy.

И есть реализация MicroPython для платформ с ограниченными ресурсами.

kaldeon
()
Последнее исправление: kaldeon (всего исправлений: 2)

Начинать изучение языка с j2me не стоит. Толкового из книг по ней мало. Как по мне, стоит начать со стандартной java se. Там и материала на порядки больше и айдиешки/сдкашки живы, обновляются и легко устанавливаются.

А после нормальной джавы тебе будет проще разобраться с j2me, по крайней мере будешь понимать базовые принципы и куда копать. Ну и весь остальной мир будет открыт — хочешь андроид, хочешь java ee. Но java se для всего является базисом.

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

IMHO, пока есть живые пользователи (нет, не собиратели ретро, а именно в повседневной жизни) платформа тоже живет.

Если выбор языка не принципиален, смотри в сторону MIDlet Pascal: https://annimon.com/forum/id315812

Но зачем? Для j2me применимы все знания j2se (по сути её урезанный вариант). А паскаль это язык, который уже нечасто применяется (хотя я недавно ради интереса Lazarus поставил посмотреть).

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

Начинать изучение языка с j2me не стоит. Толкового из книг по ней мало.

не соглашусь, было в свое время порядочно книг.

Как по мне, стоит начать со стандартной java se. Там и материала на порядки больше и айдиешки/сдкашки живы, обновляются и легко устанавливаются.

во-первых полагаю, что ТС её уже знает. Да и java это не тот язык, который долго/сложно изучается. Во-вторых он хочет приложения писать, а не изучать. Для простых приложений типа «форма посылающая сетевой запрос и отображающая ответ», много изучать не надо.

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

Латинский язык тоже живёт, только не с кем на нём поговорить.

А паскаль это язык, который уже нечасто применяется

Применяется для введения в программирование с нуля [1]. Он для этой задачи и был создан. А наш клиент написал, что хочет чего-нибудь попроще.

1: http://stolyarov.info/files/anti_c_v03.pdf

kaldeon
()
Последнее исправление: kaldeon (всего исправлений: 1)

Тебе обязательно под *nix?
я тебе уже отвечал тут (Научите... ставить 32-битную джаву...(Arch Linux) (комментарий)), что инструментарий был в основном под MS Windows. Я бы просто взял VM c MS Windows XP/Vista/7 и накатил софт (у меня до сих пор где-то валяются CD с набором «всё для разработки под j2me»).

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

Вообще нонфактор. Старые книги по старой платформе j2me никуда не делись. sdk от производителей телефонов тоже должны гуглится. Если есть конкретная цель на j2me, то нет смысла растекаться мысью по дереву всех ипостасей жабы

cobold ★★★★★
()

Вокруг одни говноеды

Привет, Д’Артаньян.

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

Не питонисты определяют рынок, а рынок их. За Python платят, поэтому на нём пишут.

Если хочешь настоящего хардкора, то добро пожаловать в Си и embedded. Хочешь быть на переднем крае — https://docs.rust-embedded.org/book/

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

что инструментарий был в основном под MS Windows.

В этом и проблема. Не только потому, что я совсем не хочу туда переходить, но

VM c MS Windows XP/Vista/7

не всегда могу так сделать(не могу развернуть на ноутбуке из-за нехватки ОЗУ)

Tyse_EX
() автор топика

У тебя какие-то странные представления обо всём и странная попытка это исправить занимаясь разработкой под мёртвую для всех мыслимых и немыслимых применений платформу.

Ты лично измерял скорость и производительность Python, потребление памяти? Где именно тебе не хватило производительности, где не хватило памяти?

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

И производительности и памяти всегда хватает, за всё время могу припомнить лишь несколько случаев, когда приходилось оптимизировать по производительности, и далеко не всегда из-за самого Python - любая сложная система состоит из кучи компонентов, и оптимизировать их надо комплексно, все вместе.

И чем исправит существующее положение разработка под абсолютно мёртвую платформу? Чьи проблемы это решит? Как разработка на мёртвом языке под мёртвую платформу поможет решать проблемы в реальном мире, который уже лет 20 как ушёл далеко вперёд?

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

не могу развернуть на ноутбуке из-за нехватки ОЗУ

DDR1 что-ли на ноуте?

И что аж прям никак вообще память не апгрейднуть? На моём всратом асере 2013 года и то два слота есть под ddr3.

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

Тем самым, которых я описал - не платят. Вообще ничего не платят

Это мнимые питонисты. С практической точки зрения можно считать, что они не оказывают влияния на нашу реальность, поскольку существуют на промежутках меньше планковского времени.

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

DDR1 что-ли на ноуте?

Таки нет, 4 гига DDR3

И что аж прям никак вообще память не апгрейднуть?

А надо?

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

А надо?

не всегда могу так сделать(не могу развернуть на ноутбуке из-за нехватки ОЗУ)

Сам уже определись, чё те надо иль не надо. Про ложку и ножик могу миниатюрку рассказать.

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

не всегда могу так сделать(не могу развернуть на ноутбуке из-за нехватки ОЗУ)

Когда я писал j2me мидлеты, у меня на ПК было 512MB RAM. И там отлично работал Borland JBuilder. Иногда запускались VM с 64-128MB RAM (под VMware Workstation ещё без аппаратной виртуализации), правда не для целей разработки. ;-)

MirandaUser2
()

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

В каждом углу сидят яваскриптёры.

wenxuan
()

Хотелось бы заиметь и тестовую мобилу с экраном 178x220 и, хотя бы, 1,5 мегабайт под кучу…

А зачем это в 2025 году, когда андроидофоны сравнялись по ценам с кнопочными?

Богдан, це тi, чи хто?
Ygor ★★★★★
()
Ответ на: комментарий от Chiffchaff

Тут ты врёшь, конечно - какой хайлоуд на питоне. Ну то есть писать на нём масштабируемо можно, как в общем-то и на любом языке. И даже обрабатывать много запросов можно, если залить железом. И называть это (и вообще что угодно) хайлоудом тебе никто запретить не может. Но в профессиональном сообществе на это только у виска покрутят.

Я вот не буду бить себя пяткой в грудь и рассказывать какой охрененный хайлоуд пишу, я пишу сраный лоулоуд сервис на VPSке под 10RPS. Был он у меня на питоне, стал на rust. Получил профит в 10x перфа, 25x памяти и значительные улучшения latency метрик на p95 и выше (*). И знаешь, если бы я себя нанимал, я бы себя за это уволил за то что месяц убил не на что -оно как работало на одной VPS’ке так и работает, а пользователи ответа могут и 10 секунд подождать, а если не могут то пусть катятся нахрен.

Но у вас в вашей компании название которой всем известно уволят того кто сейчас предложит писать сервис на питоне. Понятно что то что ты сейчас пишешь уже никто переписывать не будет, но 10x железа под действительно нагруженный сервис в наши тяжёлые времена никто уже не даст, и за просадку p99 вас по голове не гладят, насколько я знаю.

(*) Пара ремарок по профиту. Ну про то что питон до 30x медленнее на вычислениях все знают, но для многих и для меня в том числе было открытие что он такой медленный даже в database-bound задачах, потому что моё приложение, по сути, достать из базы и отдать в шаблон, никакой сложной логики. Памяти так много потому что он сам по себе жрёт около 150MB на процесс против 28MB у раста. А процессов нужно как минимум по числу ядер, потому что в многопоточность он не умеет, а асинхронщина не спасает т.к. как показано выше, даже io-bound в питоне cpu-bound. Кроме того, с асинхронщиной ещё сильнее растёт latency. Ну и как там не изголяйся, даже если ресурсов хватает, в вебе нагрузка характерна пиками, а значит если даже оно в норме ест 20-30% CPU, периодически оно будет упираться в полку (особенно из-за AI ботов, с которыми ничего не сделать, т.к. они приходят каждый раз с разных IP, с разными UA, и даже анубиса честно проходят), и это скажется на юзерах, которые будут получать ответы по 10 секунд или пятисотки.

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

anonymous
()

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

Бери любой компилируемый язык и пиши эффективный софт, можешь под PC, можешь под любой понравившийся тебе микроконтроллер. Тут тебе и документация, и примеры, и готовые проекты, и современный тулинг, и возможность уделать какой-нибудь реальный проект на каком-нибудь шлаке типа того же js, питона/микропитона или жавы, и возможность это выложить в опенсорс получив больше нуля лайков/приложить к резюме/начать продавать - по вкусу, т.е. в целом как найти применение проекту, так и опыту полученному при его разработке. В случае эмбеддовки ещё меньше ограничений (но это по желанию - возможность взять контроллер с меньшим объёмом памяти есть всегда) и больше периферии (от встроенной типа usb/pwm/i2c/adc/dac до внешней типа копеечных bluetooth/gps/nfc/wifi/gsm/радио/любые датчики) на которой можно делать действительно интересные штуки.

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

Тут ты врёшь, конечно - какой хайлоуд на питоне. Ну то есть писать на нём масштабируемо можно, как в общем-то и на любом языке. И даже обрабатывать много запросов можно, если залить железом. И называть это (и вообще что угодно) хайлоудом тебе никто запретить не может. Но в профессиональном сообществе на это только у виска покрутят.

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

Например:

  1. На вакансии
  2. На утёкший код
  3. На статьи из компаний, где они пишут, на каком стеке и под какие требования разрабатывают

Я вот не буду бить себя пяткой в грудь и рассказывать какой охрененный хайлоуд пишу, я пишу сраный лоулоуд сервис на VPSке под 10RPS. Был он у меня на питоне, стал на rust. Получил профит в 10x перфа, 25x памяти и значительные улучшения latency метрик на p95 и выше (*). И знаешь, если бы я себя нанимал, я бы себя за это уволил за то что месяц убил не на что -оно как работало на одной VPS’ке так и работает, а пользователи ответа могут и 10 секунд подождать, а если не могут то пусть катятся нахрен.

Я слежу за вакансиями, и вакансии на Rust появляются в лучшем случае раз в месяц.

И я практически не знаю серьёзного продового highload на Rust. Не потому, что это невозможно - уверен, что возможно. А потому, что бизнесу надо зарабатывать деньги. И бизнес чётко понимает, что сервис на «плохом» питоне, зато здесь и сейчас, позволит заработать денег. А «идеальный» сервис на «идеальном» Rust появится значительно позже конкурентов, и похоронит компанию. Где-то даже видел конкретные кейсы, но не сохранил. Какие-то компании пытались писать на Rust, но людей найти сложно, и длительность разработки, естественно, выше.

Но у вас в вашей компании название которой всем известно уволят того кто сейчас предложит писать сервис на питоне. Понятно что то что ты сейчас пишешь уже никто переписывать не будет, но 10x железа под действительно нагруженный сервис в наши тяжёлые времена никто уже не даст, и за просадку p99 вас по голове не гладят, насколько я знаю.

С чего ты взял про 10x железа - ты лично считал? Или просто от балды пишешь. Ничего, что в очень многих сервисах основное, чем занимается код - ожидание сетевого/дискового I/O, и смысл оптимизировать перекладыватель из SQL в JSON до наносекунд, если основное время и нагрузка приходится на сервер СУБД.

Памяти так много потому что он сам по себе жрёт около 150MB на процесс против 28MB у раста.

Смешные по нынешним меркам цифры, что одна, что вторая. Нет смысла экономить на таком масштабе - ничего не наэкономишь, зря потратишь время на микрооптимизации, которые ничего не дадут. А время стоит денег.

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

На колу мочало, начинай сначала. Просто вбей в поисковик «highload python» прежде, чем позориться.

А Perl был настолько отвратительным языком, что когда он умер (ещё 20 лет назад!) по нему даже никто не всплакнул. Быстрее он или нет - может интересовать лишь компьютерных археологов.

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

но никто не станет спорить с тем, что значительная часть написана на Python

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

Я слежу за вакансиями, и вакансии на Rust появляются в лучшем случае раз в месяц.

А почему ты привязался к Rust, когда это был всего лишь пример и в каком-то роде эталон производительности? Можно взять любой не патологически медленный язык. Даже не компилируемый, даже отстающий от C/C++/Rust в пару раз, но не в несколько же десятков. Хоть го, хоть жаву, хоть тайпскрипт. Там ни со скоростью разработки проблем не будет, ни с поиском кадров.

С чего ты взял про 10x железа - ты лично считал?

Да, я лично считал, и про это написал. Ты, верно, отвечаешь на то что даже не читал.

Ничего, что в очень многих сервисах основное, чем занимается код - ожидание сетевого/дискового I/O, и смысл оптимизировать перекладыватель из SQL в JSON до наносекунд, если основное время и нагрузка приходится на сервер СУБД.

Ничего. Ты абсолютно точно отвечаешь на то что даже не читал, а я ясно написал что это ускорение именно перекладывателя из БД в HTML.

Смешные по нынешним меркам цифры, что одна, что вторая

Ой, да что ты. Они там даны чтобы показать как сэкономилось 25x памяти. 25x тоже смешная цифра? Давай сравним твою зарплату и просто электричество для питания настоящего хайлоуда умноженное на 25, и вместе посмеёмся. А если зарплата вдруг окажется выше, то посмеюсь только я, потому что тогда получается что тебя хайлоуд такой же как у меня. На полутора недомашинках ;)

anonymous
()

Поставь 32-битную JDK 8, netbeans 7.4 и оракловский SDK – все это прекрасно работает под блидинг эдж рачем прямо сейчас.

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

SDK можно добыть без реги – https://github.com/ProgrammerIn-wonderland/Setting-Up-j2me-in-2025-archlinux/

По ссылке используется нетбинс 8.2 но в нем дебаг j2me не работает, в 7.4 из архивов интернета – работает.

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

Учась на втором курсе я хотел на этом мидлет паскале написать решалку СЛАУ. Но не тут то было… Там не было типов с плавающей запятой. Пришлось делать на джаве, но и там мой телефон не поддерживал профайл, в котором добавили плавающую запятую. Но получилось найти готовую реализацию плавающей запятой. А потом я купил КПК, на который уже были все необходимые калькуляторы.

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

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

А Perl был настолько отвратительным языком, что когда он умер (ещё 20 лет назад!) по нему даже никто не всплакнул.

Modern::Perl 497 members, 87 onlinе

А, ну так совсем другое дело. Язык сразу стал отличным, коммьюнити огромным, и все резко начали писать на нём прод.

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

А зачем это в 2025 году, когда андроидофоны сравнялись по ценам с кнопочными?

Б/у андроидофон ещё несколько лет назад стоил в 2-3 раза дешевле, чем хороший refurbished телефон на j2me.
Мотивация очень простая (у меня, а не у ТС) - карманное устройство, под которое всё ещё есть рабочий софт (+возможность написать свой). Современные «кирпичи» даже в руки брать не хочется, не говоря о попытках поместить в карман.

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

под которое всё ещё есть рабочий софт

Какой такой софт на экранчике 100х200?

+возможность написать свой

Удачных раскопок в этих древних копролитах.

Ygor ★★★★★
()