Ist C++ die richtige Programmiersprache für mich?

guten morgen!

da ich ungerne zeit in das falsche investieren möchte, wollte ich euch um eure erfahrene meinung bitten.

ich würde gerne eine programmiersprache lernen. hier kam mir zuerst c++ in den sinn.
was will ich programmieren?
in erster linie kleine datenbanken, wie ich aus access kenne. formulare mit schnittstellen zu einer datenbank z.b. für eine personalverwaltung.

meine vorkenntnisse: vba, etwas php und natürlich allgemeins computerwissen.

ist c++ geeignet? mit welcher datenbank sollte ich mich befassen? welche ist auch für die zukunft geeignet?

welche programme könnt ihr empfehlen? (vorzugsweise freeware)

gibt es gute tutorials für den anfang?

vielen dank für eure hilfe und viele grüße!!!

also ich denke bei programmiersprachen kann man seine zeit gar nicht verschwenden. im schlimmsten fall hast du etwas gelernt was du vlt im moment nicht brauchst aber dir trotzdem irgendwan zu gute kommt. es ist wie mit echten sprachen. lernt man russisch in der schule denkt man sich: den kram bauch ich eh nie wieder.
später braucht man es vlt. im beruf dann doch.

aber um zurück zu deiner frage zu kommen, c++ ist, soweit ich das beurteilen kann, nicht wirklich DIE datenbanksprache.
was du lernen willst klingt er nach MySQL, SQL und PHP vlt auch java.

ich lerne im moment C++ und wenn ich dir einen tip geben darf: KAUF DIR BÜCHER! - ohne witz aus einem videotutorial lernen kann man vergessen. webseiten dienen bestenfalls als nachschlagewerke und e-books kannst du total vergessen. da dir da nach 10 so die augen aus dem kopf.

Hmm .
C++ ist quasi schon viel zu Fuss gehen. Genau auf Datentypen achten und Speicher Verwalten.
Sich mit einer Datenbank zu verbinden und die Daten auslesen ist schon eine Aufgabe für sich.Dazu sollte man gute Wrapper haben , die einem die Fummelarbeit abnehmen.
Schon das Auslesen und Anzeigen von UTF-8-Zeichen kann ein nicht triviales Problem werden.
Du bist bei C++ so gut wie deine Bibliotheken die du nutzen kannst. Einfach mal eben eine Anwendung schreiben ist nur möglich wenn du Hilfsmittel nimmst, z.b. MFC oder was es heute so gibt. Dort ist dann schon das meiste Fertig zum benutzen. Aber auch damit ist es noch ein Langer weg bestimmte Dinge zu realisieren.

Für eine SingleUser Datenbank für die Applikation finde ich SQLite ganz gut integrierbar . Auch da gibt es schon Wrapper für , die das Nutzen vereinfachen.

Thomas Punkt.

Du kannst Dir ja mal so ein Tutorial angugen , wo die MFC genutzt wird um schnell mal eine GUI zu machen.
http://www.cpp-tutor.de/mfc/

vielen dank für eure meinungen.

das ganze thema um c und c++ scheint sehr umfangreich zu sein.

php kannte ich bisher nur als reine internetprogrammierung bzw. auf servern mit php und immer mit einer html oberfläche.

ist es auch möglich php browser und serverunabhänig laufen zu lassen? quasi als eigenständiges programm mit einer exe?

wenn ja wäre das natürlich genial, denn in php habe ich gute grundkenntnisse (nur etwas eingestaubt).
nur bezüglich datenbanken habe ich keine erfahrungen, ausser access *hust*

Schau doch mal bei VB .NET vorbei
Thema Datenbank :
http://openbook.galileocomputing.de/vb_net/msvb09000…

Hi,

PHP kannst du auch Server unabhängig nutzen bzw. Internet unabhängig, dank der QT-Erweiterung und GTK lassen sich somit auch komplette GUI’S erstellen, die weder einen Browser noch einen Server benötigen.

Gruß

