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
Sind Webseiten Computerprogramme?

Hey,

ich muss einen Vortrag in der Schule halten und habe mir das Thema Programmieren genommen. Und will natürlich nichts Falsches sagen, also habe ich hier ein paar Fragen, bei denen ich nur bisschen recherchiert habe, aber nichts gefunden habt:

Sind Webseiten Computerprogramme?

Gehört die Informatik zur Elektronischen Datenverarbeitung (EDV)?

Musst man als Informatiker programmieren können?

Bezeichnet man Programmieren grundlegend als die Erstellung von Computerprogrammen oder das Festlegen von einem Ablauf, wie Theateraufführungen, Fernsehprogramme, Kinoprogramme, Schulveranstaltungen,...?

Wenn man nur mit einem gewöhnlichen Texteditor programmiert (also keine IDE), musst man sich einen Compiler oder Interpreter installieren?

Kann man in Word theoretisch programmieren? ^^

Sind Anwendungen Programme?

Und wüsstet ihr vielleicht mit welchem Beispiel im Alltag das Programmieren behilflich sein könnte?

Und wenn man erstmal eine Programmiersprache richtig kann, ist die nächste Programmiersprache in der Regel ja einfacher. Wüsstet ihr da ein Beispiel wie man das mit dem Alltag verbinden kann? Mir fiele nur Gewichteheben ein (wenn man mit einem 10kg Hantel trainiert, wird die 15kg Hantel leichter sein als davor).

Das sollten die Fragen erstmal sein. Die Antworten sind denke ich zwar offentsichlich, aber ich bin mir bei Dingen eigentlich nie sicher ^^

Falls ich noch welche habe, werde ich diese hier unten reinschreiben. Danke im Vorraus! :)

Computer, Software, Schule, Programm, Hardware, Webseite, programmieren, Informatik, Programmiersprache
Qt/QML Eine ScrollBar für ein TextField erstellen?

Hey,

ich möchte eine ScrollBar in Qt für ein TextField erstellen. Außerdem soll wenn man Text auswählt den man eingegeben hat und Rechts-Klick macht, ein Pop Up Menü angezeigt werden bei dem man Optionen wie z.B "Einfügen" oder "Kopieren" hat.

Wenn ich den Folgenden Code ausführe bekomme ich 2 Fehler:

  1. qrc:/main.qml:89:26: QML Rectangle: Binding loop detected for property "implicitWidth"
  2. qrc:/main.qml:89:26: QML Rectangle: Binding loop detected for property "implicitHeight"

Hier die main.qml:

import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.5

ApplicationWindow {
   id: mainWindow
   visible: true
   width: 900
   height: 600
   title: qsTr("Hello World")
    
    
   TextField {
       id: textFieldForURL
       width: parent.width/2
       height: parent.height/14
       y: parent.height/4
       x: -scrollBar1.position * width
    
       anchors.centerIn: parent
       leftPadding: 8
       topPadding: 4
       rightPadding: 43
    
       color: "white"
       font.pixelSize: parent.height/20
       selectionColor: "#3b3d45"
       placeholderText: "Type something"
       placeholderTextColor: "#3b3f44"
       selectByMouse: true
       maximumLength: 1000
  
       background: Rectangle {
          id: textFieldForURL_Background
          color: "black"
          radius: 5
  
          Rectangle {
             id: clearTextFieldForURL_Background
             width: parent.height
             height: parent.height
             anchors.right: parent.right
             color: "black"
          }
       }
  
      Text {
         id: clearTextFieldForURL
         height: parent.height
         width: parent.height
         text: "X"
         color: "white"
         font.pixelSize: 30
         anchors.right: parent.right
         leftPadding: 13
  
         MouseArea {
            id: clearTextFieldForURL_MouseArea
            height: textFieldForURL.height
            width: textFieldForURL.height
            hoverEnabled: true
            anchors.horizontalCenter: parent.horizontalCenter
            anchors.verticalCenter: parent.verticalCenter
  
            onClicked: {
               textFieldForURL.text = ""
               textFieldForURL.forceActiveFocus()
            }
            onEntered: {
               clearTextFieldForURL_Background.color = "#2a2c30"
            }
            onExited: {
               clearTextFieldForURL_Background.color = "black"
            }
         }
      }

      ScrollBar {
         id: scrollBar1
         hoverEnabled: true
         active: hovered || pressed
         orientation: Qt.Horizontal
         size: textFieldForURL_Background.width / textFieldForURL.width

         anchors.left: parent.left
         anchors.right: parent.right
         anchors.bottom: parent.bottom

         contentItem: Rectangle {
            implicitWidth: parent.width
            implicitHeight: parent.height
            radius: width / 2
            color: scrollBar1.pressed ? "white" : "#999999"
         }
      }
   }
}
Computer, Programm, programmieren, Programmiersprache, Qt, Scrollbar
PermissionError: [WinError 5] Zugriff verweigert?

Hi ich weiß nicht wie ich das Problem lösen soll. Ich führe Python als Administrator aus. (Win 7)

