Codebeispiele zum lesen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
zorn
Beiträge: 697
Registriert: 19.08.2003 00:42:10
Wohnort: Berlin
Kontaktdaten:

Codebeispiele zum lesen

Beitrag von zorn » 31.08.2003 23:06:44

Hallo,

hab' da mal eine seltsame Frage:

Ich hab' mir jetzt die Grundlagen von ein paar Sprachen eingehämmert, einige Bücher gelesen (wahrscheinlich die falschen), und komme irgendwie nicht richtig weiter...
Ihr kennt die ganzen Anfängerbücher. Man hat den Eindruck dass im Endeffekt
jede Sprache nur ein leichter Dialekt ist...
Ich denke das diese alte Hackerweisheit mit dem "viel Code lesen" um zu lernen nicht
dumm ist (ist die einzige Möglichkeit die ich mir vorstellen kann momentan um weiter zu kommen - habe leider niemanden dem ich über die Schulter schauen kann.)

Meine Frage:

Hat jemand Tips welche Sourcen ich mir ansehen sollte, vor allem - wo anfangen. Ich hab leider nicht den Überblick welche vieleicht leichter zu lesen sind. Mit Kernelcode werd' ich nicht anfangen, soviel ist sicher...
Interessant wäre C, C++, .sh, Perl, Python, Java

Noch ne Frage an erfahrene Coder:
Legt man sich irgendwann definitiv fest, oder schaut man sich weiter um? Hat man also
so eine Art "Muttersprache?".

Nett wär ein Tip anhand dessen ich mir die Arbeit mit Bibliotheken klar wird. (Wo gibts eigentlich Infos zu den verschiedenen Bibliotheken?)

Ich weiss ich weiss, ich mach mich lächerlich... :oops:

Thx a lot!

zorn
--
kallisti!

trozmo
Beiträge: 288
Registriert: 05.01.2003 20:01:03
Kontaktdaten:

Beitrag von trozmo » 31.08.2003 23:13:51

soweit ich weiß, gibts infos zu den bibliotheken in der compilerbeschreibung.

Olaf Dietsche
Beiträge: 520
Registriert: 12.06.2003 23:18:50
Wohnort: Siegburg

Beitrag von Olaf Dietsche » 01.09.2003 00:19:57

Ich habe das meiste durch selber machen und experimentieren gelernt. Es kann helfen fremden Code zu lesen, muß aber nicht. Vor allem dann nicht, wenn es schlechter Code ist.

Ich weiß nicht, ob man sich irgendwann auf eine Sprache festlegt. Manche Sprachen liegen mir besser als andere und somit programmiere ich in diesen Sprachen lieber. Trotzdem schaue ich in die eine oder andere "neue" Sprache rein, wenn ich in Laune bin, aber nicht in alle.
Ich weiss ich weiss, ich mach mich lächerlich...
Man kann nur lernen, wenn man - sich selbst oder anderen - Fragen stellt. :-)

Benutzeravatar
riankrimsteel
Beiträge: 131
Registriert: 23.03.2003 19:06:06
Wohnort: Göttingen
Kontaktdaten:

Beitrag von riankrimsteel » 01.09.2003 00:23:15

Hi,

ist zwar kein Profi-Code aber während des Studiums kommt doch so einiges an Scripten und kleinen Programmen zusammen. Anzubieten hätte ich ein paar C-Sourcen unter http://user.informatik.uni-goettingen.de/~hinke/. Die ersten drei Aufgaben sind noch eher miserabel danach wurde es dann merklich besser.
Bei Bedarf würde ich mal den Rest zusammen suchen. Z.B meine ersten Schritte in PHP, Bash und Perl oder Übungszettel aus den ersten Semester in Eiffel und noch einige weitere C-Sourcen. Mit Bibliotheken ist da allerdings nicht viel, muss aber auch nicht wie ich finde.
Ich glaube die richtigen Coder hier schauen sich auch andere Sprachen an, für jede Aufgabe eignet sich eine Sprache halt mehr oder weniger.
Ich käme wohl eher nicht auf die Idee irgendwelche String-Parsing Sachen in ANSI-C zu schreiben, wenn Perl auch das gewünschte Ergebnis liefert...

Gruss und gute Nacht
Dennis
For every problem, there is a solution that's simple, easy, and wrong.

tylerD
Beiträge: 4068
Registriert: 10.07.2002 17:34:13
Wohnort: Halle/Saale
Kontaktdaten:

Beitrag von tylerD » 01.09.2003 08:35:23

