welche Programmiersprache lernen? für den Anfang

F

fidax

Mitglied
Thread Starter
Dabei seit
22.07.2007
Beiträge
216
Reaktionspunkte
13
hallo, ich hab mir vorgenommen ein bisschen programmieren beizubringen, nun stellt sich mir die frage welche Programmiersprache es denn sein soll.
Was mir bislang empfohlen wurde, wäre Java, da es Plattformunabhänig liefe und doch recht einsteigerfreundlich sei. Bin aber auch offen für Anderes, kenn mich da einfach noch zuwenig aus.
Was ich damit erreichen möchte ist vorab sicher einmal den grundlegenden Umgang mit den ganzen Zeugs und wichtigsten Funktionen/Bibliotheken(whatever). Was ich später machen möchte ist so etwas ähnliches wie Grapher.app, was ganz verrückt wäre einfache Zeichnungen mit der Maus einzufügen, wie ein Reckteck etc., aber mal sehen wie sich das entwickelt. Hab da noch keine grosse Vorstellungen und eben auch mal sehen wie sich das entwickelt... alles experimentiell und nichts wildes.

Bislang habe ich nur ein wenige Erfahrungen mit einigen einfachen Sachen in Pascal, vor 10 Jahren mal Microsoft Visual Basic und ein wenig PHP-Script-Gedöns.

Dann suche ich dazu passende, einsteigerfreundliche Literatur, also wenn jemand Tipps hat. merci :)

Ahjo, hab mir schon ein wenig Eclipse angeschaut, gefällt mir soweit gut, kann aber noch nicht grad tolle Sachen damit machen. heh
 
Applescript:cool:

...was ich auch mal lernen will...
 
Was für ein Vorwissen wäre dafür gut/ideal :kopfkratz:?
 
Grundsätzlich? Basic / Turbopascal...

(wenn's um's Programmieren geht)
 
Meinte ich auch, danke :)

Würde auch "nur" Basic reichen...?
 
Ich würde auch Java empfehlen. Alle wichtigen Konzepte wie Objektorientierung, Generics, dynamische Bindung etc. sind enthalten. Und wenn du die verstanden hast, sind andere Sprachen kein großer Sprung mehr.

Bücher kann ich das empfehlen, plus den zweiten Band noch. Ich habe sie vorlesungsbegleitend gelesen. Sind gut geschrieben, beginnen bei null und am Ende kann man auch richtig was. (Aufgaben und Lösungen dazu sind auch drin und teilweise im Netz.)
 
Scheme: http://www-swiss.ai.mit.edu/projects/scheme/

Ist ne gute Sprache zum Einsteigen da man keinerlei Syntax kennen muss. Ist allerdings eine Lernsprache und wird eher selten in der Praxis verwendet. Wird in manchen Informatik Grundkursen verwendet...
 
Hallo,
ich denke, das kann man allgemein nicht beantworten.
Die schnellsten Ergebnisse hast Du, wenn Du auch eine grafische Oberfläche willst, mit Applescript, wobei ich Applescript nicht unbedingt als Programmiersprache bezeichnen will. Aber Du bewegst Dich ziemlich elegant im OSX.
Java ist zwar platformunabhängig, eine grafische Oberfläche ist allerdings nicht ganz einfach zu erstellen. Bei Eclipse brauchst Du da schon diverse Plugins.
Visual Basic ist glaube ich eine gute Wahl, da Du hier meiner Meinung nach die schnellsten Erfolgserlebnisse hast. Gut, das ist von Microsoft, aber eine ausgereifte Sprache. Wir setzen im professionellen Umfeld derzeit .NET 2.o mit VB ein. Mittlerweile hat das nicht mehr mit dem Basic zu tun, dass man noch von den guten alten C64-Zeiten kennt.

Du hast die Wahl. Viel Spass beim Experimentieren.
Reinhold
 
Scheme: http://www-swiss.ai.mit.edu/projects/scheme/

Ist ne gute Sprache zum Einsteigen da man keinerlei Syntax kennen muss. Ist allerdings eine Lernsprache und wird eher selten in der Praxis verwendet. Wird in manchen Informatik Grundkursen verwendet...

naja nicht in der Praxis ist untertrieben. cmake ist in scheme geschrieben.

Ich find die Idee mit scheme gut, da ich eh zu funktionalen Sprachen tendier, aber so allgemein für einen Anfänger.....
Es kommt darauf an, was damit gemacht werden soll. Ich bin ein immer dafür die Sprache entsprechend der Aufgabe zu wählen.

Wenns was mit Web zu tun haben soll Java, sonst vielleicht Python oder Ruby.

-W-
 
also Scheme...das habe ich im 1. Semester gehabt, nach 2 Wochen habe ich geflucht...wenn du damit wirklich anfangen willst, dann hol dir die Tasten "8" und "9" schon mal auf ersatz...du wirsts brauchen.

Aber eins muss ich Scheme ehrlich lassen, man lernt du grundlegenden Programmierstrukturen sehr gut, auch wenn sich solche Programme beschissen lesen, und noch viel beschissener programmieren lassen.


Danach habe ich Java gelernt, dass ist doch recht easy...GUI ist natürlich wieder so ne Sache, ist aber mit etwas Interesse auch gut erlernbar. Wenn man dann noch statt Eclipse den JBuilder (von mir aus auch in TurboEdition) nimmt, dann hat man alles an Board, und kann sich dazu noch seine GUI zusammenklicken, wie man es in vielen anderen Umgebungen auch machen kann.



Und AppleScript lerne ich gerade, aber das als Programmiersprache zu bezeichnen ist ja schon ziemlich weit ausm Fenster rausgehängt...ist ja ganz toll, sage ich ganz ehrlich, aber programmieren ist es nicht wirklich, Strukturen erlernen und dann in anderen Programmiersprachen einen leichteren Einstieg finden, daran glaube ich auch nicht, da AppleScript eben eine ganz andere Zielgruppe hat.


Im Moment lerne ich C, zwar von der Uni aus, aber es scheint wirklich so, dass man damit die grundlegendsten Strukturen auch gut erlernen kann, und da ja auch einige Programmiersprachen die heute sicher aktueller sind auch von C abgeleitet sind wäre das sicherlich auch kein schlechter Einstieg.



Aber eins ist wichtig, egal welche Programmiersprache du erlernst, üben üben üben...ohne Übung kommst du zu nix.
 
naja nicht in der Praxis ist untertrieben. cmake ist in scheme geschrieben.

Ich find die Idee mit scheme gut, da ich eh zu funktionalen Sprachen tendier, aber so allgemein für einen Anfänger.....
Es kommt darauf an, was damit gemacht werden soll. Ich bin ein immer dafür die Sprache entsprechend der Aufgabe zu wählen.

Wenns was mit Web zu tun haben soll Java, sonst vielleicht Python oder Ruby.

-W-

Also ich meinte nur das Scheme gut geeignet ist um das Programmieren zu lernen. Man muss kaum Syntax wissen um anzufangen. Bei Java sieht das z.B. schon anders aus: public static void main(String[] args), alleine das zu verstehen bedarf es schon einiger Zeit. Also wird man am Anfang Sachen hinnehmen müssen ohne sie zu verstehen.

Das MIT hat lange Zeit Scheme für ihren Einführungskurs Informatik benutzt, sind jetzt aber auf Python umgestiegen (http://catherinedevlin.blogspot.com/2007/11/python-at-mit.html).

Ich selbst habe Tutor für Erstsemesterkurse mit Scheme + Java gemacht, die waren vom Konzept her gut, leider etwas zuviel Stoff und hat viele Ersties überfordert.

Uwe
 
Dass Scheme gut zum Lernen geeignet ist, da haste meiner Meinung nach auf jeden Fall recht. Scheme wurde auch eine Zeit lang an verschiedenen Unis als erste Sprache gelehrt wie Du geschrieben hast, z.B. auch an der TU in München. Einmal wegen der Syntax, und dann noch weils eine funktionale Sprache ist, ich glaub die ersties haben meinen früheren Chef eher verflucht. Der ist sehr auf Rekursionen abgegangen.
Mittlerweile sieht man im ersten Semester eher Caml oder Ocaml, in Augsburg hat das ein Freund als Vetretungsprof. nehmen sollen, er durfte sich die Sprache leider nicht aussuchen ;) hat ihm danach aber recht gut gefallen.

-W-
 
hallo.
Hab mir eben ein wenig Xcode 3.0 angeschaut und der Interface Builder erinnert mich stark an VB, hab jetzt einige simple Verknüpfungen zu "Objekten" oder so hergestellt und da tut sich auch was. Dazu noch das passende Apple Tutorial zu Objective-C & Cocoa geholt. Es ist eigentlich so ziemlich das, was ich mir eigentlich vorstelle und wünsche, möchte halt vor allem ein Programmfenster einrichten wo man seine Sachen eintippeln kann und irgendwas zu sehen bekommt. Wie ist denn sowas letztendlich einfacher einzurichten, soll ich auf Java schwören oder vielleicht doch das eventuell exotischere Objective-C womit ich gleich in Xcode rumtüfteln kann? Oder wird das womöglich schnell mal zu aufwändig/schwer für einen Neuling?

Visual Basic wäre vermutlich auch einen Blick wert, kann man sich das für Windows kostenlos Herunterladen? Möcht mir das jetzt nicht extra kaufen gehen :p

was ich mittlerweilen in Erfahrung bringen konnte ist, dass beide Sprachen Objektorientert sind, was das nun für mich heisst ist noch ein kleines Rätsel. Kann mir das vielleicht noch jemand erklären worin jetzt da der Unterschied zu C ist?

nochwas, ist es bei Xcode 3.0 normal, dass der ne halbe Minute oder länger lädt wenn ein Projekt geöffnet wird?
 