Hi,
für Datenbanken würde ich dir C# oder Java empfehlen gibt für beide Sprachen ein super Buch von GalileoComputing sogar kostenlos.
Was SQL betrifft, ist es recht egal, allerdings finde ich das die Verwaltungstools für MySQL und MSSQL-Server am besten sind.
Lg Knerd

ich würde gerne eine programmiersprache lernen.

Gute Idee, hilfreich für viele Dinge im beruflichen und privaten Leben. Und es kann viel Spaß machen.

hier kam mir
zuerst c++ in den sinn.

Sicherlich etwas, wofür man als Anfänger genügend Hilfe, Literatur und kostenlose Werkzeuge bekommt.

was will ich programmieren?

Da hätte ich eher „wozu“ gefragt. Denn man kann das Programmieren aus vielen verschiedenen Motivationen lernen:

  • um eine (exemplarisch) eine Sprache zu beherrschen

  • um etwas über Algorithmen zu lernen und damit, wie man komplexe Probleme in fachlich geeigneter Weise umsetzt.

  • um zu verstehen, wie man mit einer Entwicklungsumgebung umgeht und von der Lösungsidee zu einem fehlerfreio lauffähigen Programm kommt.

  • um kleinere eigene Wünsche des Computeralltags zu realisieren, für die es keine Standardwerkzeuge gibt.

  • um zu Lernen, wie man die Funktionen des Betriebssystems sinnvoll in einem Programm steuert.

Wenn das und ein paar vertiefende Fragen(Vorkenntnisse, System, Anwendungsfeld) klar sind, kann eine Empfehlung schon zielgerichteter sein.

in erster linie kleine datenbanken, wie ich aus access kenne.

Richtige Datenbanken haben mit Programmieren nicht viel zu tun.

formulare mit schnittstellen zu einer datenbank

Sind sehr abhängig vom Umfeld: Datenbank, Betriebssystem. Auch eher nichts, was mit richtigem Programmieren zu tun hat.
Access oder VB ist da wohl das eheste, was diesen Vorstellungen nahe kommt.

z.b. für eine personalverwaltung.

Uff. Sicherlich nichts, was man als praktischen Anwendungsfall verwenden könnte. Höchstens als Beispiel in einer sehr simplifizierten Form.

meine vorkenntnisse: vba, etwas php und natürlich allgemeins
computerwissen.

Schon mal nicht schlecht. Vieles, was man dabei lernt, ist sprachunabhängig verwendbar.

ist c++ geeignet?

Prinzipiell ja, obwohl Sachen wie Formulare oder Datenbank eher eigene Themen sind. Mit Access und VBA hast Du da aber ja schon reingeschluppert, so das „echte“ Programmierung vielleicht ganz angesagt sein könnte.

Ciao, Allesquatsch

Ich möcht Dir nochmal zusammenfassen warum überhaupt diese vielen Unterschiedlichen Programmiersprachen da sind und warum nicht einfach alle nur das eine Lernen.

Grundlegend arbeitet ein CPU mit der Maschinensprache. Das sind je nach CPU einige Befehle. Daraus baut man dann alles andere. Da schon alle Grundrechenarten mit nur Plus umgesetzt werden können , reicht also schon ein Befehl „inkrementieren“ und ein paar Befehle für Register aus um alle Grundrechenarten zu lösen.
Das mit dem Maschinencode hat aber so seine Nachteile, man kann als Mensch solch Code nicht lesen .
Also hat man sich daran gesetzt und eine Lesbare Form erzeugt . Assembler ist also eine geschriebene Form von Maschinensprache Befehlen. Das trifft bei einigen Befehlen heutzutage nicht mehr zu, die machen schon intern eine folge von Befehlen .
Aber auch Assembler hat so seine Einschränkungen , denn es ist CPU abhängig und auch schwer zu lesen .
Also hat man eine nächst höhere Sprache Organisiert die gut zu lesen ist gut strukturiert ist und die dann durch einen Compiler das Zeug in Maschinensprache wandelt. Leider kann man so nicht mal eben schnell ein Programm erzeugen und ausprobieren . Man muss erst mal den Compiler füttern und auf das Ergebnis warten etc etc etc