Code:

from selenium import webdriver

import time

url = 'https://youtube.com/'

driver = webdriver.Chrome(r'C:\Users\Lars\Downloads\chromedriver_win32')

driver.get(url)

Fehler:

Traceback (most recent call last):

 File "C:\Program Files (x86)\Python37-32\lib\site-packages\selenium\webdriver\common\service.py", line 76, in start

  stdin=PIPE)

 File "C:\Program Files (x86)\Python37-32\lib\subprocess.py", line 775, in __init__

  restore_signals, start_new_session)

 File "C:\Program Files (x86)\Python37-32\lib\subprocess.py", line 1178, in _execute_child

  startupinfo)

PermissionError: [WinError 5] Zugriff verweigert

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

 File "C:\Users\Lars\Desktop\emails.py", line 5, in <module>

  driver = webdriver.Chrome(r'C:\Users\Lars\Downloads\chromedriver_win32')

 File "C:\Program Files (x86)\Python37-32\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 73, in __init__

  self.service.start()

 File "C:\Program Files (x86)\Python37-32\lib\site-packages\selenium\webdriver\common\service.py", line 88, in start

  os.path.basename(self.path), self.start_error_message)

selenium.common.exceptions.WebDriverException: Message: 'chromedriver_win32' executable may have wrong permissions. Please see https://sites.google.com/a/chromium.org/chromedriver/home

PC, Computer, Technik, Programmiersprache, Python, Selenium
Wie sind die Registerkonvention im Assembler zu verstehen?

Guten Morgen,
ich bin Schülerstudentin und sitze seit ca 1 Woche an einer Aufgabe in Mips, die wir nun endlich fertig haben. Nun sind wir allerdings auf ein Problem gestoßen und zwar wissen wir nicht wie wir mit den Registerkonventionen umzugehen haben.

Ich zähle nun einmal die Regeln zu einer Funktion mit Funktionsaufrufen (nicht Blattfunktion auf), darunter (in dick) befinden sich meine Fragen und Kommentare.

Konventionen:

– Sichere $ra auf dem Stack!

Ist für uns klar, denn die Returnadresse geht sonst nach einem Funktionsaufruf verloren und es kommt zu einer Endlosschleife.

– Weise Variablen, die nach einem Aufruf benötigt werden, an

einen $si Register zu und sichere zuvor $si auf dem Stack.

– weise Variablen, die nach einem Aufruf nicht länger benötigt

werden, an einen $ti Register zu

Ich nehme diese zwei Punkte einmal zusammen, denn hier beginnt das böse Übel.
Wie ist das denn eigentlich gemeint ? Ich persönlich verstehe es so, dass die $si Register vor dem Aufruf in den Stack geladen werden müssen, wenn sie in der aufzurufenden Funktion auch vorhanden sind. Und durch das Speichern wird der Wert nicht überschrieben. Die Frage wäre nun, wenn ich ein Register (z.b für einen Counter) benötige, dass nicht in der aufzurufenden Funktion vorkommt, ich es auch auf den Stack speichern muss, oder ob es dann ein t Register wird, statt ein s?

Man sagt ja, dass die t-Register sind für die Haltung kurzlebiger (temporärere) Variablen bestimmt sind. Nur was ist damit genau gemeint?

– kopiere Argumente ($ai) , die nach einem Aufruf benötigt

werden, in ein $si-Register und sichere zuvor $si auf dem

Keller

Was meint man hiermit genau.

Es wäre sehr nett, wenn ihr konkret werden würdet, denn ich verstehe das meiste im Internet schon nicht.

Vielen Dank im Voraus

Luisa

Computer, Mathematik, CPU, programmieren, Assembler, Informatik, Programmiersprache, Register
Wie kann ich den zerstörten KDE Desktop in Kubuntu wieder reparieren?

Hallo,

ich habe gestern Kubuntu 18.10 installiert auf folgendem System:

Intel Xeon E3-1231 V3 8 GB RAM GPU: NVIDIA GTX 980 Gainward Phantom (Desktop-PC, also kein Notebook)

(habe die NVIDIA Treiber unter "zusätzliche Treiber" installieren lassen nach der frischen Installation)

Gestern nacht aber hat es den Desktop komplett zerschossen. DH nach der Anmeldung war erst mal das Startmenü verschoben. Dann neu gestartet und dann kam gar kein Startmenü mehr, sondern die Taskleiste unten war auch völlig verschoben und nur noch zum Teil sichtbar. Und jetzt geht garnichts mehr .

hab folgende Anleitung durchprobiert, aber leider ohne Erfolg:

https://www.pcwelt.de/ratgeber/KDE-Plasma-5-Zurueck-zu-Standardeinstellungen-9935010.html

Der Desktop ist immernoch zerstört.

