ubuntuusers.de

programmieren in c / c++

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

randy_bordello

Anmeldungsdatum:
25. Mai 2007

Beiträge: 154

hallo.
ich habe ein wenig erfahrungen in c / c++ und würde mich gerne tiefergehend damit beschäftigen.
besonders software entwicklung für linux interessiert mich.
meine frage ist nun ob mir jemand ein tutorial, eine website oder ein ebook empfehlen kann, das sich
speziell mit dem programmieren unter linux ausseinandersetzt.
da es mir nicht rein um den spass an der sache geht und ich nicht sonderlich viel bock habe sollte es
möglichst etwas sinnvolles sein und nicht für die katz.
wäre cool wenn mir jemand ein paar tipps zukommen lassen könnte.

MFG randy

dergrimm.

Anmeldungsdatum:
10. Dezember 2006

Beiträge: 438

Ich kenne an kostenlosem Material nur das:
http://www.galileocomputing.de/openbook/c_von_a_bis_z/

Ich würde dir noch empfehlen, Python zu lernen.
Der Syntax davon ist wirklich *sehr* einfach gehalten, und du bist genereller freier, weil du dich z.b. (nicht im Vergleich zu C!) nicht um Dinge wie Speicherverwaltung etc. kümmern must.
Außerdem finde ich persönlich, dass Python die Linuxprogrammiersprache schlechthin ist.

Aber mit C bist du ebenfalls sehr gut beraten, insb. wenn du am kernel schrauben möchtest.

Viel Spaß und gutes Gelingen!
der-grimm-2006

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

der-grimm-2006 hat geschrieben:

Außerdem finde ich persönlich, dass Python die Linuxprogrammiersprache schlechthin ist.

Angesichts der Unmengen von C, C++ und Perl-Programmen auf einem normalen Linux-System ist diese Ansicht zumindest merkwürdig.

dergrimm.

Anmeldungsdatum:
10. Dezember 2006

Beiträge: 438

@Lunar: Das ist bloß meine Persönliche Meinung. Die anderen finden C besser die anderen Python und der nächste wieder etwas ganz anderes...
Es wird Viel in C geschrieben, Streite ich auchnicht ab.
C ist schon gut, aber ich verwende favorisierend Python.

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

der-grimm-2006 hat geschrieben:

C ist schon gut, aber ich verwende favorisierend Python.

Natürlich, ich mag Python ja auch 😉

Trotzdem ist die Mehrheit der Programme in C geschrieben, deswegen ist die "Linuxsprache" höchstens C. Das man mit Python hervorragend unter Linux coden kann, macht die Sprache ja noch nicht gleich zur "Linuxsprache" 😉

ProLinux

Anmeldungsdatum:
16. November 2007

Beiträge: 25

Wohnort: Gries am Brenner

Ich würde dir noch empfehlen, Python zu lernen.
Der Syntax davon ist wirklich *sehr* einfach gehalten, und du bist genereller freier, weil du dich z.b. (nicht im Vergleich zu C!) nicht um Dinge wie Speicherverwaltung etc. kümmern must.

Das mag schon stimmen, dass der Syntax von Python einfach ist, und dass man sich um die Speicherverwaltung nicht kümmern muss. Aber gerade dadurch kann man mit C/C++ wieder ganz viel anfangen. Mit C/C++ programmieren anzufangen, mag vielleicht schwierig sein, aber ich empfehle es absolut.

Speziell für UNIX/Linux-Programmierung hätte ich da noch etwas: http://www.pronix.de/pronix-6.html

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

ProLinux hat geschrieben:

Ich würde dir noch empfehlen, Python zu lernen.
Der Syntax davon ist wirklich *sehr* einfach gehalten, und du bist genereller freier, weil du dich z.b. (nicht im Vergleich zu C!) nicht um Dinge wie Speicherverwaltung etc. kümmern must.

Das mag schon stimmen, dass der Syntax von Python einfach ist, und dass man sich um die Speicherverwaltung nicht kümmern muss. Aber gerade dadurch kann man mit C/C++ wieder ganz viel anfangen.

Was denn? Oder anders gefragt: In welchen Bereichen, in denen sich Anfänger so üblicherweise bewegen, ist manuelle Speicherverwaltung denn noch von Vorteil?

Selbst erfahrene C++ Programmierer verwenden Frameworks wie C++ oder Goodies wie boost:shared_ptr, um sich die Last der manuellen Speicherverwaltung etwas zu erleichtern.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17604

Wohnort: Berlin

Bleibt bei der Frage, Leute!

StephanH

Anmeldungsdatum:
3. April 2006

Beiträge: 16

Wenn du kein Bock darauf hast, wird es besonders mühsam für dich werden, gerade wenn du nicht einmal Geld für ein gutes Buch investieren willst.

BigChiller

Avatar von BigChiller

Anmeldungsdatum:
30. Juli 2007

Beiträge: 121

Da ich irgendwann einmal vor derselben Frage stand und ich auch als Außnahme auf deine Frage eingehen möchte (entschuldigung ihr anderen\^^), muss ich einmal etwas Grundsätzliches loswerden.

