Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
6 / 4 / 1
Регистрация: 28.09.2016
Сообщений: 223

Подойдёт ли Java для меня?

11.03.2020, 19:06. Показов 1796. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет!
Изучаю Питон около года. Написал на нём несколько простых программ.
Столкнулся с тем, что распространить программу на Питоне довольно сложно (нужно установить на машине интерпретатор и необходимые библиотеки), а если захочу перенести программу на смартфон, то сложности ещё увеличиваются.
Мне посоветовали обратить внимание на Java.
Подскажите, смогу ли я используя Java писать программы и не задумываться о сложности распространения? Нужно ли на ПК устанавливать дополнительные файлы для запуска программы на Java? Сложно ли программу, написанную для ПК перенести на смартфон (андроид)?
Спасибо
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.03.2020, 19:06
Ответы с готовыми решениями:

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

У меня Ноутбук на Win 8.1 и меня раздражают f1,2,3 и т.д, можно ли их включить для игрового режима
У меня эфки назначены как клавиши для повышения яркости включения автономного режима. Но можно ли как нибудь их отключать во время игры что...

помогите пожалуйста.прога на java)ну никак у меня не получается!все что есть принимается
Разработать калькулятор, вычисляющий выражения типа: 3+2-1*7=?

23
 Аватар для Aviz__
2753 / 2060 / 509
Регистрация: 17.02.2014
Сообщений: 9,488
11.03.2020, 19:23
Цитата Сообщение от pumaex Посмотреть сообщение
Мне посоветовали обратить внимание на Java.
они тебя подставили!
0
Модератор
Эксперт Java
 Аватар для alecss131
2864 / 1370 / 409
Регистрация: 11.08.2017
Сообщений: 4,393
Записей в блоге: 2
11.03.2020, 19:35
Краткий ответ выше, тут с подробностями
Устанавливать надо, программа называется jre, размер около 150мб. Можно конечно в поограмму вшить портативную версию но тогда надо будет писать еще враппер для запуска и так под каждую битность и ось.
Переносить на телефон, вот тут уже хуже) Программу надо будет переписывать почти с нуля, так как язык хоть и один но платформы то разные и для каждой свою версию кода)) Как минимум гуи везде свои, а так же разные jvm, это я про пк и андроид.
Грубо говоря обмен шила на мыло)
1
6 / 4 / 1
Регистрация: 28.09.2016
Сообщений: 223
11.03.2020, 20:13  [ТС]
Ну ладно про перенос с оси на ось я понял.
Мне сказали, что под андроид пишут чаще всего на Java.
Цитата:" На Android надо писать либо на Java, либо на Kotlin."
Это действительно так? Или преувеличение?
Ещё цитата:"Если вы хотите писать приложения в основном для андроида, видите для себя перспективы в этом направлении, то разумеется вы зря занимаетесь питоном, вам надо изучать Java. Comprender?"
Хотелось бы услышать ваше мнение.
Цитата Сообщение от alecss131 Посмотреть сообщение
Можно конечно в поограмму вшить портативную версию но тогда надо будет писать еще враппер для запуска и так под каждую битность и ось.
Это очень сложно? Сильно влияет на размер файла?
0
Модератор
Эксперт Java
 Аватар для alecss131
2864 / 1370 / 409
Регистрация: 11.08.2017
Сообщений: 4,393
Записей в блоге: 2
11.03.2020, 20:37
Лучший ответ Сообщение было отмечено pumaex как решение

Решение

Для андроида пишут на 3 языках, это java, kotlin и c++. На плюсах это вроде в нативном коде и о нем почему то часто забывают. А так да, чаще все же на java. Если хотите писать под андроид то лучше учите для него, от пк версии подойдут основы.
Теперь про враппер, есть конечно готовая тулза которая собирает все в один ехе файл но вроде он с 8+ java не очень корректно работает. Я привык делать все руками, качать на оф сайте jre в виде .tar.gz и распаковывать в папку runtime внутри папки с программой. Библиотеки с самой программой помещать в папку libs и писать самому враппер для запуска на мультиплатформенном языке, я использую purebasic, хотя можно c++ или нечто подобное, главное чтобы программа собиралась в нативы ос. Программа состоит по сути из нескольких строк, назначить рабочий каталог там где лежит ехе (если винда), создать список библиотек и выполнить комманду %work-dir%/runtime/jre-x64/bin/java.exe -cp %all-libraries% %main-class% %program-args%
Итого будет 150мб jre (распакованная) + ехе около 20-30кб (где 10-20кб иконка) + размер вашей программы и используемых библиотек. Основной вес занимает jre.
Хотя сам язык конечно рассчитан на распространение в виде просто jar файлов, подразумевая что jre установлено. На java 9+ можно собрать покомпактнее jre выбрав только те части которые используются.
В сети обычно распространяют jar, хотя например в играх jre чаще вшивают, например тот же майнкрафт или недавно в стиме была игра lennas inception вроде (точно не помню) так вот там использовалось то что я описал, хотя это не вшивание а просто сбор всего в одну портативную версию с простым запуском. Потом можно будет упаковать в установщик. Но такое под каждую ось отдельно.
1
 Аватар для Aviz__
