welche Programmiersprache lernen? für den Anfang


Das wäre so als würde man dich in einer Fahrschule fragen welches Auto du in Zukunft fahren willst und dann bringen Sie dir bei, wie dieses Auto zusammengebaut wird. ;)

Wobei, wer wirklich mal die Grundzüge des Computers (wie er vor vielen Jahren mal aussah :D ) lernen will, dem sei Assembler einer alten CPU (8 Bit, nicht mehr) ans Herz gelegt. :D .

Gruß
Dirk
 
Welche Sprache man lernen sollte ist wohl auch ein wenig daran geknüpft, was man machen will. Nur mal so eben ein Programm schreiben um sich den Sinus eines Winkels anzuzeigen oder soll es schon eine Anwendung alá "Grapher" sein. Sehr schwierig und eine Pauschalantwort gibt es, denke ich, nicht. Wenn man nur für Apple (Mac OS X) schreiben will würde ich mir Objective-C und/oder Apple-Script näher anschauen. Wenn es für mehrere Plattformen sein soll ist sicherlich Java ein guter Rat aber auch einen Blick auf Realbasic sollte man sich gönnen.
 
Ich habe mit Turbo Pascal und BlueJ angefangen. Ist wirklich sehr einfach zu lernen.
 
Applescript
...
Basic / Turbopascal...
:Oldno: Nee nee nee

Ich würde auch Java empfehlen.
Ich auch

Ich habe mit Turbo Pascal und BlueJ angefangen. Ist wirklich sehr einfach zu lernen.
Womit ich angefangen habe möchte ich hier eigentlich gar nicht sagen. Auch wenn ich heute meinen Unterhalt mit Software verdiene würde ich dennoch niemandem C64 Basic und 6502 Assembler empfehlen.

Alex
 
C64 Basic ist auch etwas alt und Assembler...nur wenn man es wirklich benötigt. Java, Basic alá Visual Basic oder Realbasic, aber auch alle Varianten von C (von C bis Obj.-C) kann man empfehlen...es richtet sich halt, wie ich finde, ziemlich stark danach, was man "programmieren" will. Für das ein und andere Tool nebenbei zu schreiben gleich C zu lernen, könnte überzogen sein. Da könnte Realbasic (um mal auf Mac OS zu bleiben) und Java das Richtige sein, wenn's um "schnelle" und umfangreiche Sachen (zum Beispiel, um gleich mal zu übertreiben xD, numerische Feldberechnung) geht ist man mit einer C-Variante (und da wir hier bei Mac OS sind: Obj.-C) sicherlich besser beraten.
 
Java! wird auch an vielen Unis als einstieg gewählt.
 
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.
Mit -Wall und -Werror passiert das eher selten. Ansonsten kann dir das bei so ziemlich jeder Programmiersprache passieren, wenn deine Bezeichner ähnlich benannt sind.
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.
Das ist zu kurz gedacht. Bei klassenbasierten objekt-orientierten Programmiersprachen wird vererbt. Hierbei werden nicht Werte und Aktionen von anderen Objekten übernommen, sondern Eigenschaftsbeschreibungen und Aktionsbeschreibungen von Klassen. Das Ergebnis ist auch kein Objekt, sondern eine Klasse.

Bei prototypen-basierten objekt-orientierten Programmiersprachen übernehmen Objekte Eigenschaften (meinetwegen auch Werte) und Aktionen von anderen Objekten. Dies nennt man nicht vererben. Java ist auch nicht prototypen-basiert. SELF ist das etwa.
 
Zuletzt bearbeitet:
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.
Nun ja, Apple hat vor einiger Zeit Java als Trend verworfen. ;-)
 
Damit muss ich gerade arbeiten. FURCHTBAR!

Alex

Warum "furchtbar"? Wie gesagt, es kommt drauf an, was man machen will. Sicherlich gibt es reichlich Anwendungsfälle, da ist Realbasic nicht das gelbe vom Ei aber es gibt auch reichlich Anwendungen, die man sehr schnell mit Realbasic schreiben kann.
 
Es ist furchtbar, weil wir es in einer professionellen Umgebung einsetzen müssen.

* Fehlerhaft: Wir müssen immer noch R1 verwenden, weil danach unser Code nicht mehr kompiliert
* Hat immer noch Probleme mit SCM
* Tausend kleine Dinge an denen man merkt, dass diese Sprache für Hobbyprogrammierer gemacht wurde und nicht für Profis

Alex
 
