Смерть Жабы

Использование и разработка софта (преимущественно на ПЦ)

Moderator: Shaos

Mixa64
Doomed
Posts: 478
Joined: 25 Aug 2009 07:02
Location: Москва

Re: Смерть Жабы

Post by Mixa64 »

Vic3Dexe wrote:Я ОБОЖАЮ каждый байт жабакода.
Я ОБОЖАЮ каждый гигабайт свопа из-за жабакода.
...
Это у вас ежеутренняя настрой-кричалка такая?? :o
Или ежеминутная?
Vic3Dexe
Doomed
Posts: 370
Joined: 16 Dec 2014 11:58
Location: Киев

Re: Смерть Жабы

Post by Vic3Dexe »

Mixa64 wrote:Это у вас ежеутренняя настрой-кричалка такая?? :o
Или ежеминутная?
На работе - практически непрерывная :(
bigral
Senior
Posts: 152
Joined: 31 Mar 2012 16:50
Location: 93.73.80.128

Re: Смерть Жабы

Post by bigral »

Vic3Dexe wrote:Я ОБОЖАЮ каждый гигабайт свопа из-за жабакода.
Никакого swap-а на гиг жаба не умеет, кинет out of mem exception и вывалится нафик. А все потому что garbage collector концепция сама по себе garbage.

offtop: недавно внезапно! узнал что есть такой себе новомодный rust и что он "самый любимый в 2016..2017" аж на Stack Overflow! Но думаю ниче ему не светит, так как он просто метит заменить C, т.е. не метит на write once run forever (что по-моему главное)
Vic3Dexe
Doomed
Posts: 370
Joined: 16 Dec 2014 11:58
Location: Киев

Re: Смерть Жабы

Post by Vic3Dexe »

bigral wrote:
Vic3Dexe wrote:Я ОБОЖАЮ каждый гигабайт свопа из-за жабакода.
Никакого swap-а на гиг жаба не умеет, кинет out of mem exception и вывалится нафик. А все потому что garbage collector концепция сама по себе garbage.
Где я написал, что жаба умеет свап? В моей фразе есть предлог "из-за", и он там главный. Потому что 5 жаба-приложений, каждое из которых не против сожрать по 200..800 метров - это больше, чем 4 гига памяти минус винда со своими обновлениями, минус дебильный антивирус, минус фаерфокс, минус не пойми что еще (я не силен в доменном админстве винды).
Если бы жаба не жрала память как не в себя, этой проблемы бы не было. Я, например, не могу понять, куда в этих приложениях девается память.

А что концепция garbage... Ну так интерпретатор по определению хуже нативного кода, но всем пох, простите за мой хранцузкий, потому что бабло.
Ладно, я ныть закончил. Не хватало еще дома этот шлак вспоминать.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Смерть Жабы

Post by Lavr »

Не... если Жаба ещё трепыхается - пора её убить нафиг! :evil:

Скачал исходники эмулятора Apple I- Рom1 - на Жабе:
https://mirrors.apple2.org.za/www.chez.com/apple1/Apple1project/Emulation/Pom1v0.62b.zip
https://mirrors.apple2.org.za/www.chez.com/apple1/Apple1project/Emulation/Pom1v0.61.zip
https://mirrors.apple2.org.za/www.chez.com/apple1/Apple1project/Emulation/Pom1v0.6.tar.gz
https://mirrors.apple2.org.za/www.chez.com/apple1/Apple1project/Emulation/Pom1v0.5a.zip

Зацепило меня, что это автономное Жаба-приложение, а я хоть и что-то там чиркал на Жабе,
но автономных приложений не писал.
Ну, думаю, совмещу полезное с приятным: скомпилирую себе эмулятор Apple I с отладчиком,
посмотрю, как умные люди иж пишут эти автономные Жаба-приложения, ну и перепишу свой
Жаба-эмулятор "Специалиста" в автономное приложение, а то меня fifan сподвигал перенести его на жабаскрипт,
а у меня в жабаскрипте Canvas не работает... :-?

Начал с самой простой ранней версии - Pom1v0.5a, смотрю - ничего особо сложного, просто
объявляют окно, как Frame, прицепляют к нему "листнеры", располагают на нём этот самый
Canvas, на котором и рисуют всю графику...
Всё хорошо, всё просто, я и сам так делал...

Только вот автономном Жаба-приложении, хоть застрелись, не работает метод paint() на этот
самый Canvas!
jabbamustdie.gif
Ну, ладно, думаю, я затупил, обратимся к классикам: братья Фроловы, готовый пример
автономного Жаба-приложения, причем учебный!
http://www.frolov-lib.ru/programming/javasamples/vol3/vol3_15/src1.html

Скомпилировал я его, а он - тоже не работает! :mrgreen:

Не... нафиг-нафиг такую Жабу!

Я понимаю, что есть куча советов, может у меня версия Жабы не та, может еще чего...
Но я забодался трясти бубнами и исполнять шаманские танцы, когда программировал Жаба-эмулятор "Специалиста" !
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Смерть Жабы

Post by Lavr »

Не... ну это полная Жо..... ! :o

Не люблю я оставлять непонятки за спиной, дай, думаю, хоть самую простую автономную Жаба-программу
скомпилирую хоть раз, пока гнусная Жаба не умерла! :roll:

Беру пример: http://www.javaportal.ru/java/faq/
Вопрос: Можно ли сделать с помощью JDK 1.3 графический интерфейс как автономную java-программу, а не как апплет?
Ответ: Пример простого автономного приложения:

Code: Select all

import java.awt.*;
import java.awt.event.*;
public class YGFrame extends Frame
{
 public static void main (String args [])
 {
	System.out.println("Starting YGFrame...");
    YGFrame mainFrame = new YGFrame();
 }

 public YGFrame()
 {
  addWindowListener(new WindowAdapter()
  {
   public void windowClosing(WindowEvent e)
   {
    dispose();
    System.exit(0);
   }
  });
  this.setSize(300,240);
  this.setTitle("YGFrame");
  this.setVisible(true);
  this.setResizable(false);
 }
 public void paint(Graphics g)
 {
  g.drawString("Автономное приложение",10,100);
 }
}
Компилирую я это Yнылое Gо..ноFrame, запускаю
java YGFrame.class - и оно НЕ РАБОТАЕТ! :o
C:\WORK\Java\POM>java YGFrame.class
Exception in thread "main" java.lang.NoClassDefFoundError: YGFrame/class
Ошибка NoClassDefFoundError возникает когда класс, от которого зависит ваше приложение недоступен при исполнении кода.
https://ru.stackoverflow.com/questions/633793/Почему-возникает-java-lang-noclassdeffounderror

Я плАчу... :mrgreen:
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Смерть Жабы

Post by Lavr »

Lavr wrote:...я забодался трясти бубнами и исполнять шаманские танцы...
Ну вот упрямый я... кроме перечисленного, ещё тряс шкурой и дул в варган (он же - хомус)! :mrgreen:
И ОНО вдруг заработало! :o Моё первое автономное приложение на Жабе! :lol:
srcJava.gif
Очень сильное колдунство! :esurprised:
К работающему окну от Apple I я прицепил хорошо работающий и похожий по структуре
пример работы с Canvas из JDK-1.4.
Стало ясно, что Canvas в автономных приложениях Жабы всё же работоспособен! 8)

