Seite 1 von 1

Einsteigersprache?

Verfasst: Dienstag 24. August 2004, 19:11
von alex99
Mir wurde Python als Einsteigersprache ans Herz gelegt da es übersichtlich ist und schnell verständlich!
Nun die Frage an euch welche programmiersprache würdet ihr mir empfehlen ?
Bei Python hab ich Angst das ich das mit den Leerzeichen nicht versteh!

alex

Verfasst: Dienstag 24. August 2004, 19:56
von mawe
Hi!

Python ist eine hervorragende Einsteigersprache.
Das mit den Leerzeichen (besser gesagt der Einrückung) ist glaube ich gerade für Einsteiger hilfreich, weil der Code übersichtlicher wird. Ein Problem, naja sagen wir lästig, ist das eher für Leute die von anderen Programmiersprachen kommen (wie für mich :?). Ist am Anfang einfach ungewohnt, man gewöhnt sich allerdings sehr schnell daran :wink:.

Also nochmal: Python ist eine hervorragende Einsteigersprache :wink:

Viel Spaß beim Programmieren.

Gruß, mawe

PS: Wenn Du Fragen hast, weißt Du ja jetzt wo Du sie stellen kannst :wink:

Verfasst: Dienstag 24. August 2004, 19:59
von Dookie
Hi alex,

also wenn du in einem Pythonforum nach einer Empfehlung für eine Sprache fragst, ist wohl klar, was du als Antwort bekommst ;)

Ich hab Erfahrung mit einigen Sprachen und würde dir trotzdem oder gerade deswegen Python empfehlen.

Mit den Leerzeichen meinst Du sicher daß Einrückungen bei Python zur syntax gehören, das is aber gar nciht schwer zu verstehen, wenn man das Prinzip von Funktionsblöcken verstanden hat, die in vielen Sprachen vorkommen und dann durch begin...end oder {...} eingeschlossen werden. Bei Python ist das nicht nötig sonder die Blöcke werden mit Hilfe von Einrückungen definiert, was nebenbei einen recht gut lesbaren Code ergibt.

Hier mal ein paar Beispiel:

C:

Code: Alles auswählen

if (a < b)
{
   printf("a ist kleiner als b");
}
/* hier gehs weiter */
Pascal:

Code: Alles auswählen

if (a < b)
begin
    writeln("a ist kleiner als b");
end
{hier gehts weiter}
Python:

Code: Alles auswählen

if a < b:
    print "a ist kleiner als b"
#hier gehts weiter
Die letzte Zeile ist jeweils ein Kommentar.

Einrückungen werden auch in anderen Programmiersprachen verwendet, gehören da aber nicht zur Sprachsyntax, sondern werden verwendet um den Code besser lesbar zu machen. Das C-Beispiel könne auch so geschrieben werden:

Code: Alles auswählen

if (a < b) { printf("a ist kleiner als b"); }
Ganz schlimm ists in Perl, da werden unter bestimmten Umständen Whitespaces (Leerzeichen, Tabulatoren, Zeilenumbrüche) überall erlaubt. Beispiel: http://www.sol.at/fritz/camel.txt
Das ist ein Funktionierendes Programm, wenn Du Linux hast, kannst es mal auf der Console ausführen lassen.

Mit einem guten Editor, brauchst Du dich aber nicht um die Einrückungen bei Python zu kümmern, das macht dann der Editor automatisch.


Gruß

Dookie

Verfasst: Dienstag 24. August 2004, 20:11
von mawe
Hi Dookie!
Dookie hat geschrieben: also wenn du in einem Pythonforum nach einer Empfehlung für eine Sprache fragst, ist wohl klar, was du als Antwort bekommst
Naja, hier sind ja nicht nur Leute die Python als ihre Lieblingssprache sehen (meine ist immer nocht Perl :oops:, aber nicht weil ich glaube daß sie besser als die anderen ist, sondern weil's meine Muttersprache ist :wink:).
In allgemeineren Foren bekommt man auf diese Frage Antworten wie Pascal, C, Java, ... :shock:
Dookie hat geschrieben: Beispiel: http://www.sol.at/fritz/camel.txt
Dafür liebe ich Perl. Warum kann man sowas nicht in Python schreiben :? (ich weiß, ich bin verrückt :D)

Gruß, mawe

Verfasst: Dienstag 24. August 2004, 20:19
von Dookie
Hi mawe,

so gesehen ist Basic am C64 meine Muttersprache, aber ich kann heutzutage keinem Empfehlen sich einen alten C64 zu kaufen und ein paar Wochen mit Basic zu verbringen um zu erkennen das er da schnell an die Grenzen stöst und dann mit 6502-Assembler anfangen muß ;)
6502-Assembler:

Code: Alles auswählen

lda #65
jsr $ffd2

Gruß

Dookie

Verfasst: Dienstag 24. August 2004, 20:27
von mawe

Code: Alles auswählen

lda #65
jsr $ffd2
Sieht doch cool aus :D
Muttersprache ist vielleicht der falsche Ausdruck gewesen. Perl war einfach die erste Sprache die ich gut konnte und mit der das Programmieren wirklich Spaß gemacht hat (unter anderem wegen Camel-Code und dergleichen :wink:).

Meine tatsächliche Muttersprache ist Fortran 77, Spaßfaktor liegt allerdings unter Messgrenze :?