An diesen Desktop PC ist nur ein herkömmlicher 23 Zoll Monitor angeschlossen und ich habe diesbezüglich was die Signalausgabe angeht, keine Settings vorgenommen. Einfach nach der Installation von Kubuntu, die NVIDIA Treiber zusätzlich eingefügt unter "Zusätzliche Treiber" und ein paar Programme aus den öffentlichen Packetquellen installiert.

Auf meinem Laptop hatte ich vor einigen Monaten als ich mal Kubuntu darauf probieren wollte, das gleiche Problem. Es war nicht zu benutzen, weil auch da der Desktop ziemlich schnell nach der Installation zerstört war.

Danke

Computer, Technik, Linux, Desktop, programmieren, OS, Programmiersprache, Technologie, Serverprobleme, Spiele und Gaming
Unity3D ArgumentException: The Object you want to instantiate is null?

Hallo liebe Programmierfreunde da draußen. :)

Ich arbeite gerade an einem Ich-bin-ein-Ball-und-sammle-kleine-Würfel-ein-Spiel, bin aber noch ziemlicher Anfänger. Vor allem was das Coden angeht.

Ich möchte gerne, dass beim Einsammeln der Würfel ein Licht, also ein neues GameObject entsteht. Dafür habe ich dieses Script geschrieben:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CreateObject : MonoBehaviour
{
  public Transform Spawnpoint;

  public GameObject Prefab;

  private void Start()
  {
  }

  void OnTriggerEnter()
  {
    Instantiate(Prefab, Spawnpoint.position, Spawnpoint.rotation);
  }
}

Natürlich habe ich mehrere aufsammelbare Würfel im Level. Jeder von ihnen hat dieses Script und jeweils ein eigenes EmptyGameObject als SpawnPoint. Das Licht ist ein Prefab und alle Würfel nutzen dieses eine.

Ich habe also einen Original-Würfel erstellt, den dann per Copy & Paste vervielfacht, alle in der Welt verteilt und jeder Kopie einen eigenen SpawnPoint für sein Licht gegeben.

So, wenn ich jetzt aber das Spiel starte, werden bei allen Würfeln, außer dem ersten Original-Würfel, unendlich Klone des Licht-Prefabs erstellt, ohne, dass ich irgendetwas mache. Dabei bekam ich diese Fehlermeldung:

UnassignedReferenceException: The variable Spawnpoint of CreateObject has not been assigned.

Nach ein bisschen Recherche habe ich diese Zeile in void start hinzugefügt:

Prefab = GameObject.FindGameObjectWithTag("SpawnLight");

So, jetzt war diese Fehlermeldung weg, aber leider auch meine Lichter. Wenn ich jetzt einen Würfel aufsammle, bleibt es dunkel. Dafür bekomme ich eine nette Fehlermeldung, welche mich wissen lässt:

ArgumentException: The Object you want to instantiate is null.

Ich habe leider keine Ahnung, was ich machen muss, um meine netten, kleinen Lichter zurückzubekommen... 😟

Ich freue mich über Hilfe jeglicher Form und bin mir sicher, dass es irgendwo da draußen jemanden gibt, der mir den Weg zum Licht zeigen und ebnen kann.

Vielen Dank schon einmal

KomischerLappen 😃

PC, Computer, programmieren, Error, Programmiersprache, Unity 3D, Unity, Spiele und Gaming
Python Programmierumgebung Anaconda oder Visual Studio?

Hallo zusammen :)

Ich möchte die Programmiersprache Python lernen, bin aber noch Programmieranfänger. Kann bisher nur etwas Java. Java habe ich bisher immer in Eclipse programmiert. Nun suche ich für Python eine andere Programmierumgebung, ich glaube das nennt sich dann IDE. Ich dachte da zuerst an Visual Studio, weil man da auch mehrere Sprachen progammieren kann und das ja ganz nützlich sein kann, wenn man noch Sachen wie C++ oder JavaScript lernen möchte. Jedoch gibt es ja auch Anaconda für Python. Das verwirrt mich etwas. Ist Anaconda jetzt eine IDE für Python direkt oder lässt sich damit auch weiteres programmieren?

Irgendwo habe ich auch mal gesehen, dass eine Art Visual Studio Code in Anaconde mit enthalten ist. Ist das jetzt das Gleiche wie das normale Visual Studio oder gibt es da Unterschiede? Außerdem gibt es im Startbildschirm von Anaconda noch mehrere Sachen wie Spyder oder Jupyter oder sowas. Was ist das denn genau? Ich versuche mich da einzulesen aber momentan verwirrt mich das alles mehr als es mich weiter bringt. Ich würde mich riesig freuen, wenn mir jemand mal erklären kann, was es mit den ganzen Einzelheiten aus sich hat.

Wenn Visual Studio und Anaconde im Groben das Gleiche sind, was würdet ihr mir dann eher empfehlen?

Ich hoffe ihr könnte meine Verwirrung etwas auflösen :D Wäre euch wirklich dankbar für jede Hilfe.

Mit freundlichen Grüßen

Computer, Software, programmieren, Programmiersprache, entwickeln

Meistgelesene Beiträge zum Thema Programmiersprache