Komische Frage, aber könnte man das Lernen einer Programmiersprache, bei einer Virtuellen Maschine machen?
Hallo Leute, ich habe gehört, dass man bei Programmiersprachen sich beim Code ziemlich verbocken kann mit Memory Leaks und anderen Risiken beim unsicheren Code.
Also ist es eine bessere Idee in einer Virtuelle Maschine zu Coden, falls zu solchen Probleme kommt, dass man ein Backup macht, die virtuelle Maschine löscht und dann eine neue Maschine aufsetzt.
Mir ist es bewusst, dass virtuelle Maschine auch Performanceeinbrüche haben und wenn man kein guten PC/Laptop hat, ist sowas schon unmöglich. Und falls man eine Grafikkarte braucht, falls man ein rechenintensives Spiel programmiert, bräucht man 2 davon wenn man QEMU benutzt, bei Virtualbox ist es unmöglich und Virtualbox wäre aus meiner Sicht auch kaum geeignet dafür.
Was denkt ihr dazu?
Was hast du vor zu programmieren das klingt ja eher wie kernel development oder so
Habe gedacht mit C zu programmieren und habe nicht gedacht ein Betriebssystem zu machen.
3 Antworten
Das ergibt nur Sinn, wenn du Kernel-Entwicklung betreibst.
Bei allen anderen Anwendungen stürzt bei Memory Leaks oder ähnlichem das Programm ab oder man hat hinterher korrumpierte Daten bspw. wenn man einen Export von Daten in eine Datei hat machen lassen.
Ich programmiere meine Applikationen in C++/Qt auf meinem "normalen" System Debian 12 und nicht in einer VM.
Das ist Unsinn. Memory Leaks machen ja nichts kaputt, das brauchst du folglich nicht. Und zum inspizieren gibt es auch so Tools.
QEMU macht Sinn, wenn du Betriebssysteme entwickeln möchtest. Wenn du Windows vewendest kann eine Linux-VM (Linux-Subsystem für Windows) sinnvoll sein, da Linux in Teilen die Entwicklung erleichtert und du dann auch auf Linux testen kannst.
Unter Linux beispielsweise valgrind und GDB. unter Windows diverse Visual-Studio-Tools.
Ja, man kann das tun, auch wenn Memory Leaks nur nach einer längerer Zeit Probleme verursachen können.
Manchmal können aber auch kürzere Programmen die Maschine abstürzen.
Welche Tools gibt es dafür?