2753 / 2060 / 509
Регистрация: 17.02.2014
Сообщений: 9,488
11.03.2020, 20:42
pumaex, на мнениях других ты далеко не уедешь((. пробуй все сам! только ты знаешь чего хочешь и сколько у тебя ресурсов на освоение...
https://www.cyberforum.ru/mobile-dev/ - ветка для мобильных систем.
0
6 / 4 / 1
Регистрация: 28.09.2016
Сообщений: 223
11.03.2020, 22:35  [ТС]
Цитата Сообщение от alecss131 Посмотреть сообщение
Итого будет 150мб jre (распакованная) + ехе около 20-30кб (где 10-20кб иконка) + размер вашей программы и используемых библиотек. Основной вес занимает jre.
Т.е. если я напишу программу на Java, то скачиваю jre, делаю не очень сложные манипуляции и в результате получаю программу которую можно автономно запускать на ПК(без дополнительного ПО) или на смартфоне(если писал для андроид)
Я правильно понял?
0
Модератор
Эксперт Java
 Аватар для alecss131
2864 / 1370 / 409
Регистрация: 11.08.2017
Сообщений: 4,393
Записей в блоге: 2
11.03.2020, 22:37
Цитата Сообщение от pumaex Посмотреть сообщение
Я правильно понял?
не совсем, уточню только на пк под которую ось собрали, собрали под windows 64 то на всех компах с windows 64, 32 бита можно и на 64 запускать.
для телефона в любом случае придется писать свою версию программы, перенос с телефона на пк тоже не возможен. так как для пк собираются jar файлы а для андроида apk
1
6 / 4 / 1
Регистрация: 28.09.2016
Сообщений: 223
11.03.2020, 22:48  [ТС]
В питоне для того, чтобы программа запустилась нужно заставить пользователя установить интерпретатор Питона и все библиотеки. Превратить программу в автономную очень сложно. Всё рассчитано на то, что пользователь должен разбираться в программном обеспечении.

Добавлено через 6 минут
Цитата Сообщение от alecss131 Посмотреть сообщение
для телефона в любом случае придется писать свою версию программы,
А чем отличается программа для телефона и ПК (в общих чертах)?

Цитата Сообщение от alecss131 Посмотреть сообщение
перенос с телефона на пк тоже не возможен. так как для пк собираются jar файлы а для андроида apk
Это сложный(долгий) процесс?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
12.03.2020, 00:25
Цитата Сообщение от pumaex
Это сложный(долгий) процесс?
Да.
0
Модератор
Эксперт Java
 Аватар для alecss131
2864 / 1370 / 409
Регистрация: 11.08.2017
Сообщений: 4,393
Записей в блоге: 2
12.03.2020, 09:52
Я в андроиде не разбираюсь, но тут можно провести аналогию с c++, пк принять за windows, а андроид за линукс. язык по идее один и тот же, но вот программы чтото не переносятся между виндой линуксом, особенно если на винде программа использует winapi, а на ликсе свое. так вот между пк и андроидом нечто похожее. на пк гуи это swing awt fx а на андроиде свои, даже opengl там свой, на пк просто opengl, а на андроиде opengl es. то есть даже используя opengl для гуи не создать один код для всего, хотя opengl для гуи это харкорно и глупо))
0
6 / 4 / 1
Регистрация: 28.09.2016
Сообщений: 223
12.03.2020, 11:49  [ТС]
Я тогда не могу понять, что имеет ввиду автор книги, которую сейчас читаю.
Цитата:
"одна и та же программа Java может! быть! запущена
(работать) без каких-либо изменений на различных компьютерах,
например PC, Apple или других платформах. Фактически программы,
написанные на Java даже не знают, на каком компьютере они
выполняются, так как они выполняются внутри специальной
программной оболочки, которая называется виртуальная машина JVM (Java!Virtual!Machine).
"
Я обратил своё внимание на Java после вот таких строк.
Но люди, которые занимаются Java, например, на этом форуме (и я склонен им верить), говорят обратное.
Может быть я что-то не так понял, или автор книги имел ввиду что-то другое?
0
Модератор
Эксперт Java
 Аватар для alecss131
