Unterschiede zwischen C++ php html etc?

4 Antworten

C++ ist eine Programmiersprache welche compiliert wird und damit in Maschinensprache übersetzt wird.

PHP ist eine Scriptsprache, geschrieben in C/C++ - Die Unterscheidung in Skript- und Programmiersprachen ist nicht immer ganz eindeutig und oftmals wohl auch eine Glaubensfrage.

HTML ist eine Auszeichnungssprache wie XML und enthält Beschreibungen, aber keine Logik.

HTML, CSS, XML, PHP, JavaScript usw finden alle starke Anwendungen im Web-Bereich. Anwendungen sind nicht Systemnahe. Im Gegensatz dazu stehen Sprachen wie C/C++, mit welchen systemnahe Programmierung möglich ist.

Server-Anwendungen für bspw. ein Spiel werden meist in der selben Sprache gehalten wie der dazu auszuführende Client. Natürlich kannst du auch sprachen miteinander kombinieren, musst dich allerdings dann auch um die Kommunikation zwischen beiden kümmern. 

Woher ich das weiß:Berufserfahrung – Ausgebildeter Softwareentwickler

HerCarry 
Beitragsersteller
 13.11.2017, 17:55

Ok vielen danke, also kann ich sozusagen mit C++ nahezu "alles" machen. Eine kleine Frage noch, ich habe Visual Studio 2017 auf meinen Computer installiert, wie kann ich dann ein Programm kompilieren ? Habe schon oft gelesen wie das gehen soll, allerdings existiert bei mir im Debug-ordner keine .exe Datei

0
phiLue  13.11.2017, 18:03
@HerCarry

In der Theorie wohl, allerdings haben die Sprache alle einen gewissen Anwendungsbereich. So lassen sich Webseiten einfacher mittels PHP oder JavaScript entwickeln. HTML und CSS werden dennoch benötigt, da dies die Sprachen sind welche der Browser interpretiert und optisch darstellen kann.

Zu Visual Studio kann ich dir leider nichts sagen da ich zu meiner Zeit Borland C++ entwickelt habe und sich hier die Umgebungen und die Bibliotheken unterscheiden.

0
regex9  14.11.2017, 01:39
@HerCarry

Dein Programm wird kompiliert, sobald du den Starten-Button mit dem grünen Pfeil drückst. Im Output-Fenster (unten) siehst du, ob der Build erfolgreich war oder nicht. Außerdem solltest du beachten, welchen Build-Modus du derzeit ausgewählt hast: Release oder Debug. Die Auswahlbox dazu findet sich im gleichen Menü wie der Starten-Button.

0

Letztendlich sind beides Programmiersprachen. Allerdings werden die Programme, die mit C++ geschrieben werden, compiliert und laufen dann auf dem Rechner selber ab.

PHP ist eine Skriptsprache und benötigt einen Interpreter. Außerdem fehlen hier Bibliotheken, um Windows-Fenster-Funktionen zu benutzen.

PHP wird normalerweise auf Web-Servern eingesetzt und liefert eine HTML-Ausgabe.  Diese Programmiersprache wird daher im wesentlichen für Web-Applikationen eingesetzt.

C++-Programme können natürlich ebenfalls für solche Applikationen benutzt werden, wenn sie auf einem Web-Server laufen gelassen werden.


thomasbuescher  13.11.2017, 17:50

Nachtrag: HTML ist keine  Programmiersprache, sondern eine Seitenbeschreibungssprache. Dort sind z. B. keine Kontrollstrukturen wie Schleifen oder Berechnungen möglich.

1

Unterschiede zwischen C++ php html etc?

Sämtliche Unterschiede kann man wohl kaum aufzählen, das würde m.E. den Rahmen sprengen. Aber auf das Wesentliche beschränkt:

  • C++ ist eine Programmiersprache, die mehrere Programmierparadigmen unterstützt. Typische Anwendungsfelder finden sich in der System- (OS, VMs, Embedded Systems, Treiber, ...) oder der Anwendungsprogrammierung (Grundstein für Game-Engines, u.ä.).
  • PHP ist eine Skriptsprache (und damit auch Programmiersprache), die sich auf den Bereich der Webentwicklung fokusiert hat. Sie wird von einem Webserver interpretiert.
  • HTML ist eine Textauszeichnungssprache, die vorwiegend dazu dient, Daten zu strukturieren und mit Meta-Informationen auszustatten / zu beschreiben. Sie wird im Web angewendet, der Browser nutzt vom Server gesendete HTML-Dokumente dazu, um eine visuelle Seite aufzubauen.

Als Beispiel: ein Spiel welches ich mir Herunterlade wurde mit C++ programmiert, ist dieses dann auch mit php (o.ä.) programmiert damit man es auch online spielen kann (...)