Im Internet findet man eine ganze Mänge interessante Seiten und man kann auch viel aus diesem Medium schöpfen. gerade zum "Herumschmökern" eignet sich das Internet wunderbar. Wenn du aber komplizierte Dinge suchst oder gar etwas länger andauerndes lernen möchtest, kann ich dir das Web keinesfalls empfehlen. Genau denselben Fehler habe ich am Anfang gemacht. Wenn du das Programmieren in irgendeiner x-beliebigen Sprache beherrschen möchtest, das gilt selbst für das liebe Python, kommst du an einem Buch nicht vorbei. Dieses bisschen Geld, das du dafür aufwenden musst ist gar nichts im Gegensatz dazu wie viel Stress du dir dadurch ersparst. Mit einem Buch kannst du alles strukturiert durchnehmen und du kannst dir am Ende des Buches sicher sein, zumindest wenn du auch nebenbei programmierst, dass du die Grundlagen der Sprache wirklich beherrschst.
Noch besser würde sich ein Kurs anbieten, da in dem Fall eine person vor dir steht, die vor sämtlichen Problemen selbst einmal stand und der dir alles genau erklären kann. Es ist unglaublich, wie viel man von anderen lernen kann 😉. Der Haken dabei ist nur, nicht jeder will das Geld ausgeben oder hat auch die Zeit dafür. Deshalb rate ich doch eher zu einem Buch.

Zum Programmieren unter Linux wäre eigentlich nicht so unedlich viel zu sagen. Wenn du gut "unter Linux programmieren" möchtest, eigenet sich eigentlich ein fundiertes Wissen über Linux im Allgemeinen sehr gut dafür. Das einzige, was Linux beim Programmieren von anderen Systemen unterscheidet, ist wohl diestarke Modularität, weshalb sich Linux dafür, meiner Ansicht nach zumindest, sehr gut eignet.
Wenn du ganz spezifisch Dinge für Linux programmieren möchtest, müsstest du lediglich bestimmte Bibliiotheken studieren, beispielsweise gtkmm zum Zeichnen von grafischen Oberflächen. Dazu brauchst du aber wiederum die Grundlagen einer Sprache, weshalb der Ansatz, man möchte einfach generell eine Sprache lernen, genügen dürfte.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17604

Wohnort: Berlin

Dem kann ich mich in etwa anschließen.

Die Grundlagen von C, C++, PHP, Java, Python, Ruby, ... haben alle nur insofern bei Linux Besonderheiten, als der Compiler anders heißt, die IDE anders ist, und man beim Öffnen von Dateien die Pfade anders trennt usw.
Mit allgemeinen Linuxgrundkenntnissen sollten die wenigen Unterschiede aber leicht zu meistern sein, solange man nicht "MSVC für Einsteiger" oder sonst einen sehr produktspezifischen Titel anschafft.

Bei der Kostenfrage helfen auch Bibliotheken, ebay und Sonderangebote.
Die Grundlagen von C++ kann man sich auch mit einem 5 Jahre alten Buch erarbeiten, und die Neuerungen später aus dem Netz beziehen.
Fragen kann man mit Hilfe von Programmiererforen angehen.

Da, wo es wirklich systemspezifisch wird, sollte man die Grundlagen schon drauf haben.
Eine linux-, bzw. unixspezifische Lektüre, die aber wiederum nicht sprachspezifisch ist, findest Du hier: The Art of Unix Programming

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

BigChiller hat geschrieben:

Im Internet findet man eine ganze Mänge interessante Seiten und man kann auch viel aus diesem Medium schöpfen. gerade zum "Herumschmökern" eignet sich das Internet wunderbar. Wenn du aber komplizierte Dinge suchst oder gar etwas länger andauerndes lernen möchtest, kann ich dir das Web keinesfalls empfehlen. Genau denselben Fehler habe ich am Anfang gemacht. Wenn du das Programmieren in irgendeiner x-beliebigen Sprache beherrschen möchtest, das gilt selbst für das liebe Python, kommst du an einem Buch nicht vorbei.

Das würde ich so pauschal nicht sagen. Die theoretischen Grundlagen aller Sprachen (was sind Klassen, Funktionen, etc.) sollte man definitiv aus einem Buch lernen, da stimme ich dir zu. Die Sprache selbst ist dabei jedoch primär egal. Ich habe anhand eines Buches mit Java und Delphi angefangen zu programmieren. Für den Umstieg auf C# habe ich das mir zugelegte Buch eigentlich schon gar nicht mehr gebraucht. Python habe ich dann komplett über das "Netz" gelernt, indem ich das Tutorial der offiziellen Doku durchgearbeitet habe, und dann einfach losprogrammiert habe, anderer Leute Code gelesen und viele Frage gestellt habe.

Grundlagen sollte man aus Büchern lernen, für eine spezifische Sprache reicht (bei Beherrschung der Grundlagen) aber in der Regel ein gutes Tutorial bzw. die offizielle Doku.

randy_bordello

(Themenstarter)

Anmeldungsdatum:
25. Mai 2007

Beiträge: 154

vielen dank für die ganzen tipps.
ich denke ich werde dann meine c/c++ kenntnisse mal was auffrischen, es sei denn mit phython gehts einfacher.
ich schaus mir einfach mal an.
MFG randy

Antworten |