Можно ли писать на Java'е исполняемые файлы?
Во всех других языках (C, Delpi, Assembler и т.д.) пишешь програмку и получаешь exe-ник в итоге, а тут какой-то some_file.class!!! Или я что-то недоделываю до конца - недокомпилироваю как бы???
А исполняемые exe файлы - это ж только виндовые исполняемые =))
Хотя при желании можно получить )
А то напишешь програмку, которая как бы написано однажды, а работает везде, а она хопа и не работает!!!
А то напишешь програмку, которая как бы написано однажды, а работает везде, а она хопа и не работает!!![/QUOTE]
Встроенного нету. Есть Java машина от ее создателя SUN ну и от других производителей. :)) Естесственно лучше пользоваться САНовской ибо ини и задают стандарт.
Можешь скачать тут http://java.sun.com
Хотя раз у тебя получаеться собирать уже готовые классы из исходников, значит есть jdk, а в ней есть и java машина )
Значит там где её нет - там никакая Java не пойдёт?
Так что же это за хвалёный принцип написано однажды - работает везде? Значит он не работает без этой java машины?
[/QUOTE]
Вобще для разработки посоветовл бы всетаки поставить хотябы jdk 1.4.2, хотя можно и 1.5
А раз есть jdk значит есть и java машина. Она там же где jdk находиться )) Класы коппиляються программой оттуда javac, а запускаються java.
Так что у тебя она есть - иначе бы программы написанные не на чем было бы запускать. Да и сам JBuilder к слову написан Java и работает тоже на java машине :)
[QUOTE=Meatcoins]
Значит там где её нет - там никакая Java не пойдёт?
Так что же это за хвалёный принцип написано однажды - работает везде? Значит он не работает без этой java машины?[/QUOTE]
Принцип такой, что нет никакой привязки к системе - и программа будет работать везде где есть Java машина. Хоть на холодильнике :))
А их под разные платформы понаделанно уже куча причем 3 отдельные версии: J2EE - для крупных проектов уровня большого предприятия. J2SE - для десктопных приложений. И J2ME - для небольших и маломощных устройств типа мобил :)
Так что недостатка в Java для какой то более менее популярных платформ нету )) Главное ее туда поставить один раз.
Вопервых это уже устаревшая версия явы (сегодня и 1.4.2 уже подходит к End Of Life)
2. Твой хваленый екзешник без Винды тоже незапустится :) (в линуксе без эмулятора, или в Солярисе и т.д.) так что все что-то требует...
и для таго чтоб программировать на Java нужно понимать идеологию Java, конечные результаты можно собирать в Jar (Java ARchive) файлы они из себя представляют обычные zip архивы с измененным расширением.
Для разработки необходим SDK (включает в себя JRE) для запуска JRE
последние версии можна найти здесь:
j2sdk-1.4.2_12 (50.07 MB)
J2SE v 1.4.2_12 JRE (15.48 MB)
http://java.sun.com/j2se/1.4.2/download.html
JDK 5.0 Update 7 (63.43 MB)
Java Runtime Environment (JRE) 5.0 Update 7 (18.23 MB)
http://java.sun.com/javase/downloads/index.jsp
Для разработки кстати лучше всего ИМХО юзать Eclipse
Eclipse SDK 3.2 (120 MB)
http://www.eclipse.org/downloads/
З.Ы. и кстати лучше качать 1.5.0 у меня дома модемный инет (Dial-up) закинул во flashget на ночь оставил за 5 часов от 60 до 115 метров скачивал легко. И если так хочешь делать ЕХЕшники на SourceForge я видел проекты которые позваляют это сделать, даже есть проект от GCC
http://gcc.gnu.org/java/ но он пока на стадии разработки поддерживаются далеко не все стандартные классы
Теперь буду знать какие версии есть, а то моя совсем устарела. Но по-моему, дешевле будут всё это на диске купить за 80руб, чем качать.
[/QUOTE]
Я не спец в Java, но вот недавно решил написать игрульку для своего сотика(Nokia, Symbian 9) или хотябы попробовать. Думал напишу чтобы на разных сотиках работало, для етого решил размеры экрана вычислять, и использовать SDK с SUNовского сайта, чтобы не пользовать фишки разных производителей сотиков.
Написал, естественно играть не интересно ((
Но сколько телефонов я не пробовал, ни на одном кроме моего не играло, по моему даже не устанавливалась.
И где же хваленая Явина мегамастабластамультиплатформенность?
А что ява? Это не ко мне вопрос, а к разработчикам сотовых с поддрежкой Java и конкретно как вы писали и что исспользовали )
Принцип такой, что нет никакой привязки к системе - и программа будет работать везде где есть Java машина. Хоть на холодильнике :))
[/QUOTE]
Кстати если мне не изменяет память изначально она и разрабатывалась для холодильников....
[QUOTE=ilyes]
Но сколько телефонов я не пробовал, ни на одном кроме моего не играло, по моему даже не устанавливалась.
[/QUOTE]
Это все зависит от модели телефона, у всех разное количество памяти выделяется, разное быстродействие, специфическое АПИ.
Есть стандарты НО.... это не совсем стандарты это больше рекомендации, т.е. никто не заставляет проиводителя их придерживатся. Например у SonyEricsson T610 отсутствует как таковая имплементация класса Socket соединения.
[/QUOTE]
Не то что бы разрабатывался - не было таких холодильников. Просто была идея создать язык на котором будут писать софт для бытовой техники тоже.
Есть стандарты НО.... это не совсем стандарты это больше рекомендации, т.е. никто не заставляет проиводителя их придерживатся. Например у SonyEricsson T610 отсутствует как таковая имплементация класса Socket соединения.
[/QUOTE]
Понятно, что ничего не понятно...
Т.е. получается что есть вероятность того, что прога которую я написал на SDK для винды не попрет на Linux'овой Java машине. Ну уж нафиг тогда эту Яву.
Еще раз убедился в том, что сделал правильный выбор на счет .Net Framework. Он конечно не идеален, но они хотя бы не пантуются несуществующей многоплатформенностью.
Просто я раньше думал, что единственное чем Java действительно на 100% лучше чем Framework - это многоплатформенность.
Т.е. получается что есть вероятность того, что прога которую я написал на SDK для винды не попрет на Linux'овой Java машине. Ну уж нафиг тогда эту Яву.
[/QUOTE]
Такое видел? :))
А SUN Не понтуются - у тебя есть байт код который действительно выполняеться на разных Java-машинах выпущенных под разные платформы. То что разработчики телефонов коряво подходят к стандартам и разработке - это их проблеммы, а не Java =))
[QUOTE=ilyes]
Еще раз убедился в том, что сделал правильный выбор на счет .Net Framework. Он конечно не идеален, но они хотя бы не пантуются несуществующей многоплатформенностью.
[/QUOTE]
Ха ха ха =))
[/QUOTE]
Я писал только про телефоны, на десктопы пишет имплементацию SUN соответственно, здесь будет все работать.
[QUOTE=aks]Такое видел? )
А SUN Не понтуются - у тебя есть байт код который действительно выполняеться на разных Java-машинах выпущенных под разные платформы. То что разработчики телефонов коряво подходят к стандартам и разработке - это их проблеммы, а не Java =))
[/QUOTE]
aks написано абсолютно верно.
[QUOTE=ilyes]
Еще раз убедился в том, что сделал правильный выбор на счет .Net Framework. Он конечно не идеален, но они хотя бы не пантуются несуществующей многоплатформенностью.
Просто я раньше думал, что единственное чем Java действительно на 100% лучше чем Framework - это многоплатформенность.
[/QUOTE]
А в это отношении наберите в поисковике "Net vs JAVA" и почитайте, кстати для сравнения лучше читать с разных источников (бывают очень направленные результаты)
Т.е. получается что есть вероятность того, что прога которую я написал на SDK для винды не попрет на Linux'овой Java машине. Ну уж нафиг тогда эту Яву.
[/QUOTE]
Сколько не пробовал, все программы запускаются без проблем и там и там.
[/QUOTE]
[QUOTE=0ver10PD]
Я писал только про телефоны, на десктопы пишет имплементацию SUN соответственно, здесь будет все работать.
[/QUOTE]
[QUOTE=alexeyvnikitin]
Сколько не пробовал, все программы запускаются без проблем и там и там.
[/QUOTE]
Понятно... у Java с многоплатформенностью все в порядке...
Но Framework все равно форевер :)
Раз уж я начал его изучать буду с ним до конца, все равно обе платформы знать на хорошем уровне это unreal, да и толку ноль.
Кстати а для Java есть какая-нибудь IDE на которой также легко работать как с Visual Studio? Потому что NetBeans немного корявая и не удобная (хотя 5-я версия уже похожа на что-то сделанное для людей), а ресурсов она не меньше чем VS жрет. И сколько эта IDE стоит?
[QUOTE=aks]
То что разработчики телефонов коряво подходят к стандартам и разработке - это их проблеммы, а не Java =))
[/QUOTE]
Ну в общем получилось так, что в основном это проблема разработчика, а производителям сотовых лишь бы в спецификации телефона написать Java MIDP 2.0 (галочку поставить), а там хоть трава не расти.
[QUOTE=]
А в это отношении наберите в поисковике "Net vs JAVA" и почитайте, кстати для сравнения лучше читать с разных источников (бывают очень направленные результаты)
[/QUOTE]
Набирал, читал, везде по большей части бред, изредка попадаются люди которые знают обе технологии и дают обоснованные ответы
Кстати а для Java есть какая-нибудь IDE на которой также легко работать как с Visual Studio? [/QUOTE]
InteliJ IDEA - пользуюсь в основном ей. На мой взгляд удобней чем Visual Studio. Довольно популярное средство.
Borland JBuilder - единственное средство разработки от Borland которое я признаю и которым пользовался со времен Boland C 3.1 =))) Тоже довольно неплохая.
Eclipce - Очень удобен для некоторых спецэфичных задач + куча ползных плагинов.
В любом случае рекомендую поставить актуальную SUNовскую JDK и в выбранном IDE указать на использование именно этой версии JDK, а не той которая шла с дистрибутивом (это в первую очередь JBulider-а касаеться. )
Кстати а для Java есть какая-нибудь IDE на которой также легко работать как с Visual Studio? Потому что NetBeans немного корявая и не удобная (хотя 5-я версия уже похожа на что-то сделанное для людей), а ресурсов она не меньше чем VS жрет. И сколько эта IDE стоит?
[/QUOTE]
Есть. Вот самые распространенные IDE (во всяком случае я знаю только об этих).
1. Eclipse - бесплатна
2. Intelij IDEA - $499 (плюс если будешь обновлять версию с тебя еще зажрут 40% цены)
3. Netbeans - бесплата
4. Borland JBuilder
Я сам работаю с Eclipseом, после него пробовал IDEA и NetBeans, нето... совсем нето по сравнению с Eclipse.
2. Intelij IDEA - $499 (плюс если будешь обновлять версию с тебя еще зажрут 40% цены)
[/QUOTE]
Кстати сейчас обновление до 6-ой версии когда она выйдет обещают бесплатное.
Во всех других языках (C, Delpi, Assembler и т.д.) пишешь програмку и получаешь exe-ник в итоге, а тут какой-то some_file.class!!! Или я что-то недоделываю до конца - недокомпилироваю как бы???[/QUOTE]
Принцип такой. Для запуска java-программы должна быть установлена JRE (виртуальная машина). Именно за счет этого и обеспечивается многоплатформенность.
Но программу (все файлы с расширением .class и ресурсы) можно упаковать в один файл, т.н. jar-архив, который можно запускать простым щелчком по нему (как и .exe).
Этот файл можно сделать самостоятетельно (в документации на Java SDK все подробно написано), или его создаст IDE. Например, Netbeans делает это автоматически.
Я написал несколько программ, которые упаковал в .jar. Посмотреть и скачать можно здесь http://www.vova-prog.narod.ru.
Проснулся =))))
[QUOTE=vovchik]
Но программу (все файлы с расширением .class и ресурсы) можно упаковать в один файл, т.н. jar-архив, который можно запускать простым щелчком по нему (как и .exe).
[/QUOTE]
Шелчек на Jar понятие относительное без привязки к системе. И сам по себе шелчек не настраивается )
По моему exe можно получить, например в IBM VisualAge