Die Lösung für „mal eben schnell was Programmieren“ wurde durch Interpreter umgesetzt. Es werden on Demand die Programmiersprachen Befehle durch den Interpreter gejagt und der hat dann die entsprechenden konstrukte in Maschinensprache dafür .

Interpreter sind also die langsamste Form der Verarbeitung .

Will man also was schnelles haben , eignen sich nur Compilersprachen .

Eine andere Stufe ist die Einflussmöglichkeit auf das System. Wie du schon festgestellt haben wirst gibt es keine Beispiele wo mit PHP ein 3D Aktion Shooter programmiert wurde. Das liegt daran das dieser Interpret gar nicht dafür vorgesehen war 3D zu programmieren.

Und es gibt noch die Stufe der Logik . Einige Sprachen sind besonders auf gewissen Gebiete ausgelegt. z.b. für Sematische Datenhaltung.

Mit C oder C++ ist man sehr nah am System und hat dank vieler Vorarbeit anderer schon alle Bibliotheken zum direkten Zugriff. Mann kann zwar alles machen , aber es wird einem auch nix abgenommen.

Mit VB hat man ein schon nicht mehr so die direkte Umsetzung und ist wiederum mit Betriebssystem Microsoft verbunden. Man kann zwar auch vieles machen aber nur das was VB so innerhalb von Microsoft Betriebssystem bietet. Und da es viel übernimmt an Einzelschritten ist es viel langsamer in der schlussendlichen Ausführung. Denn die Einzelschritte sind durch mögliche Optionalität sehr aufgebläht. Da könnte man mit C halt spezifischeren Code produzieren.

Mit Perl und PHP hat man Interpreter die nur für ihr jeweiliges Gebiet schnell sind und auch nicht auf alles ausgelegt sind. Mit Perl wird also auch kein 3D Ego shooter produziert. Aber das schöne man hat lesbaren Code den man sofort Ausführen kann.

Java ist so ein Zwischending . Es hat einen Compiler und einen Interpreter. Da der Interpreter aber schon vorgefertigten Code vom Compiler bekommt ist es viel viel schneller als z.b. PHP .
Java Interpreter muss also viel weniger leisten um das Programm auszuführen. Fast für jedes System gibt es den Java Interpreter und somit gilt Java als System unabhängige Sprache. Aber es braucht hat die Installation des Interpreters um zu laufen.

Und als Programmierer hat man dann noch bei jedem der Sprachen die Problematik wie weit Daten selber organisiert werden müssen. So was wie PHP macht im Hintergrund viel Arbeit die dann der Programmierer nicht machen muss. Ob nun Zeichen oder Zahl in einer Variablen , PHP organisiert das für dich . Das sieht bei Sprachen wie C++ schon ganz anders aus. Da muss man erst mal wissen wie das Betriebssystem die Daten verarbeitet und muss alles selber festlegen. Ob etwas eine Zahl oder ein Zeichen ist macht einen riesen Unterschied. Auch in der Speicherverwaltung sind die Sprachen unterschiedlich. Einige sprachen kümmern sich um alles und geben den Speicher frei wenn es gebraucht wird, andere Sprachen unterliegen der Programmierer Kontrolle, gibt der den Speicher nicht frei dann gibt’s murks.

Grundsätzlich ist also eine einfache Sprache wie PHP für den Anfänger leicht zu benutzen. Ist aber nicht dafür gemacht worden es als Exe zu verwenden. Auch wenn es gehen mag , es wird reichlich umständlich das umzusetzen.

Wenn du also nicht tief in die Programmierung willst, reicht VB aus für deine Zwecke. Willst du es Systemunabhängig dann liegt wohl Java nahe.
C# , C , C++ sind dann doch mit viel mehr Aufwand umzusetzen , da wird sich der schnelle Erfolg nicht gleich einstellen.

Thomas Punkt.

P.S. Korrekturen erwünscht.