Ich empfehle dir einfach irgendetwas was du brauchst oder nützlich findest zu programmieren. Nur von durchlesen lernt mann coden eigentlich nicht. Kann mir nicht vorstellen das man beim durchlesen viel versteht. Dazu muß man das Problem selber haben und sich dann ne ganze Weile einen bestimmten Code reinarbeiten, um ihn wirklich zu verstehen. Deswegen sind Refactoringarbeiten oder übernommene Projekte sehr grausam, weil es ewig dauert sich dort vernüftig reinzuarbeiten.
Wenn du doch ein bestimmtes Problem selber hast, kann es sehr nützlich sein sich eine Stelle von einem Programm zu nehmen, welches das gut macht mal genau anzuschauen.
Mit der Muttersprache, naja wie ein Vorredener schon gesagt hat, manche Sprachen liegen einem einfach und man macht dann am liebsten, wenn möglich, dort. Jedoch sollte man immer das nehmen was am besten zu der Aufgabe passt.

cu

Benutzeravatar
jogix
Beiträge: 776
Registriert: 05.10.2002 20:08:16
Wohnort: Lampertheim
Kontaktdaten:

Re: Codebeispiele zum lesen

Beitrag von jogix » 01.09.2003 10:53:33

zorn hat geschrieben: Ich hab' mir jetzt die Grundlagen von ein paar Sprachen eingehämmert, einige Bücher gelesen (wahrscheinlich die falschen), und komme irgendwie nicht richtig weiter...
Ihr kennt die ganzen Anfängerbücher. Man hat den Eindruck dass im Endeffekt
jede Sprache nur ein leichter Dialekt ist...
Hi,

ich denke, wenn du anfängst, das Programmieren zu erlernen, solltest Du Dich erstmal auf eine Sprache festlegen, diese Lernen und damit Erfahrungen sammeln. Wenn Du mit dieser Sprache sinnvoll arbeiten kannst -> sprich eine Applikation oder ein Tool einigermaßen "gut" erstellen kannst, dann kannst Du Dir überlegen, ob und welche andere Sprache Du Dir reinziehst. Aber wenn Du gleich mit 5 verschiedenen Sprachen anfängst, wird nix bei rauskommen. Immer eins nach dem anderen ;)

Sicherlich sind viele Sprachen ähnlich. Wenn man sich z.B. c, C++ und Java anschaut, so fällt auf -- und steht auch in diversen Gegenüberstellungen -- daß sie alle eine C-ähnliche Syntax besitzen, jedoch sind die Konzepte, die dahinterstecken mitunter recht unterschiedlich (hier: imperativ vs. objektorientiert,...)
Also, zum einen hast Du eine ähnliche Syntax, zum anderen kommt aber auch eine gewisse Logik hinzu, sprich Algorithmen. Wenn Du z.B. eine Reihe proggst, dann wirst Du das in allen Sprachen ähnlich machen, es sei denn, Du hast in der Sprache expliziete Hilfsmittel, die so etwas vereinfachen. Das sind eben "Standard-Algorithmen", die Du immer wieder schreibst in allen möglichen Sprachen.

Ich würde mich an Deiner Stelle jetzt erstmal auf eine Sprache festlegen, ohne Flamewar zu erzeugen würde ich jetzt spontan C, C++ empfehlen, oder zur Not Python (soll ja ein besseres Java sein ;) ), wobei C++ für einen absoluten Neuling wahrscheinlich viel zu komplex ist, was die unterstützten Sprachmittel angeht. Aber ein wirklich gutes Buch und das läuft schon.
Die Auswahl der Sprache ist z.T. auch davon abhängig, in welchem Bereich Du eigene Programme erstellen willst. Mal so ein Anhaltspunkt:
Systemprogrammierung: C
Plattformunabhängigkeit: Java
sehr große Projekte: C++
.....
cheers,
Jochen
___________________________________________________
Testing can prove the presence of bugs, but not their absence. -- Dijkstra

Benutzeravatar
Dookie
Beiträge: 1104
Registriert: 17.02.2002 20:38:19
Wohnort: Salzburg
Kontaktdaten:

Beitrag von Dookie » 01.09.2003 15:58:42

Hi,

ich kann Dir http://aspn.activestate.com/ASPN/ empfehlen, besonders das Python-Cookbook ist da hervorzuheben, da Python ohnehin sehr gut zu lesen ist und die Listings recht gut strukturiert sind.
Auch sonst würde ich Dir Python empfehlen, hat auch den Vorteil daß man einfache Sachen direkt im Interpreter ausprobieren kann. Und es gib auch einige deutsche Webseiten die sich mit Python beschäftigen.

Gruß

Dookie

Benutzeravatar
jogix
Beiträge: 776
Registriert: 05.10.2002 20:08:16
Wohnort: Lampertheim
Kontaktdaten:

Beitrag von jogix » 01.09.2003 19:36:14

Hey, sag mal, ich habe selbst noch nix mit Python gemacht, aber gehört, daß der Programmablauf von der selbsterstellten Einrückung abhängig sei. Stimmt das? Ich muß sagen, daß ich so nicht programmieren wollte...
cheers,
Jochen
___________________________________________________
Testing can prove the presence of bugs, but not their absence. -- Dijkstra

