Erstmal *verschoben*
Die Frage ist zunächst:
Was willst Du machen? Auf welchen Betriebssystem soll das Programm laufen, oder ist es eine Interneranwendung (wie dieses Board)?
Unter Windows kann man herrlich mit
Microsoft Visual Studio Programme entwickeln, diese Software ist aber sehr teuer. Borland bietet hier für den privaten Gebrauch auch kostengünstige/-lose Umgebungen an.
Empfehlenswert ist für den Einstieg in die Programmierung aber nicht eine Entwicklungsumgebung, sondern erst einmal Lektüre, um das Programmieren ja erst einmal zu erlernen. Ja, alles so schön theoretisch und trocken, einige gute Bücher enthalten aber auch Entwicklungsumgebungen, mit denen man schon die ersten Schritte unternehmen kann.
Halte am Anfang mal Ausschau nach BASIC und HTML.
Die BASIC-Umgebung sollte objektorientiert arbeiten können, damit man gleich in die richtige Richtung kommt. Die meisten moderne Programm werden mit objektorientierten Sprachen entworfen (Für Windows wurde C++ verwendet).
BASIC ist z.B. als VBA in jedem modernen Microsoft Office-Programm (Word, Excel, PowerPoint, Access, Outlook, ...) enthalten. Damit kann man am ehesten in die Programmiersprache einsteigen. Die Online-Hilfe in den Programmen bieten jedoch keinen kompletten Programmierkurs. Dazu müsste dann ein Buch über VBA herhalten. Mit Access kann man dann auch gleich die Bearbeitung von Datenbankinhalten lernen und somit eigene Anwendungen schreiben. Diese laufen dann zwar nur unter Access, aber das reicht ja für den Anfang schon immerhin aus. Später kann man dann immer noch auf eine "echte" Umgebung umsteigen und richtige Programme entwickeln.
Für HTML kann ich Dir
selfHTML wärmstend empfehlen. Die Seite ist in deutsch und sehr gut beschrieben. Aber auch hier gilt: Ein Buch für Einsteiger kann nur empfohlen werden!
Wenn Du beides soweit erlernt hast, um die ersten kleineren Programme und damit Aufgabenstellungen umsetzen zu können, wäre der nächste Schritt C++ und PHP.
C(++) ist die maschinencode orientierte Sprache, in der z.B. Windows erstellt wurde und auch nur C(++) und ähnliche Sprachen sind in der Lage, vom Prozessor ausführbaren Programmcode zu erzeugen!
Unter PHP läuft dieses Board.
Kurze Erklärung:
C ist eine stark an Maschinencode angelehnte Programmiersprache, die jedoch nicht sooo schwer zu erlernen ist. Reiner Maschinencode, also z.B. Assembler, ist dagegen wieder verdammt schwer, aber nötig, wenn es darum geht, Maschinen zu steuern (z.B. Roboterarme).
PHP ist einfach gesagt ein (Profis mögen mir den Ausdruck verzeihen) "Aufsatz" auf HTML, mit dem man Daten gemäß Eingabe oder aus externen Datenquellen verarbeiten und in dynamischen HTML-Seiten darstellen kann. Dieses Board ist ja dazu das beste Beispiel.
Microsoft hat für dynamische Internetseiten auch DHTML entwickelt, das ist aber schon wieder etwas schwerer und bedarf längerer Lernphasen, da es, einfach gesagt, nur eine "Befehlserweiterung" von HTML darstellt.
C++ und PHP sind recht ähnlich in der Syntax. PHP wurde so entwickelt (ist auch jünger als C). Dadurch hat man es eben leichter, neben eigenständigen, lokal oder in einem LAN laufende Programme (unter C++) zu entwickeln und im gleichen Zuge Seiten für das Internet zu erstellen. Denkbar wäre z.B. eine Verwaltungssoftware, mit der man Adressen im Büro über das lokal installierte Programm und ein Vertreter unterwegs über das Internet mittels PHP-generierte Seiten auf die Daten zugreift und diese bearbeitet. In Kombination C++ und PHP muss der Programmierer dann nicht so stark umdenken.
Du siehst schon, es ist nicht gerade einfach, sich für das Richtige zu entscheiden.
Noch mals die wichtigsten Unterschiede:
BASIC und C++ sind Progrmmiersprachen, mit denen man eigenständige Programme entwickeln kann, die auf dem lokalen Rechner oder in einem LAN benutzt werden.
HTML und PHP erzeugen - einfach ausgedrückt - starre (HTML), bzw. dynamische (PHP) Webseiten, mit denen man Informationen bereitstellt (HTML) oder auch bearbeiten kann (PHP).
Hinweis zu HTML: Sicherlich kann man auch mit HTML interaktive Webseiten aufbauen, man benötigt aber für Eingaben und der Verarbeitung der Daten andere Sprachen. Das kann z.B. Java (wird auch mit PHP viel eingesetzt!) sein oder eben PHP. Auch fällt immer wieder der Begriff Javascript. Das hat nur entfernt mit echten Java zu tun!
HTML benutzt dazu ausschliesslich auch den Browser des Benutzers, bzw. erst da werden die Inhalte aufbereitet und dargestellt. HTML ist auch lediglich eine Sprache, die die Darstellung der Inhalte beschreibt. In HTML und darin enthaltener (z.B.) Java-/Flash-Code wird zunächst immer erst geladen (Traffic!) und dann vom Browser ausgeführt. Wird dann mit z.B. Java etwas bearbeitet, so passiert dieses immer auf dem Rechner des Anwenders.
PHP ist eine Server-Sprache, d.h. die Verarbeitung geschieht auf dem Server und nur die Ergebnisse werden per dynamisch aufgebauter HTML-Seiten zum Benutzer geschickt. Das spart Traffic und ist meistens schneller.
Die Empfehlung von mir:
Besorge Dir mal Bücher zu BASIC (Wenn Du MS-Office oder auch nur Word hast dann eins über VBA) und HTML. Von Data Becker oder Markt&Technik gibt es da sehr gute Lektüre. Oder auch Bibliotheken haben meistens gute Unterlagen dazu. Das ist der beste Einstieg ins Programmieren.
Fang klein an. Versuche mal unter BASIC eine einfache Eingabe von zwei Zahlen, deren Verknüpfung nach irgendeiner mathematischen Formel (z.B. addieren) und gib das Ergebnis wieder aus.
Das Ganze kann dann Schritt für Schritt mit grösseren Aufgaben gesteigert werden. Ich habe z.B. unter Access mir eine Video-, DVD- und CD-Verwaltung erstellt. Das meiste nimmt einem dabei Access schon ab (die Formulare und Berichte, sowie Abfragen auf Tabellen), einiges muss man aber dann doch Programmieren und das dann unter VBA (also BASIC).
Der Unterschied zwischen C und C++:
C ist eine zeilenorientierte Sprache, mit der man mittels Sprungbefehlen bestimmte Programmfunktionen aufrufen muss (so genannter Spagetti-Code). Kaum einer programmiert noch so.
C++ hat weitgehenst die gleiche Syntax wie C, ist aber objektorientiert, d.h. es wird ein Objekt erstellt (z.B. eine Eingabemaske), diese formatiert und entsprechende Felder/Objekte darin erstellt. Diese Felder werden dann je nach Bedarf an ein Datenbankfeld gebunden oder dienen rein nur zur Eingabe (um mal bei dem Beispiel zu bleiben). Dazu kommen dann Prozeduren und/oder Funktionen, die diverse Verarbeitungen beinhalten und durch programmierten Aufruf oder eine Aktion ausgeführt werden.
Somit wird für jedes Objekt ein eigener Programmteil erstellt, so daß man das Programm in der Entwicklungsumgebung immer nur stückweise sieht. Das hat aber deutliche Vorteile, da man z.B. die Eingabe erstmal in Ruhe erstellen kann und anschliessend unabhängig davon die Verarbeitung und Ausgabe programmiert. So behält man den Überblick und kann einen Programmteil komplett fertigstellen, bevor man zum nächsten geht. Auch ist eine nachträglich Änderung am Programm so deutlich einfacher. Es muss schliesslich nur der betreffende Teil bearbeitet werden. Zeilenorientlierte Programmiersprachen bieten diese Übersicht nicht.
Um Dir mal einen ganz kurzen Einblick zu geben, ein Programm-Beispiel unter PHP:
Code: Alles auswählen
<?php
function addition(zahl1, zahl2)
{
ergebnis = zahl1 + zahl2;
return ergebnis;
}
?>
Diese Funktion wird z.B. aufgerufen durch
und gibt den Wert "13" zurück. Mehr passiert nicht. Das Ergebnis kann dann entsprechend weiter verwendet werden. So wird der Wert "13" durch den Aufruf
in die Variable "a" geschrieben (wenn x+y 13 ergibt!).
Verstanden? Schwer für den Anfang, gebe ich zu, aber daran erkennt man schon ein Grundprinzip von PHP: Es wird eine Funktion erstellt, die wiederkehrende Befehlsfolgen enthält und von jedem Teil des Programmes aufgerufen werden kann. In einer Funktion kann man auch Datenbankoperationen, Prüfungen auf Feldinhalte und vieles mehr unterbringen. Auf diesem Board sind z.B. die meisten Datenbankoperationen in Funktionen untergebracht.
So und nun erstmal viel Spaß beim Suchen der Bücher und den ersten Lernstunden.
OXPUS
PS: Ich habe BASIC gelernt, VBA benutze ich fast täglich an der Arbeit, C hatte ich mal angesehen und PHP/HTML kann ich mittlerweile auch schon recht gut. Javascript ist nicht so schwer (etwas beherrsche ich das auch) und Java ist nur etwas abstrakter, aber die Grundzüge sind PHP ähnlich.