Auch PHP, in dem man IF...ELSE usw. machen kann ist keine Programmiersprache. PHP, ASP oder JS sind Scriptsprachen
duderino
das habe ich nie behauptet ^^ - ich habe gesagt, dass sprachen, die nicht mal IF .. ELSE können, keine programmiersprachen sind, den umkehrschluss ("alle sprachen, die IF..ELSE können, sind programmiersprachen) hast du mir jetzt einfach mal unterstellt *g*
@secretservice11
dann definiere mal, was für dich programmieren ist, bzw. was ein "kleines programm" ist
also folgendes:
es gibt scriptsprachen und programmiersprachen. der unterschied zwischen beiden ist umstritten. klassische programmiersprachen sind u.a. Objectiv C, C#, C, C++, Java, Basic und alle Basic-Dialekte.
Als Scriptsprachen gelten (da werden mir jetzt nicht alle zustimmen) PHP, Python, Ruby, Perl, JavaScript, Actionscript, C-Script, VB-Script, Applescript usw.
Fangen wir mal an mit der erklärung:
C
C ist eine sehr verbreitete und mächtige Sprache. Damit kannst du vom Texteditor bis zum Betriebssystem quasi "alles" programmieren. C benutzt du hauptsächlich mit Frameworks und APIs, also sozusagen "Erweiterungen", die dir das Arbeiten erleichtern. Du kannst es vereinfacht mit Plugins eines Programms vergleichen: C wäre also im Vergleich das Grundprogramm, die Frameworks, APIs und Engines wären Plugins, die den Funktionsumfang von C erweitern.
Die Lernkurve in C ist steil, d.h. es ist anfangs schwierig, relativ frustrierend und du bekommst lange Zeit keine wirklich ernstzunehmenden Dinge hin.
C ist maschinennah, also liefert es schnelle Programme. Dafür ist es fehleranfällig und für Anfänger recht unleserlich.
Achja: C Quellcode ist plattformunabhängig, sodass man mit ihm auf allen Plattformen ein Programm machen kann, aber man muss den Quelltext eben auf allen gewünschten Plattformen übersetzen ("compilieren"). Außerdem gibt es in der Praxis einschränkungen, wenn Frameworks, APIs und Engines ins Spiel kommen (liegt nicht an C, sondern an den Frameworks usw)
Vorteile im Überblick
+ schnell (da maschinennah)
+ flexibel (Spiele, Betriebssysteme, Anwendungen...)
Nachteile im Überblick
- quellcode plattformunabhängig, aber durch die Frameworks, APIs und Engines wird er eben doch plattformabhängig
- komplex
- fehleranfällig
- nicht geeignet für Anfänger!
Verbreitung auf folgenden Plattformen
- Linux (Linux ist z.B. afaik in C geschrieben)
- theoretisch auch Mac und Linux möglich, aber dort nicht so verbreitet
C++
C++ ist eine Weiterentwicklung von C, die C um die sog. Objektorientierte Programmierung erweitert. So werden z.B. auch grafische Oberflächen wie Programmfenster möglich (mit entsprechenden APIs... ist aber mit entsprechenden APIs auch in C möglich afaik).
C++ bietet dabei alle Vorteile der objektorientierung (die ich hier jetzt nicht auflisten mag) und ist moderner und evtl. weniger Fehleranfällig als C.
C++ ist auf der Windowsplattform verbreitet und in Mac OS X fristet es eher eine untergeordnete Rolle.
Vorteile im Überblick
+ schnell (da maschinennah)
+ flexibel (Spiele, Betriebssysteme, Anwendungen...)
Nachteile im Überblick
-quellcode plattformunabhängig, aber durch die Frameworks, APIs und Engines wird er eben doch plattformabhängig
- komplex
- nicht geeignet für Anfänger!
Verbreitung auf folgenden Plattformen
- Windows
- theoretisch auch Mac und Linux möglich, aber dort nicht so verbreitet wie auf Windows. Am ehsten vielleicht noch auf Linux
C#
Ein anderer nachfolger von C, den Microsoft entwickelt hat. Der Gedanke dahinter war .NET, ein Framwork, dass programmiersprachen-unabhängig ist. Du kannst .NET mit C++, Java, Visual Basic und anderen Sprachen benutzen. C# ist wie C++ objektorientiert. .NET existiert nur auf Windows und ist somit nur auf Windows interessant!
Vorteile im Überblick
+ schnell (da maschinennah)
+ flexibel (Spiele, Betriebssysteme, Anwendungen...)
Nachteile im Überblick
- quellcode afaik nicht plattformunabhängig
- komplex
- existiert nur auf Windows Basis
- nicht geeignet für Anfänger!
Verbreitung auf folgenden Plattformen
- Windows
Objectiv C
Ein weiterer Nachfolger von C. Ebenso wie C++ und C# ist ObjC objektorientiert. ObjC ist die Sprache, die auf Mac OS X am meisten zur Verwendung kommt. Zusammen mit dem Framework Cocoa von Apple bildet es die Grundlager der meisten OS X Programme.
Vorteile im Überblick
+ schnell (da maschinennah)
+ flexibel (Spiele, Betriebssysteme, Anwendungen...)
Nachteile im Überblick
- komplex
- nicht geeignet für Anfänger!
Verbreitung auf folgenden Plattformen
- Mac OS X
- auf GNUStep möglich, aber nicht sinnvoll
Java
Java wurde von Sun entwickelt, um Programme plattformunabhängig entwickeln zu können. Darin liegt also der größte Vorteil von Java: Javaprogramme laufen auf Windows, Mac, Linux, Solaris usw., ohne dass sie überall neu erzeugt werden müssen. Durchgesetzt hat sich Java heutzutage allerdings mehr im Internet und auf Handys. Dort gibt es etliche Spiele, die in Java geschrieben sind. Man beachte allerdings, dass die plattformunabhängigkeit auch Nachteile mit sich bringt: Java ist quasi der kleinste gemeinsame Nenner, wenn es um Betriebssystemspezifische Dinge wie grafische Oberflächen geht. Das bedeutet, dass Javaanwendungen den Ruf haben, nie das exakte Look&Feel des Betriebssystems wiederzugeben (Beispiel: Menüleiste oben am Bildschirmrand bei Mac OS X Programmen!) - es gibt aber angeblich Wege, um auch solche Dinge in den GRiff zu bekommen.
Vorteile im Überblick
+ plattformunabhängig
Nachteile im Überblick
- immernoch recht komplex
- nicht so gut geeignet für Anfänger
Verbreitung auf folgenden Plattformen
- alle
BASIC
Eine Sprache, die dazu erfunden wurde, um einfach erlernbar zu sein. Gut geeignet für Anfänger. Es gibt mittlerweile eine unüberschaubare Zahl von Basic-Dialekten, für alle Anwendungen ein Dialekt, könnte man sagen. Von Windows-Anwendungen (Visual Basic) bis Mac Programme (RealBasic) , von Gameboy-Advanced Spielen (Dragonflybasic) über 2D Spiele (Blitzbasic) bis 3D-Spiele (Blitzbasic 3D) und etliche mehr. Alle gemein haben die Basic Dialekte die Syntax (schreibweise des Quellcodes), die relativ leichte erlernbarkeit und die relative langsamkeit der erstellten anwendungen.
Vorteile im Überblick
+ relativ leicht zu lernen
Nachteile im Überblick
- langsamer als die Familie der C-Sprachen
- Unübersichtlich viele Dialekte
- die Programme, die man benötigt um ein Basic Programm zu schreiben, kosten fast alle Geld
Verbreitung auf folgenden Plattformen
- je nach dialekt gibt es Basic auf allen Plattformen
Python
Python ist eine vielseitige und mächtige Scriptsprache. Nach allem, was ich gehört habe, würde ich persönlich sie als "C der Scriptsprachen" bezeichnen, auch wenn das wohl etwas übertrieben ist. Python ist auch für Anfänger gut erlernbar und trotzdem so flexibel, dass man mit den Modulen (enspricht den Plugins eines Programms) wirklich viel machen kann, von grafischen Oberflächen (also normalen Windows/Mac Anwendungen) bis Webanwendugnen, von 2D SPielen bis 3D Spiele usw. Python ist langsamer als die Familie der C Sprachen. Es ist auf allen Plattformen erhältlich, also plattformunabhängig. Auf Mac und anderen Unix-Varianten (inkl. Linux) ist es vorinstalliert. Auf Windows muss man es extra installieren.
Vorteile im Überblick
+ relativ leicht zu lernen
+ vielseitig und mächtig
+ plattformunabhängig
Nachteile im Überblick
- langsamer als die Familie der C-Sprachen
Verbreitung auf folgenden Plattformen
- überall verfügbar, auf Linux, Unix und Mac sogar vorinstalliert
Applescript
Appelscript wurde entwickelt, um Programm fernzusteuern. Damit kannst du alles machen, was du mit den auf dem Mac installierten Programmen machen kannst, nur eben automatisch, ohne dass du etwas dafür tun musst (außer das script schreiben und ausführen)
Vorteile im Überblick
+ sehr leicht zu lernen
Nachteile im Überblick
- nur auf Mac verfügbar
- abhängig von den Programmen, die sonst so installiert sind (das war aber auch das Ziel von Applescript! deshlab etwas unfair, dass ich es als nachteil aufliste)
Verbreitung auf folgenden Plattformen
- Mac OS X
PHP
verbreitete Scriptsprache für Serverseitige Internetseiten. Php kann angeblich auch über module dazu gebracht werden, Grafische Oberflächen zu erzeugen (als fenster)
Vorteile im Überblick
+ leicht zu lernen
+ vielseitig
Nachteile im Überblick
- siehe Post weiter unten von tcp
Verbreitung auf folgenden Plattformen
- internet, linux
- auf mac und windows verfügbar (auf mac auch vorinstalliert)
Ruby
Infos zu Ruby gibts weiter unten von tcp.
ja, es gibt noch massig andere, aber ich hab keinen bock mehr zu schreiben... vielleicht kann man das ja nachvollziehen
ich empfehle dir python oder basic, denn in den C-Familien und java wirst du lange brauchen, um erste erfolgserlebnisse zu bekommen (sofern du auf grafische programmoberflächen nicht verzichten kannst). php ist eher fürs internet, applescript total uninteressant, wenn du eigene programme entwickeln willst .... perl wird angeblich schnell unübersichtlich, wenn es größere projekte sind... python find ich persönlich genial. basic mag ich nicht so (ich konnte mich nie mit dem syntax anfreunden), aber es ist sicher gut geeignet, wenn du schnell nette ergebnisse erzielen willst. dabei lernst du auch die grundlagen der programmierung. du hast es allerdings bei basic und python nicht so einfach, auf die C-Familie umzusteigen, jedenfalls ist es eine umgewöhnung, weil die syntax anders ist... [EDIT] wenn du dich für Basic entscheidest, ist für Mac OS X Anwendungen RealBasic die richtige Wahl [/EDIT]
so, sorry, vor allem, weil ein paar fachausdrücke unerklärt bleiben (ich seh schon die fragezeichen: was ist objektorientiert? was heißt nochmal syntax?), aber ich hab einfach keine lust, noch mehr zu schreiben.. ich hoffe, ich konnte dir trotzdem helfen.
gruß, micha
PS: doch noch eine kleinigkeit: ich habe zwar probiert, objektiv zu schreiben, aber dinge wie "leicht erlernbar" und "schwer erlernbar" sind immer subjektiv. außerdem garantiere ich nicht für die richtigkeit aller genannten fakten, denn ich bin selbst kein programmierer, sondern nur interessierter, der allerdings ehrlich gesagt nicht ganz so viel ahnung hat... danke fürs verständnis