Теперь к этому работающему варианту надо приделать обратно "кишки" от Apple I...
Такое вот шаманство и танцы с бубнами с этой Жабой... :-?
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Смерть Жабы

Post by Lavr »

Вот так, с помошью шаманства с бубном, кувалды и какой-то матери ОНО всё-таки заработало! :mrgreen:
Apple_java.gif
Честно говоря, в нашем хобби вот этот момент вызывает у меня наибольшее удовольствие! :kruto:
А иначе - не стОило бы и голову ломать, и терять время...


P.S. Убийство жабы временно откладывается... :lol:
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Как преобразовать программу на Java в файл .exe

Post by Lavr »

В общем заинтересовало меня, как из Жаба-кода всё же сделать исполняемый ехе-файл.

В подавляющем числе популярных способов типа Jar2exe или Launch4j создается некий ехе-загрузчик
для jar-файла, но, как пишут, JRE (Java SE Runtime Environment) на машине должно присутствовать.

Попался и довольно оригинальный способ: "использовать переводчик java-to-c (например, JCGO)
и скомпилировать сгенерированные файлы C на native файл (.exe) для целевой платформы.
"

Я посмотрел, что есть такое JCGO:
JCGO (pronounced as "j-c-go") is a unique tool to convert Your Java application code to a platform-independent C code...
Круто... это конвертер кода платформонезависимой Java в платформонезависимый C код, с кучей ограничений. :mrgreen:
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Смерть Жабы

Post by Lavr »

Кстати... Жаба теперь будет вечной. Даже если все Оракли помрут, мумия жабы будет жить.

На жабе написали Arduino IDE... :wink:
Arduino_IDE_-_Blink.png
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Клапауций
Banned
Posts: 412
Joined: 29 Jun 2018 08:48

Re: Смерть Жабы

Post by Клапауций »

Lavr wrote:Кстати... Жаба теперь будет вечной. Даже если все Оракли помрут, мумия жабы будет жить.

На жабе написали Arduino IDE... :wink:
Arduino_IDE_-_Blink.png
перепишут на питоне, когда жабу рядом с члениным в мавзолей положат.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Смерть Жабы

Post by Lavr »

Клапауций wrote:перепишут на питоне, когда жабу рядом с члениным в мавзолей положат.
Весь архив перепишут? https://www.arduino.cc/en/Main/OldSoftwareReleases
Сомневаюсь... поскольку жаба там в составе каждого дистрибутива.
Почему я и написал:
Даже если все Оракли помрут, мумия жабы будет жить.
iLavr
User avatar
Клапауций
Banned
Posts: 412
Joined: 29 Jun 2018 08:48

Re: Смерть Жабы

Post by Клапауций »

Lavr wrote:Почему я и написал:
Даже если все Оракли помрут, мумия жабы будет жить.
подобное можно заявить о любом программном обеспечении - копии древних версий вечно будут хранить в себе мёртвые останки чего-нибудь.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Смерть Жабы

Post by Lavr »

Клапауций wrote:
Lavr wrote:Почему я и написал:
Даже если все Оракли помрут, мумия жабы будет жить.
подобное можно заявить о любом программном обеспечении - копии древних версий вечно будут хранить в себе мёртвые останки чего-нибудь.
О любом программном обеспечении у нас топика нет. У нас есть топик "Смерть Жабы".
Вот я в этом топике об этом и пишу.
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Смерть Жабы

Post by Shaos »

Обсуждение на слашдоте на тему "насколько мертва жаба" :mrgreen:

https://developers.slashdot.org/story/19/02/02/1545215/ask-slashdot-how-dead-is-java
Я тут за главного - если что шлите мыло на me собака shaos точка net