Java – die besten Beiträge

Könnte man moderne Spiele in Java programmieren?

Soweit ich weiß werden die meisten der brandneuen Spiele, vor Allem die, die aufwendige Grafiken beinhalten, meistens in reinen "Compiler-Sprachen" (ich kenne den Fachbegriff leider nicht, aber ich glaube man weiß, was gemeint ist?) programmiert. Also Sprachen wie z.b. C++. Das macht aufgrund der besseren Performance ja auch, soweit ich das beurteilen kann, Sinn.

Wenn man die Sinnhaftigkeit aber mal außer Acht lässt und sich rein auf die Realisierbarkeit fokussiert, wäre es dann möglich, Titel wie Black Ops 4 Oder Battlefield 5 von Grund auf und einzige in Java zu schreiben? Wie sähe es mit CAD-Anwendungen aus? Könnte Software, die mit Blender oder Photoshop verglichen werden kann, in Sprachen wie Java geschrieben werden?

Könnte man solche Projekte auch ohne größere Performanceeinbußen realisieren? - Oder anders gefragt: Ein "perfekter" Code, jeweils in Java und einer Sprache wie C++ werden zum Vergleich gezogen. Wenn die selbe Arbeit verrichtet werden soll, in welcher Größenordnung liegen die Einbußen von Java? Sind das gegenüber C++. Kann man das noch einigermaßen in Kauf nehmen?

Mir geht es bei der Frage im Grunde genommen darum, mich endlich zu entscheiden welche Programmiersprache ich lernen möchte. Aus zeitlichen Gründen und auch deshalb, weil es mich hinsichtlich meines Berufes überhaupt nicht tangiert möchte ich mich auf eine einzige Sprache beschränken und das dafür richtig machen. Dabei wollte ich wenn möglich eine Sprach die Alles erlaubt. Da kam mir als erstes Java in den Sinn. Läuft überall, ist der Hit, wenn es um Android geht, und für Anfänger wohl besser geeignet als z.B. C++. Mir ist klar, dass Java Grenzen kennt, wenn es um hardwarenahe Programmierung geht. - Ein Treiber in Java, wäre das überhaupt möglich?

Hier haben Sprachen wie C++ tatsächlich die Nase vorne, aber auch da hat man, in den Bereichen wo Assembler eingesetzt wird, Grenzen.

Im Grund genommen ist das, wonach ich suche wahrscheinlich genau C++, man kann sich ja, soweit ich weiß, auch selbst Laufzeitumgebungen basteln oder mit virtuellen Maschinen arbeiten, so dass der Großteil vom Code auch systemübergreifend funktioniert. Ich finde an C++ einfach nichts schlechtes. Allerdings hat mich schon der erste Blick in ein C++ Buch vollständig demotiviert. Es scheint mir so, als sei es um einiges schwieriger als Java, alleine schon was die Syntax angeht... Man könnte meine Frage also auch so formulieren: Lohnt es sich, wenn man sich den Weg zu aufwendigen Anwendungen offen halten möchte, C++ zu lernen, oder sind die Defizite von Java so gering, dass man es sich beim Lernen leichter machen sollte.

Ich entschuldige mich, wenn ich irgendwo fachliche Fehler eingebaut habe und freue mich natürlich, wenn ich korrigiert werde, ich eben alles andere als ein IT-Spezialist.

Es wäre nett, wenn ihr eure Meinung mit mir teilt.

Computer, Technik, programmieren, Java, Cplusplus, Informatik, Programmiersprache

Wieso rechnet mein Code (JAVA) die Potenzen nicht (siehe Bild)?

Ohne die Methode .pow() der klasse Math werden die Potenzen nicht gerechnet, aber wieso? (Programm zum Hexadezimalzahlen in Dezimalz. umzurechnen)

Hier noch mein Code:

package Uebung07;

import javax.swing.JOptionPane;

public class Hexumrechner {

    public static void main(String[] args) {

String eingabe;
int summe = 0;
int potenz = 0;

eingabe = (JOptionPane.showInputDialog("Hexadezimalzahl in Dezimal und Binär umwandeln:"));

int l = eingabe.length()-1;

while(l >= 0) {

switch(eingabe.charAt(l)) {
case'A': summe += 10*Math.pow(16,potenz);
++potenz;
--l;
break;
case'B': summe += 11*(16^(potenz));
++potenz;
--l;
break;
case'C': summe += 12*(16^(potenz));
++potenz;
--l;
break;
case'D': summe += 13*(16^(potenz));
++potenz;
--l;
break;
case'E': summe += 14*(16^(potenz));
++potenz;
--l;
break;
case'F': summe += 15*(16^(potenz));
++potenz;
--l;
break;
case'1': summe += 1*(16^(potenz));
++potenz;
--l;
break;
case'2': summe += 2*(16^(potenz));
++potenz;
--l;
break;
case'3': summe += 3*(16^(potenz));
++potenz;
--l;
break;
case'4': summe += 4*(16^(potenz));
++potenz;
--l;
break;
case'5': summe += 5*(16^(potenz));
++potenz;
--l;
break;
case'6': summe += 6*(16^(potenz));
++potenz;
--l;
break;
case'7': summe += 7*(16^(potenz));
++potenz;
--l;
break;
case'8': summe += 8*(16^(potenz));
++potenz;
--l;
break;
case'9': summe += 9*(16^(potenz));
++potenz;
--l;
break;

    } } JOptionPane.showMessageDialog(null,summe);    }   }

Bild zum Beitrag
Mathematik, programmieren, Java

Welche Engine würdet ihr benutzen um 2D Games für Android zu programmieren?

Zur Erklärung: ich habe bis jetzt schon sehr viel für Android mit Java in Android Studio programmiert und bin hier nun an die Grenzen des SurfaceViews gestoßen ..... die Performance. Bei meinem letzten Spiel hatte ich nur noch mit Glück um die 25FPS (mit Glück lief die draw() und update() Methode 25mal pro Sekunde durch ... meistens deutlich weniger) und das ist einfach zu wenig. Jetzt meine Frage, wie würdet ihr mir Empfehlen jetzt weiter zu machen ? Soll ich weiter für Android programmieren, aber diesmal mit einer Engine ? Ich habe in absehbarer Zeit nur vor 2D Spiele zu entwickeln. Es wäre schön, wenn ich bei Java bleiben könnte, da ich jetzt schon seit fast 3 Jahren mit Java programmiere. Und jetzt zur eigentlichen Frage: welche Engine würdet ihr mir empfehlen ?

  • (am wichtigsten) Es sollte viele Tutorials dazu geben (egal ob auf Deutsch oder Englisch)
  • Ich würde gerne bei Java bleiben
  • die Engine sollte kostenlos benutzbar sein und man sollte auch Apps ohne weitere kosten mit dieser Engine veröffentlichen können
  • (optimal) wäre wenn die Engine keine Werbung ins Spiel für sich einbaut
  • (davon hab ich keine Ahnung) Wie sieht es mit Cross-Plattfrom Support aus ?

Bitte antwortet nicht einfach nur mit einem Wort (dem Engine namen )... sondern begründet die Antwort auch in Bezug auf die 5 Punkte.

Computer, App, Technik, programmieren, Java, engine, Android, OpenGL, Technologie, Unity, Spiele und Gaming

Meistgelesene Beiträge zum Thema Java