Benutzeravatar
Bert
Beiträge: 3751
Registriert: 16.07.2002 14:06:52
Wohnort: Dresden
Kontaktdaten:

Beitrag von Bert » 01.09.2003 19:46:29

Das ist die typische Reaktion auf Python. Aber ich finde es eigentlich gar nicht so schlimm, wenn man sich erstmal dran gewöhnt hat. Allerdings hab ich noch nicht so viel mit Python gemacht. Meine Meinung zu Perl steht ja weiter unten ;-)
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de

Benutzeravatar
Dookie
Beiträge: 1104
Registriert: 17.02.2002 20:38:19
Wohnort: Salzburg
Kontaktdaten:

Beitrag von Dookie » 01.09.2003 20:18:45

Hi jogix,

bei Python werden Ausführungsblöcke mittels Einrückung gebildet, brauchena lso kein "begin...end" oder "{...}"
Beispiel:

Code: Alles auswählen

if 5 < x <= 10:
    # x ist grösser als 5 und kleinergleich 10
    print "x ist grösser als 5 und kleiner als 10, es hat den Wert %d" % (x)
#was hier kommt gehört nicht mehr zum if und wird immer ausgeführt,
Also ich mag Python 8)


Gruß

Dookie

Benutzeravatar
jogix
Beiträge: 776
Registriert: 05.10.2002 20:08:16
Wohnort: Lampertheim
Kontaktdaten:

Beitrag von jogix » 02.09.2003 01:11:16

Hm, würde bei mir doch einige Probleme aufgrund meiner Debugginggewohnheiten erzeugen...
Ich schreibe nämlich meist Debugging Code explizit in Spalte eins, um später genau sehen zu können, was Debugging Code ist und was nicht - macht bei einem größeren Projekt die "Release" einfacher...
cheers,
Jochen
___________________________________________________
Testing can prove the presence of bugs, but not their absence. -- Dijkstra

Benutzeravatar
zorn
Beiträge: 697
Registriert: 19.08.2003 00:42:10
Wohnort: Berlin
Kontaktdaten:

Beitrag von zorn » 02.09.2003 19:17:00

Danke erst mal für eure Meinungen...

Ich geb mir jetzt Perl bis ichs im schlaf kann. Möchte hauptsächlich Admin und Networking Geschichten machen.

Einwände?

Wie stehts hier mit Python? Und kann mir jemand was zu Bibliotheken und dem Umgang mit denen sagen? Wo kann ich was darüber lernen. Ich will ja nicht immer wieder das Rad neu erfinden...

Thx
--
kallisti!

Benutzeravatar
Dookie
Beiträge: 1104
Registriert: 17.02.2002 20:38:19
Wohnort: Salzburg
Kontaktdaten:

Beitrag von Dookie » 02.09.2003 19:47:10

also perl, ich weiss nicht, wenn ich mir den Code vom Perlcamel anschaue http://www.thinkgeek.com/tshirts/coder/ ... urce.shtml
weiss ich wieder warum ich damals, für webprojekte, schnell von perl auf php umgeschwenkt bin :lol:

Zu Python, gibts die Dokumentation unter http://www.python.org/ Dort sind auch die Module beschrieben, die schon dabei sind, zu spezielleren sachen (gtk, tkinter qt) findet man bei Google auch einiges. Ansonst gibts noch das Tool pydoc, das mit Python mitgeliefert wird und dann natürlich noch die Module im Pythoncode, aus denen man auch viel lernen kann.

Noch ein paar Links zu Python
http://www.python.org/doc/current/lib/lib.html Librarydocumentation
http://www.way2python.de/ Python für Ein- und Umsteiger
http://www.kubieziel.de/moin.cgi/DeutschePythonFAQ Deutsche Python-FAQ
http://www.python-forum.de/ Deutsches Pythonforum


Gruß

Dookie

vkroll
Beiträge: 5
Registriert: 19.10.2005 17:21:58

Beitrag von vkroll » 19.10.2005 18:15:27

zorn hat geschrieben:Danke erst mal für eure Meinungen...

Ich geb mir jetzt Perl bis ichs im schlaf kann. Möchte hauptsächlich Admin und Networking Geschichten machen.

Einwände?
Das wirst Du nicht erreichen :-))

Ich programmiere jetzt viele Jahre Perl, aber ich lerne immer noch täglich was dazu.

Aber Perl ist eine gute Sprache, sie hat den Nachteil, daß man damit sehr hässlich
programmieren kann (aber nicht muß) und leider sehr viel Code zu sehen ist, der
grauenhaft ist. Wenn man sich aber den Code der echten Perl-Gurus ansieht (Damien
Conway, M.J. Dominus) sieht man die Schönheit der Sprache und merkt, daß Perl
durchaus mit den anderen Sprachen von der Lesbarkeit mithalten kann.

V

Antworten