Zuletzt bearbeitet:
Also von C oder von C abgeleiteten Sprachen (z. B. C++ oder Objective C) würde ich als Anfänger auf jeden Fall die Finger lassen. Ist ist was für Leute die wissen was sie tun. In C kommt es hin und wieder vor, daß sich ein Programm mit einem Tippfehler problemlos kompiliert. Das Programm aber läuft fehlerhaft. Als Programmierer steht man dann da und muss erst mal penibel sein Programmcode durchgehen, bis man den Fehler entdeckt hat. Das kostet Zeit.

Zu deiner Frage, was Objekte sind. Ein Objekt ist ein Konstrukt in dem man Werte ab speichern kann und Aktionen. Ein Wert kann alles Mögliche sein. Z. B. eine Zahl, oder Text. Darüber hinaus, und das ist der eigentliche Vorteil von Objekt orientierten Sprachen, kann man Objekte erstellen, die von einem anderen deren Werte und Aktionen übernehmen. Man spricht dann vom Erben.
Mal ein Beispiel (in Java):

// Basis, die alle Autos gemeinsam haben
class Auto {
int tankfüllung; // Der Inhalt der Tankes​
String kennzeichen;​

void tanken() {​
// Zapfhahn in den Einfüllstutzen bewegen​
tankfüllung = 100; // Den Tank füllen.​
}​
}

class Mercedes extends Auto {
int temperturDerSitzheizung; // Die Temperatur der Sitzheizung​

void tankdeckelAutomatischÖffnen() {​
// Befehle, die den Tankdeckel öffnen​
}​

void mercedesLikeTanken() {​
tankdeckelÖffnen(); // hier wird auf die Aktion zugegriffen, die nur in Mercedes vor kommt. Von Trabbi, oder von Auto geht das nicht.​
tanken(); // Und hier nun die "geerbete" Aktion. Da Mercedes von Auto erbt, sind alle Aktionen und Werte, die in Auto ab gespeichert sind, auch in Mercedes vorhanden.​
}​
}

class Trabbi extends Auto {
int anzahlDerTurnschuheImKofferaum; // Es ist ein Sportwaren ;-)​

void schraubenZieherBenutzen() {​
}​

void trabbiLikeTanken() {​
schraubenZieherBenutzen();​
tanken();​
}​
}

Hier hat man drei Klassen. Ein Klasse ist kein Objekt. Das darf man nicht vertauschen. Ein Klasse ist im Prinzip die Schablone für ein Objekt. Wenn man ein neues Objekt erstellt, muss man angeben, von welcher Klasse es abstammt.

Für einen absoluten Programmieranfänger dürfte mein Code so ziemlich nichts sagend sein. Zum Einstieg sollte man auch nicht gleich mit Objekt orientierter Programmierung beginnen. Ich denke, daß da eine Sprache wie Pascal am geeignetsten ist. Man lernt alle Grundlagen der Programmierung kennen und wird zu einer 'sauberen' Programmierung gezwungen. Basic ist da etwas nachlässiger. Dafür erhält man bei Basic schnell Ergebnisse, ohne viel vorher zu büffeln und zu verstehen.

Gruß Fabian
 
programmiersprache....

lern Ruby, is Objektorientiert und derzeitig sehr gefragt.:D
 
also ich würde dir auch eher zu java raten, da es sehr leicht zu erlenen ist und du fast keine oder sehr wenig probleme haben wirst danach php oder c++ zu lernen. was doch sehr mächtige sprachen sind. alles andere ruby, scheme und was hier noch alles genannt wurde würde ich nicht zuerst anfangen, da es meist trendsprachen sind. java, c++ oder php sind so stark verbreitet und gefestigt das diese eigentlich immer zum grundwissen gehören sollten. das gute an java ist das du gleich objektorientiertes programmieren lernst (es dort sogar pflicht ist und sehr konsequent dort durchgezogen wird) was du dann in anderen sprachen wie zb. PHP sehr gut verwenden kannst und dort sehr ordentlichen code erzeugst.

zum lernen von java empfehle ich eine lern dvd von helge maus "Jetzt lerne ich Java 6". der erklärt das richtig gut und erklärt jede funktion mit einer elendsgeduld so das man auch wirklich alles im kopf behält.

von java solltest du wie gesagt zu jeder anderen sprache leicht konvertieren können da sie alle ähnlich funktionierede bzw eine vereinfachte syntax besitzen.
 
Also rein didaktisch würde ich zum Anfang Python empfehlen. Um die Grundlagen zu verstehen, ist es imo wirklich unnötig, sich am Anfang über irgendwelche Datentypen zu viele Gedanken zu machen. Das lenkt nur ab.

Wenn es denn etwas „konservativeres“ sein soll, würde ich Java(und Netbeans als IDE) empfehlen.
 
alles andere ruby, scheme und was hier noch alles genannt wurde würde ich nicht zuerst anfangen, da es meist trendsprachen sind.

Widerspruch: Scheme ist keine Trendsprache...Scheme ist schon uralt und gut zum lernen und verinnerlichen von Programmierstrukturen geeignet!
Auch wenn ich es persönlich nicht sehr gemocht habe, hat es mir viel gebracht!
Man kann dabei sehr viel sehr leicht verstehen...Also eine Trendsprache ist das ganz sicher nicht...eher eine Lernsprache.
 
Zurück
Oben Unten