Ist ja mein Reden, Alex. Für viele Anwendungen (z.B. von Hobbyprogrammierern oder für "mal eben"-Codern) brauchbar aber auch für vieles auch nicht geeignet. Bei dir ist das dann ein Fall, wo Realbasic definitiv nicht geeignet ist. Aber ich hab auf meiner Seite ein Beispiel, was damit mal so eben machen kann. Also für so kleine Tools der Marke "Mal eben" kann ich Realbasic empfehlen. Inzwischen muss ich aber auch gestehen, dass ich mehr Programmierung mache als je zuvor und an die Grenzen von Realbasic gestoßen bin. Das Programm "Diodenkennlinie" auf meiner Seite ist ein sehr gutes Beispiel dafür. Man mag es nicht unbedingt bei dem Programm merken aber man kann eine Vorstellung davon bekommen wie viele Berechnungen ich bei meinen nichtlinearen Problemen lösen muss (Lösungen mittels Newtons Iteration) und dafür ist Realbasic nicht geeignet.

Grüße Michael
 
Mit -Wall und -Werror passiert das eher selten.

Selbst -Wall -Werror helfen bei einem vergessenen oder zu viel gesetztem & auch nicht besonders.

int a = 2, b = 1;
a & b; // 0
a && b; // 1

C ist nur was für Leute die wissen was sie tun. Ich will eigentlich nur verhindern, daß andere die selben Kopfschmerzen erleiden müssen, die ich mit C hatte.

Ansonsten kann dir das bei so ziemlich jeder Programmiersprache passieren, wenn deine Bezeichner ähnlich benannt sind.
In dem Fall kann ich nur sagen: selber schuld.
Also zu den Grundlagen des Programmierens gehören nicht nur, daß man weiß, welche Operatoren für was dienen, sondern auch, daß man eindeutige und aussagekräftige Namen für Variablen, Funktionen, etc. verwendet. (Kann man übrigens auch auf den ersten paar Seiten des Objective C Handuch von Apple nachlesen)

Gruß Fabian
 
Also ich würde eine nicht zu einfache Sprache nehmen. Lieber eine etwas flachere Lernkurve, aber dafür lernen wies richtig geht. C finde ich eigentlich recht gut geeignet, weil man eben von unten anfängt und auch weiterführende Konzepte vermittelt bekommt, wie z.B. Speichermanagement, IPC usw. Bei vielen Sprachen bekommt man das geschenkt und lernt im Endeffekt nichts weil alles Out of the Box funktioniert. Das soll nicht heissen, dass das schlecht ist, es soll nur heissen, dass es unter Umständen den (Programmierer-)Charakter verdirbt :) Wenns eine objektorientierte Sprache sein soll, dann würde ich C++ oder meintewegen auch Objective-C (gerade wenns um Mac Programmierung geht) empfehlen.
Am Anfang wird man sicherlich vielerlei Probleme haben, aber wenn man sich da einmal durchgebissen hat, kann man keine bessere Grundlage für andere Sprachen haben.
 
Selbst -Wall -Werror helfen bei einem vergessenen oder zu viel gesetztem & auch nicht besonders.

int a = 2, b = 1;
a & b; // 0
a && b; // 1

C ist nur was für Leute die wissen was sie tun. Ich will eigentlich nur verhindern, daß andere die selben Kopfschmerzen erleiden müssen, die ich mit C hatte.
In dem Fall kann ich nur sagen: selber schuld.
Und? in anderen Programmiersprachen heißt das dann meinetwegen BAND und AND. Da haste dann ein vergessenes B. Das liegt doch einfach daran, dass die beiden Operationen verwechslungsgefährdet sind.


Also zu den Grundlagen des Programmierens gehören nicht nur, daß man weiß, welche Operatoren für was dienen, sondern auch, daß man eindeutige und aussagekräftige Namen für Variablen, Funktionen, etc. verwendet. (Kann man übrigens auch auf den ersten paar Seiten des Objective C Handuch von Apple nachlesen)
Und aussagekräftige Namen sind eine Frage der verwendeten Programmiersprache?
Ich glaube nicht. Das wirst du nämlich in jedem Handbuch zu jeder Programmiersprache nachlesen können.
 
Zuletzt bearbeitet:
Artikel "3. The explosion of the Ariane 5"

Ich sach' nur. Mit Pascal, Java und C# wäre das nicht passiert ;-)

Das meinst Du natürlich nicht ernst, sonst müsste ich Dich auslachen.

Alex (Betrachtung der Ariane 5 Explosion war Teil meiner Diplomarbeit)
 
Zurück
Oben Unten