Gruß, mawe

Verfasst: Donnerstag 26. August 2004, 10:39
von DER Olf
@Dookie: so ists richtig...

Code: Alles auswählen

if(a < b) then
begin
  (* bla bla bla *)
end;
ich hab mal ne zeitlang Delphi gemacht...und das hat mich genervt :D

mfg Olf

Verfasst: Donnerstag 26. August 2004, 13:37
von Dookie
@ DER Olf:
stimmt, pascal ist bei mir auch schon ewiglange her ;)


Dookie

Verfasst: Freitag 27. August 2004, 05:56
von jens
Für mich ist eine wichtiger Punkt für Python, das man gerade mit Python so flexibel ist:
  • Windows / Linux
    Komandozeile / GUI
    Web / Lokal
Und vor allem, man bekommt für (fast) alle Probleme schon fertige Module, sofern Python das von sich aus noch nicht kann...

So flexibel ist keine andere Sprache... Oder?


Nebenbei Programmiere ich ein wenig in JavaScript: Da zum beispiel nervt mich total, das man jeden Befehl mit einem ; abschließen muß :x Das vergesse immer wieder...

Wobei ich bei

Code: Alles auswählen

for i in bla
auch immer wieder das : am ende vergesse... :lol:

Verfasst: Freitag 27. August 2004, 09:08
von mawe
Hi jens!
jens hat geschrieben: So flexibel ist keine andere Sprache... Oder?
Perl, Ruby, Lisp, ... eigentlich fast jede moderne Sprache (außer C und Fortran):wink:
Zum Thema Module: Da kann Python noch nicht mit Perl mithalten. Trotzdem würde ich Perl niemandem als Einstiegssprache empfehlen.
jens hat geschrieben: Da zum beispiel nervt mich total, das man jeden Befehl mit einem ; abschließen muß Das vergesse immer wieder...
Als ich mit Python begonnen habe, hat mich gestört, daß man kein ; schreiben muß/darf! Hab's immer geschrieben und mich dann über die Fehlermeldungen gefreut :? Mittlerweile freue ich mich über die Fehlermeldungen bei Perl, weil ich kein ; schreibe :wink:
jens hat geschrieben: Wobei ich bei

Code: Alles auswählen

for i in bla
auch immer wieder das : am ende vergesse...
An das hab ich mich schon gewöhnt. Jetzt freuen mich die Fehlermeldungen bei Ruby (da schreibt man nämlich kein :)

Klammern, Einrückung, Doppelpunkt, Semikolon, ...alles nur Gewöhnungssache :wink: Für Einsteiger ist aber sicherlich Python die angenehmste Wahl.

Gruß, mawe

Verfasst: Freitag 27. August 2004, 09:35
von joerg
Hallo mawe,
mawe hat geschrieben: Als ich mit Python begonnen habe, hat mich gestört, daß man kein ; schreiben muß/darf! Hab's immer geschrieben und mich dann über die Fehlermeldungen gefreut :?
Fast überall ist es doch erlaubt, weil es eben explizit zum Trennen von Anweisungen auf einer Zeile dienen kann, oder erinnere ich mich hier falsch?

Mir fallen nämlich manchmal einige überflüssige ";" in meinem Python-Code auf, wenn ich C-Code nach Python überführe, und die Dinger versehentlich drinlasse...

Jörg

PS: Statt Perl würde ich Anfängern noch lieber Brainfuck ( http://de.wikipedia.org/wiki/Brainfuck ) empfehlen ... ;-)

Verfasst: Freitag 27. August 2004, 09:43
von mawe
Hi!
joerg hat geschrieben: Fast überall ist es doch erlaubt, ...
Stimmt. Muß dann wohl an den {} gelegen haben :wink:
PS: Statt Perl würde ich Anfängern noch lieber Brainfuck ( http://de.wikipedia.org/wiki/Brainfuck ) empfehlen ...
Ist ja von der Lesbarkeit her ganz ähnlich :D

Gruß, mawe

Verfasst: Freitag 3. September 2004, 13:56
von rapidmax
Python ist sicher einfach und schnell zu erlernen. Wer damit anfängt, wird aber später Mühe mit anderen Sprachen haben. Ich persönlich bezeichne Python nicht als Anfänger-Sprache: Die Syntax ist zwar extrem einfach und konsequent, die Untypisiertheit verhindert Fehler. Gerade die Untypisiertheit und die Dynamik zur Laufzeit ermöglichen einen grossen Freiheitsgrad. Wer noch nie programmiert hat, wird hier schnell konzeptionelle Fehler machen, die entweder schon beim Wiederverwenden des Code zuschlägt, spätetstens aber, wenn in einer anderen Sprache versucht wird, im gleichen Stiel weiterzufahren.
Versteht mich nicht falsch: Ich rate nicht davon ab, mit Python anzufangen, aber ich warne davor, sich durch die einfache Syntax und die Dynamik blenden zu lassen: Ohne Erfahrung kann auch mit Python Spaghetti-Code programmiert werden, den niemand versteht und der sich nur mit Gewalt wieder weiterverwenden lässt!

Gruss, Andy

Apropos: Wer Brainfuck liebt, soll sich mal mit Whitespace befassen: http://www.fact-index.com/w/wh/whitespa ... uage_.html