Was ist die beste Programmiersprache für alle Zwecke?
Wenn man sich für eine Programmiersprache für alle Programme einigen müsste, welche wäre dann die beste?
Das Ergebnis basiert auf 5 Abstimmungen
4 Antworten
C/C++
Dazu würde ich dann den Qt-Creator empfehlen. Das ist eine komplette C/C++ Entwicklungsumgebung und der plattformunabhängigen Qt-Bibliothek. Damit kann man ohne den Quellcode ändern zu müssen Anwendungen für Windows, Mac und Linux entwickeln. Man macht fast alles mit der Qt-Bibliothek. Diese enthält Funktionen wie Zugriff auf die Schnittstellen, Netzwerk, Grafik und Multimediafunktionen.
Das kann man sowohl unter einer kostenlosen Open Source Lizenz (GNU GPL, GNU LPGL) lizenzieren oder unter einer kostenpflichtigen propritären Lizenz. Der Funktionsumfang ist bei allen Lizenzen identisch.
Hier die benötigten Downloads
für Windows:
- MinGW, das sind die GCC Compiler für Windows: https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/mingw-w64-install.exe/download
- Qt-Creator: https://www.qt.io/download Klicke auf "Go to open source"
- Qt Installer Framework, damit kann man sein fertig kompiliertes Programm in ein Installationspaket (setup.exe) verpacken https://download.qt.io/official_releases/qt-installer-framework/4.6.0/QtInstallerFramework-windows-x64-4.6.0.exe
für Mac:
- Zuerst installiert man sich die Xcode Command Line Tools. Da sind die GCC Compiler dabei.
- Qt-Creator: https://www.qt.io/download Klicke auf "Go to open source"
- Qt Installer Framework, damit kann man sein fertig kompiliertes Programm in ein DMG Paket verpacken https://download.qt.io/official_releases/qt-installer-framework/4.6.0/QtInstallerFramework-macOS-x64-4.6.0.dmg
Linux-Nutzer installieren sich zuerst build-essential über die Paketverwaltung. Da sind auch die GCC Compiler dabei. Der Qt-Creator lässt sich auch über die Paketverwaltung installieren. Das Qt Installer Framework gibt es nicht für Linux, dort erzeugt man mit den Bordmitteln je nach Distro DEB oder RPM Installationspakete.
Hier einige Beispiele was mit dem Qt-Creator in C++ programmiert wurde:
- Audacity
- VLC-Player
- Skype
- Microsoft Teams
- Spotify
- Google Earth Pro
- Steam-Client
- Discord
- OBS-Studio
Deshalb war es für die Programmierer leicht das für Windows, Mac und Linux anzubieten, weil man beim Portieren den Quellcode nicht ändern musste.
Davon C(++) aber auch da werden dann eben wieder Sprachen oben drauf entwickelt. Wir nutzen letztlich ja eh Maschinensprache und die Befehlssätze, welche die CPUs anbieten. Alles andere sind Abstraktionsschichten oben drauf.
Am Ende sind Programmiersprachen eben Werkzeuge. Sich da zu einigen auf eine Sprache ist schwer.
Ist eben wie bei anderen Werkzeugen. Einigen wir uns auf den Hammer. Ja ist toll um Nägel in die Wand zu kloppen, eine Schraube kriegen wir ggf. auch noch mit rein oder die Fliesen von der Wand.
Spätestens wenn der Zahnarzt bei der Wurzelbehandlung den Hammer auspackt, wirst du das aber nicht mehr für eine gute Idee halten.
C(++) legt z.B. viel Verantwortung in die Hände des Programmierers. Das bedeutet viele Freiheiten und Möglichkeiten. Das bedeutet aber eben auch derjenige muss schauen in welchen Speicherbereich er schreibt, dass er Speicher wieder freigibt etc. Oder kurz Fehler und Bugs werden sehr viel wahrscheinlicher.
Auch ist die Lernkurve sehr viel steiler, sprich wir werden dann wirklich einen großen Fachkräftemangel haben. Gerade z.B. wie Websprachen verwenden zu können oder andere Sprachen mit interpreter, wo in der Regel nicht so ein aufwendiger Build Prozess hinter ist, häufig als Lernseiten in Webeditoren usw. ermöglicht ja sehr vielen den Einstieg.
Auf der anderen Seite, wenn wir noch weiter Richtung Möglichkeiten und vor allem auch Geschwindigkeit gehen, dann sind wir schon eher bei Assembler. Wenn das die einzige Sprache wäre, dann wären die meisten der komplexen Anwendungen die wir heute haben aber gar nicht denkbar oder würden über mehrere Jahrhunderte entwickelt werden.
Definitiv Java, da deckt man so ziemlich alles mit ab.
Assembly. Denn damit liessen sich dann Compiler und Interpreter schreiben, die dann den darin geschriebenen code nach assembly übersetzen, welche dann wiederum von einem Assembler in ausführbaren Maschinencode übersetzt werden kann.
Also das stimmt nicht wirklich ... Alleine bei Teams. Das wurde vorher mit Electron gemacht und jetzt ist es auf basis von Edge WebView. Discord ist auch Electron mit React JS. Steam, naja. Ich denke mal auch nicht, weiß ich aber nicht sicher. Ich denke, die anderen sind auch falsch.