ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Programmierung > JAmiga - Ende der Kaffeepause? | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
-1- 2 | [ - Beitrag schreiben - ] |
26.10.2009, 10:09 Uhr Thore Posts: 2266 Nutzer |
Guten Tag an alle Programmierer Der eine oder andere wird sich an JAmiga erinnern. Für diejenigen denen es ein Fremdwort ist: JAmiga ist Java für Amiga und MorphOS inclusive AWT. Ich habe mit Peter Werno, dem Autor, gesprochen und er würde sich freuen wenn das Projekt wieder aufgenommen wird. Dazu suchen wir nun willige Programmierer, oder welche die ihren Horizont erweitern wollen. Ziel ist es, professionelle Java Applikationen auf AmigaOS und MorphOS anwenden zu können. Interessenten können sich bei mir oder ihm melden. Dankeschön Thore [ - Antworten - Zitieren - Direktlink - ] |
26.10.2009, 19:29 Uhr Holger Posts: 8116 Nutzer |
Soll das heißen, dass zu den 0 Minuten, die er seit 2006 Zeit für die Weiterentwicklung hatte, dann noch Deine Freizeit hinzukommt? So recht kann ich mir nicht vorstellen, dass das Projekt noch mal Fahrt aufnimmt. Aber nehmen wir es mal an. Dann sollte man definiert werden, welches die nächsten Ziele sind. Alle Features von Java werden wohl kaum in nächster Zeit schaffbar sein. Eigentlich wäre schon mal eine genauere Definition des ist-Zustandes wünschenswert. Ok, man kann ein GUI-Fenster öffnen...was ist mit Garbage-Collector? Soll wieder ein JIT kommen? Für ppc und 68k? Usw.usf. -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
26.10.2009, 19:38 Uhr Thore Posts: 2266 Nutzer |
Als erstes muss der Code gesichtet und aufgeräumt werden. Wie man ja selbst merkt funktioniert das Event-Handling schlecht bis gar nicht. Die ersten Schritte sind also erstmal Stabilisation und CleanUps, und Beschleunigung (z.B. was das Klassen-Handling angeht). Zeit ist einer der Gründe warum wir nach mehr Programmierern suchen, Du kennst meine eingeschränkte Zeit. Sicher kann man dieses Jahr keine Wunder mehr erwarten aber es ist schonmal ein Anfang wenn der alte Code stabiler und schneller läuft. [ - Antworten - Zitieren - Direktlink - ] |
26.10.2009, 22:16 Uhr Holger Posts: 8116 Nutzer |
@Thore: Nun ja, Du wirst niemanden finden, dessen Zeit nicht eingeschränkt ist. Da wird die Aussicht, bei einem Projekt mitzumachen, das in Version 0.0.5 schon Stabilisation und CleanUps benötigt, nicht gerade motivieren. Ob der Code schneller läuft, dürfte dagegen kaum jemanden interessieren, solange real-life Anwendungen noch nicht laufen. -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
27.10.2009, 08:19 Uhr Thore Posts: 2266 Nutzer |
@Holger Wenn Dich das Projekt von vornherein nicht interessiert dann lass bitte den anderen die Möglichkeit ihre eigenen Erfahrungen damit zu machen. Zwar ist die Version 0.0.5 aber die Funktionalität ist schon soweit ganz gut. Wenn Du das Projekt nun gleich wieder totredest dann wär es besser wenn Du Dich einfach zurücklehnst und abwartest. Die Frage war an interessierte Programmierer gerichtet und nicht an pessimistische Nörgler. [ - Antworten - Zitieren - Direktlink - ] |
27.10.2009, 09:48 Uhr Alchemy Posts: 784 [Benutzer gesperrt] |
*** Wegen Verstoß gegen die Netiquette gelöscht (cg) http://www.amiga-news.de/netiquette.shtml *** [ Dieser Beitrag wurde von cgutjahr am 28.10.2009 um 16:46 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
27.10.2009, 11:08 Uhr Holger Posts: 8116 Nutzer |
Zitat:Ich schreibe, weil es mich interessiert. Und wenn Du wirklich Interesse daran hast, solltest Du die Hinweise beherzigen. Du gewinnst keine neuen Entwickler, jedenfalls keine fähigen, wenn Du für ein Projekt wirbst, aber noch nicht einmal den ist-Zustand ordentlich beschreiben kannst, von den geplanten zukünftigen Schritten ganz zu schweigen. Zitat:Und was heißt "ganz gut"? Ob es einen garbage collector, wenigsten im Ansatz, gibt, hast Du nicht beantwortet. Dass es derzeit keinen JIT gibt, weiß ich selber. Ob einer geplant ist, angesichts der angestrebten Plattformunabhängigkeit, muss ich jetzt wieder raten. Wenn man keine verwertbaren Fakten bekommt, kann man halt lediglich aus der Versionsnummer Schlüsse ziehen... Zitat:Ich bin ein interessierte Programmierer ... wer sonst weiß noch, das jamiga mal ein in C++ entwickeltes Projekt war, dass schon einen rudimentären JIT für 68k besaß, bevor es sich in eine in C geschriebene Software ohne JIT verwandelte? Nur uninteressierte Programmierer stellen keine Fragen. -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
27.10.2009, 11:22 Uhr Thore Posts: 2266 Nutzer |
Bisher weiß nur Peter was der Code genau macht, wie gesagt, ich muss den Code erst mal sichten. Es ging in erster Linie erst darum, Interessenten zu finden, und ob sich dann die Weiterentwicklung lohnt. Es ist im Grunde vom (gewünschten) Funktionalitätsumfang noch alles offen, die Quellcodes sind für jeden frei zugänglich und die bisherige Version kann ausprobiert werden. Daher kann ich auch momentan nichts als nur Werben ohne detaillierter darauf einzugehen. Ich bitte dies zu entschuldigen. Das wird mit der Zeit schon besser wenn ich mir den Code im Detail angeschaut hab. @Holger Wäre schön wenn Du Dich für das Projekt engagieren könntest, kritische Programmierer die aktiv mitwirken sind durchaus nützlich. [ - Antworten - Zitieren - Direktlink - ] |
27.10.2009, 12:31 Uhr Holger Posts: 8116 Nutzer |
@Thore: Dann mach die Bestandsaufnahme und wir sehen weiter. Unabhängig davon musst Du aber doch schon eine Vorstellung davon haben, wo das ganze hinlaufen soll. Für mich sieht es beispielsweise so aus, als ob der Versuch, jamiga portabel zu halten und evtl. auch noch Linux und MacOS zu unterstützen, die Arbeit unnötig verkompliziert hat. Wäre es für Dich akzeptabel, diese Unterstützung wegzuwerfen und sich nur auf Amiga-artige Systeme zu konzentrieren? Ich glaube, dass schon ppc und 68k zu unterstützen, genug Arbeit macht. In diesem Zusammenhang stellt sich mir die Frage, ob bestimmte Lowlevel-Elemente nicht doch besser in Assembler implementiert werden sollten, statt in C (oder in C verstecktem Assembler). -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
27.10.2009, 12:55 Uhr Thore Posts: 2266 Nutzer |
Ja das sehe ich ähnlich, schon allein da die anderen Systeme bereits ausgereifte Java Implementationen haben. Ich werde Peter den Vorschlag machen, uns nur auf AmigaOS und MorphOS zu konzentrieren. Noch ist kein genauer Ablaufplan besprochen, aber durch das Ausprobieren der bisherigen Version könnte dies eine realistische Vorstellung sein, die ich Peter unterbreiten werde: Bisher ist das erste Ziel, das Eventhandling deutlich zu beschleunigen (da bisher nicht richtig nutzbar, z.B. wird Fensterschließen nicht immer erkannt), Speicherlöcher zu flicken und dann im nächsten Step kleine Demos (mit Fenster, Grafik, Anims etc) lauffähig zu bekommen. Desweiteren hier und da Optimierungen wo es geht. Text-Demos scheinen momentan schon gut zu funktionieren. Von professionellen Anwendungen sind wir noch ein Stück entfernt, ist aber das große Ziel. [ - Antworten - Zitieren - Direktlink - ] |
27.10.2009, 13:01 Uhr Holger Posts: 8116 Nutzer |
Das ist jetzt stark GUI-zentriert. Wie sieht es mit Datei und Netzwerk I/O aus? Wie ist da der Stand der Dinge? Das beste GUI nutzt nichts, wenn man nichts laden oder speichern kann. -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
27.10.2009, 13:08 Uhr Thore Posts: 2266 Nutzer |
Das ist eines der Dinge die ich noch testen muss, bevor ich mir da ein Urteil erlaube Momentan weiß ich nicht ob das schon implementiert ist, und wie gut das funktioniert. Du kannst es aber gerne selbst durchtesten und das Ergebnis darlegen. Ich selbst bin erst seit gestern in diesem Projekt involviert und muss es auch erstmal genau anschauen =) [ - Antworten - Zitieren - Direktlink - ] |
27.10.2009, 13:15 Uhr Holger Posts: 8116 Nutzer |
Eine andere Frage wäre, ob die sourceforge-Seite, deren Stand noch mal drei Jahre älter als der von http://www.jamiga.org/ ist, reaktiviert oder endgültig abgeschaltet werden soll. -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
27.10.2009, 15:26 Uhr nunovaz Posts: 16 Nutzer |
Zitat: Nur zum verständnis...compilierte Javaprogramme sollten doch ohnehin auf allen System mit passender VM lauffähig sein. Oder ist mir hier etwas entgangen? Die VM des Zielsystems muß nur auf dem gleichen Versionsstand der Sprache sein wie auf dem Ausganssystem. [ - Antworten - Zitieren - Direktlink - ] |
27.10.2009, 15:30 Uhr akl Posts: 265 Nutzer |
@nunovaz: Genau, und dafür muss die (oder: irgendeine) VM zunächst einmal auf das Zielsystem portiert werden - und offensichtlich hatte der Autor das für diese VM für Linux und MacOS mal vor... [ - Antworten - Zitieren - Direktlink - ] |
27.10.2009, 16:04 Uhr Thore Posts: 2266 Nutzer |
Ja, JAmiga ist eine JavaVM, welche Java Bytecode ausführen kann. Java-Programme, die auch auf anderen Systemen mit ihren VMs laufen, sollen auch mit JAmiga auf AmigaOS und MorphOS lauffähig sein. JAmiga sollte ursprünglich dabei auch auf MacOS und Linux compilierbar sein. So ist jedenfalls der Stand der letzten Version. Und über dessen Sinn und/oder Unsinn muss noch entschieden werden. [ - Antworten - Zitieren - Direktlink - ] |
28.10.2009, 10:30 Uhr nunovaz Posts: 16 Nutzer |
Ich habe mich nur gewundet warum in der Diskussion soviel die Rede von Portabilität die Rede war, Java ist an sich nämlich schon portabel sofern das System eine VM mit entsprechendem Versionsstand besitzt. Eine funktionierende VM für den Amiga könnte dem Amiga tatsächlich nochmals einen Schub geben, es gibt inzwischen mehr Javaprogramme wie Sterne am Himmel. Ich sehe da nur ein Problem, mit AWT alleine kommt ihr nicht allzu weit, um wirklich den Pool an Software abschöpfen zu können muß Swing her. Da aber Swing in auf AWT basiert, habt ihr aber schon einmal einen großen Schritt gemacht sobald Ihr tatsächlich AWT zu 100% implementiert habt. Naja von den ganzen anderen Klassen will ich hier gar nicht anfangen. Ihr habt euch da ganz schon was vorgenommen und ich wünsche euch viel Glück! Eventuell könnt Ihr Code von anderen Projekten übernehmen.... [ Dieser Beitrag wurde von nunovaz am 28.10.2009 um 10:31 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
28.10.2009, 10:40 Uhr Holger Posts: 8116 Nutzer |
Zitat:Ja eben, es ging um die VM. VMs werden oftmals weitestgehend portabel implementiert, sind aber letztendlich systemspezifische Software. Sich auf amiga-artige Systeme zu konzentrieren, heißt natürlich nicht, dass der Code unnötig unportabel gehalten werden soll. Nur da, wo Portabilität einen Mehraufwand bedeutet, würde sie hintenangestellt werden. Zitat:Swing ist grundsätzlich erst mal eine reine Java-Software, die funktioniert, sobald das AWT funktioniert, von einigen kleinen Optimierungen, ja nachdem, welche Implementierung man übernimmt, abgesehen. Die Arbeit muss man sich also nicht selbst machen. Lediglich, wenn man ein Amiga-Look&Feel haben will, muss man noch mal etwas tun. -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
28.10.2009, 13:22 Uhr nunovaz Posts: 16 Nutzer |
Zitat: Du hast recht, kleiner Aussetzer. Aber Java ist ohnehin nicht wirklich meine Welt. Ich habe mich vor ein paar Jahren damit intensiv befasst aber die Sprachstandards für zu beengend befunden. Generell ist übrigens eine funktionierende VM, insbesondere wenn Sie auch alle Standards umsetzt, ein großer Schritt. Es gibt für eine ganze Reihe anderer Sprachen inzwischen Compiler, die "Java-Bytecode" erzeugen. Da fällt mir zum Beispiel Python ein. Auch für C# ist ein entsprechender Compiler zumindest angekündigt. Ich glaube mich aber erinnern zu können irgendwo gelesen zu haben, dass der Compiler inzwischen sogar funktioniert. Allerdings habe ich keine Ahnung wie gut. Auch wenn die Sourcen dieser Programme in der Regel neu übersetzt werden müssen, würde sich die Anzahl der zur Verfügung stehenden Programme erneut vergrößern. Daher drücke ich euch beide Daumen! [ - Antworten - Zitieren - Direktlink - ] |
28.10.2009, 13:28 Uhr Andreas_Wolf Posts: 2980 Nutzer |
> Auch wenn die Sourcen dieser Programme in der Regel neu übersetzt werden > müssen Müssen sie? [ - Antworten - Zitieren - Direktlink - ] |
28.10.2009, 14:58 Uhr nunovaz Posts: 16 Nutzer |
Zitat: Der von den Standardcompilern der beiden Sprachen erzeugte Binär-/Bytecode ist meines Wissens nicht kompatibel zur JavaVM. Deswegen müssen die Programme neu Compiliert werden. Du kannst natürlich eine VM schreiben, die den Bytecode der beiden Compiler interpretiert aber der Aufwand ist natürlich größer als wenn du die Programme gleich in das Bytecodeformat der JavaVM compilierst. Theoretisch müßte es aber auch möglich sein den jeweiligen Bytecode neu zu compilieren und zu konvertieren. Wie effizient das ist kann ich nicht beurteilen, nur eins ist klar, auch hierfür müßte erst einmal ein entsprechender Compiler geschrieben werden.. Ich selbst bin kein Compilerbauer und es könnte daher sehr wohl sein, dass ich falsch liege! Meines Wissens gibt es aber für AmigaOS eine Pythonimplementation, die aber wohl nicht auf dem letzten Stand ist. [ - Antworten - Zitieren - Direktlink - ] |
28.10.2009, 15:16 Uhr Andreas_Wolf Posts: 2980 Nutzer |
> Der von den Standardcompilern der beiden Sprachen erzeugte Binär-/Bytecode ist > meines Wissens nicht kompatibel zur JavaVM. Deswegen müssen die Programme > neu Compiliert werden. Stimmt natürlich. Ich hatte "die Sourcen dieser Programme" im falschen Kontext aufgefasst, nämlich so, dass man die bereits von Python, C# etc. nach Java-Bytecode übersetzten Programme für JAmiga neu übersetzen müsse. Mein Fehler. [ - Antworten - Zitieren - Direktlink - ] |
28.10.2009, 16:14 Uhr Holger Posts: 8116 Nutzer |
@nunovaz: Python ist eine Skriptsprache. Da braucht man nichts zu übersetzen. Außerdem gibt es bereits Python für den Amiga, so weit ich weiß. Bei C#, bzw. .NET, dagegen ist die Gefahr sehr hoch, dass Features genutzt werden, die auch bei einer Übersetzung nach Java-Bytecode nicht funktionieren. -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
29.10.2009, 10:41 Uhr nunovaz Posts: 16 Nutzer |
Zitat: Stimmt nicht ganz. Du kannst Python sehr wohl als Skriptsprache in einer eigenen Shell laufen lassen. Dabei kannst du Pythonsourcecode aus Dateien laden. Diese Shell ist im Prinzip nicht anderes als ein Textinterface für den Interpreter. Du kannst Pythonsourcen aber auch compilieren. Die erzeugten Binaries liegen dann in einem Bytecodeformat vor. Letztere Variante ist um einiges schneller und liegt seit Python 3.x von der Geschwindigkeit mit Java und C# absolut auf Augenhöhe. Nur so nebenbei bemerkt: schon in Versionen < 3 war Python Leistungsfähig genug um damit z.B. Civ 4 für den PC und, soweit ich weis, auch für den Mac zu entwicklen. Zitat: Yup, das meine ich auch. Für MorphOS habe ich eben auf der Seite einen Newseintrag dazu gesehen. Aktuell ist dort aber Python 2.5.x. Auf den Mainstreamsystemen ist aktuell aber bereits 3.x im Einsatz. Die alte Entwicklungslinie steht bei 2.6, die Entwicklung ist hier aber weitesgehend eingestellt worden. Es gibt für diesen Entwicklungszweig offiziel nur noch Sicherheits- und Fehlerupdates. Wenn ich mir hierbei auch eine persönliche Bemerkung erlauben darf, ich finde Python sehr angenehm. Die Sprache ist sehr flexibel und bietet ähnlich wie C++ die Möglichkeit objektorientierte mit "normaler" funktionaler Programmierung beliebig zu mischen. Dabei ist Python, allein schon durch die vielen Module, sehr mächtig und effizient noch dazu. Allerdings diesen Absatz bitte nicht zum Anlass nehmen eine neue Diskussion um die beste Programmiersprache zu starten DIE beste Programmiersprache gibt es ohnehin nicht und Auswahl sollte natürlich immmer an den Erfordernissen des jeweiligen Projekts und der eigenen Vorlieben ausgerichtet sein [ Dieser Beitrag wurde von nunovaz am 29.10.2009 um 11:03 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
29.10.2009, 11:11 Uhr nunovaz Posts: 16 Nutzer |
Zitat: Das ist natürlich richtig. Deswegen gehören zu solchen Compilern auch entsprechende Wrapper, wenn man sicherstellen will das wirklich jedes Programm korrekt übersetzt wird. Wrapper sind aber immer auch ein Effizienzproblem, weswegen solche crosscompilierten Programme in der Regel größer und langsamer wie auf dem Ausganngssystem sind. [ - Antworten - Zitieren - Direktlink - ] |
29.10.2009, 11:11 Uhr Thore Posts: 2266 Nutzer |
DIE beste Sprache ist Assembler, ist doch klar, hehe, damit kann man mehr als mit allen anderen *g*. Wie man von Java auf Phython kommt wurde ja nun geklärt Richten wir unser Augenmerk auf global lauffähige Java-Programme =) [ - Antworten - Zitieren - Direktlink - ] |
29.10.2009, 14:44 Uhr Holger Posts: 8116 Nutzer |
Zitat:Ich dachte, dass passiert automatisch. Der bytecode ist afaik zum einen ebenfalls plattformunabhängig und zum anderen trotzdem nicht die bevorzugte Auslieferungsform von Skripten. Wozu auch, die kompilierte Fassung kann man nicht mehr ändern, und das Übersetzen geht schneller als man gucken kann. Zitat:Das ist mir bekannt. Ich habe auch nirgendwo an der Geschwindigkeit von Python gezweifelt. Skriptsprachen sind nicht zwangsläufig langsam. -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
02.11.2009, 11:18 Uhr Thore Posts: 2266 Nutzer |
Zitat:Abhängig des Interpreters Abgesehen davon, JAmiga compiliert nun durch, jetzt fängt die Arbeit an =) [ - Antworten - Zitieren - Direktlink - ] |
02.11.2009, 11:40 Uhr Holger Posts: 8116 Nutzer |
Zitat:Oder JIT-Compilers... Zitat:Na denn. Ich hab schon beim Überfliegen gesehen, dass es wohl schon GC gibt, das Memory Management aber möglicherweise davon profitieren könnte, wenn man es auf den aktuellen Stand der Technik bringt. Hab ich mir zumindest eine Frage schon mal selbst beantwortet. Zu mehr bin ich aber bislang nicht gekommen. Nichtsdestotrotz denke ich, ist erstmal Vollständigkeit wichtiger als Performance. Wie sieht's mit den eher konzeptionellen Fragen bzgl. der Zielstellung aus? Dazu eine neue Frage: jamiga scheint derzeit als eine ausführbare Datei, die die VM beinhaltet, ausgelegt zu sein. Wie wäre, wenn man stattdessen in Richtung shared Library geht? -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
02.11.2009, 15:11 Uhr Thore Posts: 2266 Nutzer |
JAmiga verwendet bereits shared libs, welche dynamisch eingeladen werden. Wie das System im Genauen funktioniert muss ich noch rausfinden. Die Libs haben aber wohl die Funktion GetLibraryContent() (und genau dafür brauchte ich auch die GCC inline header, siehe anderen Thread) Ob die bereits verwendet werden weiß ich auch noch nicht =) Wie gesagt, mein erster Schritt war, daß es erstmal kompiliert. [ - Antworten - Zitieren - Direktlink - ] |
-1- 2 | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > JAmiga - Ende der Kaffeepause? | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |