C programmieren...aber was?

K

kotzkroete

Doppel-As
Hi,
Ich les gerade das Buch "The C programming language" Und bin grad bei Kapitel 5...is ja schoen und gut, aber ich weiss nicht was ich ueberhaupt programmieren koennte zum lernen. Ohne praktische Uebungen kann man ja nicht wirklich lernen :/ Die Programmierbeispiele sind irgendwie alle etwas komisch :/
Ausserdem weiss ich fast nie, wie ich an ein Problem rangehen soll...Wie man das loesen kann.\
Also hat jemand vielleicht Vorschlaege, was ich programmieren koennte?
 
Hi,
Ich les gerade das Buch "The C programming language" Und bin grad bei Kapitel 5...is ja schoen und gut, aber ich weiss nicht was ich ueberhaupt programmieren koennte zum lernen. Ohne praktische Uebungen kann man ja nicht wirklich lernen :/ Die Programmierbeispiele sind irgendwie alle etwas komisch :/
Ausserdem weiss ich fast nie, wie ich an ein Problem rangehen soll...Wie man das loesen kann.\
Also hat jemand vielleicht Vorschlaege, was ich programmieren koennte?

Wie wärs mit einer CSV-Datei basierten Datenbank?
 
Oder mach doch das 3156934 tausendste selber geschriebene CMS....

Ne, im Ernst,

wenn du wirklich was sinnvolles lernen willst, dann sieh dich mal auf sourceforge.net nach Projekten um die die interessieren könnten, nimm Kontakt zu den Maintainern des Projekts auf und entwickel mit.
 
Ouh...gleich sowas grosses? Ich hab ja im Prinzip nicht viel Ahnung von c...ich lern ja grad noch. Ich dachte da sowas wie irgendein Unixprogramm, das ich nachprogrammieren koennte, oder so was aehnliches. Irgendwas, was nicht ganz so schwer ist. Wo findet man eigentlich den source code fuer unix programme? Vielleicht kann ich ja mal den quelltext von einem angucken und daraus ein bisschen lernen.
 
Wo findet man eigentlich den source code fuer unix programme? Vielleicht kann ich ja mal den quelltext von einem angucken und daraus ein bisschen lernen.

Du kannst auf den Projekt-Seiten auch immer die Quelltexte mit herunterladen, zumindest wenn es open source ist.
 
Ich schlage Kreativität vor :-)
Nimm dir ein mathematisches Problem vor wir beispielsweise das Pascal'sche Dreieck, die Fibonachi Folge oder schlicht Flächenberechnung von geometrischen Figuren und bau' dir ein paar Funktionen / Methoden / Routinen. Such dir praktische Probleme und versuche sie abstrahiert in Algorithmen zu verarbeiten und Aufgaben zu lösen - das ist ja schließlich die Hauptaufgabe des Programmierers. Nicht das Beherrschen der Sprache sondern vielmehr die algorithmische Umsetzung von abstrahierten komplexen Problemen.
 
Nimm dir ein mathematisches Problem vor wir beispielsweise das Pascal'sche Dreieck, die Fibonachi Folge oder schlicht Flächenberechnung von geometrischen Figuren und bau' dir ein paar Funktionen / Methoden / Routinen. Such dir praktische Probleme und versuche sie abstrahiert in Algorithmen zu verarbeiten und Aufgaben zu lösen - das ist ja schließlich die Hauptaufgabe des Programmierers. Nicht das Beherrschen der Sprache sondern vielmehr die algorithmische Umsetzung von abstrahierten komplexen Problemen.

Jo,

das ist der Beste Weg jemand dazu zu bringen sofort wieder mit Lernen aufzuhören.

Programmieranfänger wollen und sollten auch schnell konkrete, nützliche Resultate ihrer Arbeit sehen um eine gewisse Sicherheit beim Programmieren zu erlangen.

Abstrakte Algorithmen gehören da nicht dazu und es ist meiner Ansicht auch völlig falsch mit sowas anzufangen.

Genau das ist der Grund warum 50 % der Informatik-Studenten ihr Studium gleich wieder schmeissen.

Abstraktion und das Verständnis von Algorithmen sind sehr wichtig.

Aber am Anfang genau das Falsche.
 
Also ich finde irgendwelche Formeln oder aehnliches einfach langweilig. Und sinnlos finde ich sowas auch. Was bringt mir die Fibonacci Reihe? Ich finde, Programme muessen auch Prxisorientiert sein.
 
Berechnung von verlangten Werten in Verbindung mit Flächen, Längen, Volumi, Temperaturen, Zeiten, Strom etc.

z.B. ein Programm bei dem man zu Beginn auswählt das man das Gewicht von einem Objekt mit einer bestimmten Form (z.B. Zylinder) haben will und das aus dieser Erkenntnis heraus dann fragt wie die Länge ist, der Radius oder der Durchmesser (das könnte man dann auch über eine Abfrage klären) und aus welchem Stoff es ist (da könnte man z.B. über das Stoffzeichen die Eingabe machen und das mit der Periodentabelle abgleichen). Danach könnte es die allgemeine Formel dazu noch ausgeben.

Okay is vielleicht dochn bissl sinnlos, aber in unserem Schulunterricht haben wir irgendwie mehr mit solchen Formeln zu tun als mit dem Programmieren ansich. Da is sowas sehr nett und vorallem das Ausgeben der Formel.
Gibt doch mehr Formeln als man denkt im normalen Alltag.

Es könnte auch eine Konstantensammlung enthalten, z.B. das man Anfangs wählt "Konstantensammlung, Taste 1" und man dann eine Liste hat mit den Konstanten.
 
Naja...bei solchen Programmen lernt man glaub ich nicht viel. Man lernt Formeln. Man liest eine Zahl und evtl. ein String oder so und dann hat man eine Funktion, die das ausrechnet. Aber was lernt man da?
Ich wuerde z.B. gerne mal den sourcecode von irgendwelchen unix programmen ansehen...aber weiss nicht wo ich den finden...(@supersucker: Ich meinte sowas wie cat oder more oder ls...das hat sicher keine Projektseite, oder?)
 
Ich habe mich dann bald mit ncurses beschäftigt. Ich schreibe (versuche jedenfalls) ein ncurses tool kit zu machen. Das ist dann ncurses mit Klassen allerdings C++. Z. z mache ich gerade ein Textfeld. Dann Buttons, ... . Ich empfehle dir schau dir die Anleitung von Wikipedia zu ncurses an und mach irgentwelche Formulare. So habe ich viel gelernt.
 
ncurses wollt ich erstmal noch garnicht lernen. Erst spaeter, wenn ich sinnvolle Programme habe. Leider versteh ich das mit den pointer nicht wirklich :/
 
Da hatte ich anfangs auch schwierigkeiten. Ich finde im Buch "C++ von A bis Z" wird es sehr gut erklärt. Es gibt vom selben Autor ein Buch "C von A bis Z". Das kannst du dir beim Verlag runterladen. (www.galileo-computing.de)
 
Hm...ja. seitdem ich mir die coreutils angesehen habe, hat mich irgendwie der Mut verlassen XD
So komplexe und lange programme, um das aktuelle Verzeichnis anzusehen? Das sind ja mehr Zeilen code als ein UNIX aus den 70ern.
Aber ich das C A bis Z buch auch noch auf meiner Platte. Da koennte man mal reinschaueb...das stimmt.
 
Ich hatte letztes Semester im Studium Systemprogrammierung, die sich mit den Systemfunktionen von Linux beschäftigt hat. Also Shared Memory, Message Queues, Prozesse, Childprozesse und das ganze Zeug. Fand ich sehr interessant und hat auch echt Spaß gemacht damit rum zu spielen. Beispielsweise 2 Programme schreiben, die sich per Message Queue unterhalten können oder ein Programm mit mehreren Threads. Einfach ein bisschen zum rumspielen!
C-Kenntnisse brauchst halt schon, also Pointer sollten auf jeden Fall laufen! Die "Systemsachen" brauchen meistens komische Datentypen.

Ansonsten find ich Algorithmen eigentlich recht interessant. Programmier gerade in KI Lösungsalgorithmen für das 8-Puzzle und das macht echt fun, wenn du mal drin bist!


mfg hex
 
Also ich wuerd sagen ich les erstmal das Buch durch (jedenfalls alle Kapitel...ohne Appendixes). Wobei ich bei den Pointyer weniger und weniger durchsteige...ich zieh mir mal morgen c A bis Z zu Gemuete. Vielleicht kann man da was ueber die Pointer lernen. Ich wunder mich immernoch ueber den Sinn von selbigen...naja...
 
Ich habe im Studium 3 Semester C/C++ gemacht und muss sagen, lass dich nicht von den Pointer entmutigen. Die sind zwar am Anfang schwer zu verstehen aber wenn du es einmal kannst sind sie total genial.
Ich kann übrigens das Buch "Jetzt lerne ich C" empfehlen.
 
Jo,

das ist der Beste Weg jemand dazu zu bringen sofort wieder mit Lernen aufzuhören.

Programmieranfänger wollen und sollten auch schnell konkrete, nützliche Resultate ihrer Arbeit sehen um eine gewisse Sicherheit beim Programmieren zu erlangen.

Abstrakte Algorithmen gehören da nicht dazu und es ist meiner Ansicht auch völlig falsch mit sowas anzufangen.

Genau das ist der Grund warum 50 % der Informatik-Studenten ihr Studium gleich wieder schmeissen.

Abstraktion und das Verständnis von Algorithmen sind sehr wichtig.

Aber am Anfang genau das Falsche.

Ja... Flaechenberechnung ist auch superkomplex, kann sie zwar werden aber mit sowas muss er ja nicht anfangen, wie waer's mit ner Kreisflaeche.
Ich find sowas schon nuetzlich, gibt's natuerlich schon Programme fuer aber er will ja auch nur erstmal was nachbauen.

Ich glaub nicht das man Sicherheit beim Programmieren dadurch bekommt das man gleich mit irgendwelchen Unixspezifischen Sachen loslegt.
Einfache Rechenprogramme legen Grundlagen auf denen man aufbauen kann.

Bau dir halt nen "Taschenrechner" das faengt einfach an mit +/- wird aber ziemlich komplex desto mehr du lernst.
Da lernt man grundlegendes Variablenhandling, Strukturierung von Code, Dialoge (spaeter kannste da ja auch ne GUI fuer bauen), man kann ihn erweitern muss man aber nicht...
Ist halt ein Prog das nie richtig fertig wird weil du dir immer neue Funktionen einbauen kannst (wenn es dich nicht irgendwann zu tode langweilt...).
Gleich irgendwelche Coreutils nachzubauen ist meiner Meinung nach ziemlich Sinnlos und bestimmt auch frustig wenn man nicht mal weiss wo man den Code herbekommt.

Aber lernen tust du natuerlich ne Menge wenn du z.B. direkt im Kernel rumhackst...
z.B. wo dein Schmerzgrenze ist ;)
 

Ähnliche Themen

Queue für copy Script

Was könnte man Programmieren? :)

'C von A bis Z', und jetzt?

Scriptprogrammierung für Solaris & Linux

Vim GE-PACKT

Zurück
Oben