Man könnte im Entwicklungsprozess durchaus sagen: Für Desktop entwickeln wir die Anwendung mit Sprache A und für das Web entwickeln wir die Anwendung mit Sprache B. Tatsächlich ist/war das notwendig, wenn bestimmte Anwendungen auf verschiedenen Plattformen verfügbar sein sollten (z.B. Android und iOS). Dies würde aber heißen, dass die Anwendung zweimal neu entwickelt werden müsste. Einmal in Sprache A und einmal in Sprache B.

Natürlich versucht man solche Fälle zu vermeiden und es gibt zahlreiche Entwicklungen (Frameworks / Bibliotheken), die darum bemüht sind, plattformunabhängige Entwicklung zu ermöglichen - wobei hier angedacht werden muss, dass auch dies Nachteile mit sich bringt (bspw. Performanceverlust, schlechteres Look&Feel, etc.).

Beispiele dafür:

  • Das Qt-Framework (mit C++ geschrieben), welches die Entwicklung von Apps ermöglicht, die auf Android, iOS und WinRTE laufen können.
  • Das Xamarin-Framework zur Entwicklung von Apps, die auf Android und iOS gleichermaßen laufen.
  • Mit der Programmiersprache Java werden Anwendungen geschrieben, die letztendlich in deren eigenem Runtime Environment (JRE) laufen. Der Nutzer muss auf seinem OS also das JRE installiert haben, damit eine Java-Anwendung ausgeführt werden kann.

Es ist also nicht immer notwendig, eine Anwendung mehrmals zu schreiben, damit sie auf diesem und jenem OS laufen kann.

Bei der Portabilität zwischen Web und OS ist es ähnlich, aber noch etwas komplizierter. Eine Webapplikation bspw. hat bereits aus Gründen der Sicherheit weniger Zugriff auf das System des Nutzers (z.B. auf seine Kamera oder zum Schreiben/Lesen von Dateien), ist dafür aber unabhängig vom OS (stattdessen abhängig vom Webbrowser des Nutzers).

(...) aber das das dann online oder über ein Server läuft das alles verstehe ich noch nicht ganz, (...)

Das Prinzip an sich ist ziemlich simpel. Du hast ein Server-Client-Verhältnis. Auf dem Server liegt die Webanwendung, der Client wird durch einen Webbrowser repräsentiert. Wenn der Nutzer nun eine Webseite aufruft, wird deren Domain aufgelöst und wenn das assoziierte Ziel (der Webserver) ausfindig gemacht wurde, an diesen eine Anfrage gestellt: Schick mal.

Der Server lauscht nach eingehenden Anfragen und bearbeitet diese. Danach schickt er seine Antwort zurück an den Client, der diese auf seine Weise wieder verarbeitet (interpretiert). Bei Webseiten schickt der Server meist HTML-Dokumente zurück. Im Grunde bietet HTML einen gemeinsamen Standard, den beide Seiten verstehen. Zuzüglich werden dem Browser noch Ressourcendateien (Bilder, Styles, usw.) zugeschickt, die es ihm zuletzt erlauben, die Nachricht vollends zu interpretieren und geeignet anzuzeigen.

Wenn du nun eine Desktop-Anwendung entwickeln würdest - als Beispiel nehme ich einen Taschenrechner - würde es sich als klug erweisen, das Programm in verschiedene Bereiche aufzuteilen. Eine grafische Oberfläche (View), den Programmspeicher, der die Daten hält (Model) und einen Controller, der zwischen beiden Bereichen vermittelt sowie Aktionen durchführt / die Logik implementiert, wie die Berechnung zweier Werte (könnte zu Anteilen aber ebenso das Model übernehmen).

Schau dir nun eine Webseite an, und du merkst, dass sie genau die gleiche Architektur verwendet. Die Serveranwendung übernimmt die Programmlogik (Anfragen empfangen, verarbeiten, antworten), kommuniziert möglicherweise sogar noch mit einer Datenbank. Die grafische Oberfläche aber liegt auf der komplett anderen Seite, beim Client. Der Controller, dies muss man an dieser Stelle sagen, ist auf beiden Seiten vorhanden. Sei es in Form einer JavaScript-Aktion im Browser (z.B. eine Validierung der Textfelder) oder dem Zusammenbauen des Antwortdokuments auf Serverseite.

C++, html und php kann man nicht miteinander vergleichen. Das sind völlig verschiedene Welten. Daher gibt es so viele Unterschiede, dass man die gar nicht alle aufzählen kann. Du würdest es wahrscheinlich auch nicht verstehen, was klar ist, als Anfänger. 

Woher ich das weiß:Berufserfahrung – Jahrzehnte IT Erfahrung, Experte für Kryptowährungen, 🐱