2864 / 1370 / 409
Регистрация: 11.08.2017
Сообщений: 4,393
Записей в блоге: 2
12.03.2020, 12:08
между компами может работать, но на каждом компе должна быть установлена jre соответствующая системе
тогда действительно код написанный один раз будет работать везде

при этом про перенос на андроид там ни слова, мобильная платформа там не имеется в виду.

хотя нет, вот так понятнее, программа будет работать везде где может работать и есть jvm, так вот на андроиде этой jvm нету, там свой аналог Dalvik.
jvm работает с байткодом, а dalvik имеет свой формат байткода отличный от jvm, это в добавок полного отличия принципов написания и работы гуи.
для анлроида программы пишутся в андроид студио, где уже есть втсроенные логгер, парсер джейсонов, opengl и возможно много чего еще, а на пк надо самому подключать нужные бибилиотеки и работать в ide для пк версии
1
68 / 18 / 0
Регистрация: 26.01.2018
Сообщений: 166
12.03.2020, 17:42
Цитата Сообщение от alecss131 Посмотреть сообщение
Устанавливать надо, программа называется jre, размер около 150мб.
А не JDK?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
12.03.2020, 17:47
Vladimir1982, JDK - для разработки, это набор стандартных библиотек. А JRE - для запуска. Это и есть JVM.
0
68 / 18 / 0
Регистрация: 26.01.2018
Сообщений: 166
12.03.2020, 17:52
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Vladimir1982, JDK - для разработки, это набор стандартных библиотек. А JRE - для запуска. Это и есть JVM.
В JRE же нет компилятора, как же без него?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
12.03.2020, 18:13
Vladimir1982, а как ты без компилятора запускаешь екзешники например?
0
68 / 18 / 0
Регистрация: 26.01.2018
Сообщений: 166
12.03.2020, 18:16
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Vladimir1982, а как ты без компилятора запускаешь екзешники например?
Свои написанные программы никак.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
12.03.2020, 18:18
JRE - Java Runtime Environment. Среда выполнения.
Сначала программа пишется и компилируется. Это JDK.
Ну а потом уж запускается. Это JRE.

Добавлено через 1 минуту
Цитата Сообщение от Vladimir1982
У меня Linux
Это не имеет значения. Мысль, я надеюсь, понял.
0
68 / 18 / 0
Регистрация: 26.01.2018
Сообщений: 166
12.03.2020, 18:20
Добавлено через 51 секунду
Цитата Сообщение от iSmokeJC Посмотреть сообщение
JRE - Java Runtime Environment. Среда выполнения.
Сначала программа пишется и компилируется. Это JDK.
Ну а потом уж запускается. Это JRE
Да.

* * *

Ему ж надо компилировать.

Цитата Сообщение от pumaex Посмотреть сообщение
Подскажите, смогу ли я используя Java писать программы и не задумываться о сложности распространения?

Значит нужно JDK.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.03.2020, 18:20
Помогаю со студенческими работами здесь

Подойдёт ли Lua для создания десктопных приложений для Windows
Всем доброго здоровичка. В последнее время, я очень увлёкся Python и присел на длительную разработку за Django, и вот недавно...

Подойдёт этот процесс для для новых игр и хороший ли он?
Intel Core i3 550 LGA1156 BOX (3.2 ГГц, 2 х 256 кб, 4 Мб) (K0) (SLBUD)

Мне нужно написать драйвер для com порта, ubuntu подойдет для этого?
Сабж, вычитал на этом форуме, что драйвер для com порта не очень трудно написать на линуксе и посоветовали для начала поставить русскую...

Подойдёт ли для видюхи та же термопаста, что и для процессора?
В частности, АлСил-3. Видюха asus gtx 560.

Подойдёт для игр?
Подскажите пожалуйста,смогу ли я,на этом ноутбуке играть в новые игры с нормальным FPS? https://www.eldorado.ru/cat/detail/71379425/


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru