#1 12.07.2009 08:57:14

Dwayne
Mitglied

C, C++ oder Python? womit am besten anfangen?

Ich würde gerne etwas Programmieren lernen zum anfang etwas leichtes und später mit Übung schon weiteres.
Mit welcher sprache sollte man da anfangen?
C:
Soll zumindest leichter sein als C++ kann aber weniger
C++:
Kann mehr aber auch mehr zu lernen und viel Motivation nötig
Python:
Soll einfach sein und sogar schneller als Java

Irgendwie ist es schwer da eine entscheidung zu fällen zumal eher wenig bis keine Beispiele jetzt in Google für z.B Programme die man mit Python schrieb.

Anfangs möchte ich gerne kleinere dinge probieren und testen ob mir Programmieren liegt.
Beispiel für anfang wäre...
Etwas was eine Script datei ausliest und nach Syntax fehlern sucht und die Fehler mit Namen, Zeile.

Wo ich am ende gerne wäre der Punkt wo es behersche bei manchen XFCE Programmen anpassungen zu machen wenn nicht sogar eigene GTK Programme zu schreiben bis irgendwann vielleicht doch noch C++ zu lernen falls es nicht anfangs lernen sollte.

Bisher habe ich nur Script kenntnisse in HTML und CSS die aber auch dort endeten wo man zu Gimp greifen musste und sich ein paar grafiken zurecht bastelt um das optische am ganzen zu erreichen.

Zum schreiben würde ich Geany verwenden.

Doch kleine frage noch was würdet ihr Empfehlen wie man am besten lernt dabei?
Mit einen richtigen Buch oder durch Tutorials aus den Internet wenn nicht sogar ein Openbook?
Bücher habe ich bisher nur zu C++ von A bis Z und C++ Primer die deutsche übersetzung des C++ Original buches.
Sonst nur die Openbooks zu Pyhon und C die man auf Galileo Computing findet.

Für eine Hilfreiche Antwort wäre ich dankbar

Offline

#2 12.07.2009 09:05:58

BurnOver
Mitglied

Re: C, C++ oder Python? womit am besten anfangen?

Hi, ich wüsste jetzt nicht warum C weniger als Cpp kann.

Cpp hat Klassen die es in C nicht so leicht gibt. Aber im Prinzip alles was mit Cpp möglich ist geht auch mit C.

Aber wenn du anfangen willst lern Python.
Damit kannst du dann auch GTK Programme schreiben.

Beitrag geändert von BurnOver (12.07.2009 09:06:41)

Offline

#3 12.07.2009 09:49:43

aze
Mitglied

Re: C, C++ oder Python? womit am besten anfangen?

man kann in C auch structs, pointer und funktionen dazu "missbrauchen" um objekt orientiert wie in c++ zu programmieren wink

Offline

#4 12.07.2009 10:05:28

Gast
Gast

Re: C, C++ oder Python? womit am besten anfangen?

Ich würde für den Aanfang ganz klar Python (3) empfehlen, da es dich zu keinem Programmierparadigma zwingt und du dich nicht mit Pointern etc rummschlagen musst.
Wenn du Python sicher beherrschst sollte es dann auch nicht allzuschwer fallen eine beliebige andere Sprache dazu zu lernen.

#5 12.07.2009 10:14:36

linopolus
Mitglied

Re: C, C++ oder Python? womit am besten anfangen?

Auch wenn du es jetzt nicht mit genannt hast, würde ich auf jeden Fall Ruby empfehlen. Es ist sehr einfach zu lernen, du kannst damit alles machen(nun gut, ich würde keine performancekritischen Sachen wie 3D-Spiele machen aber sonst…
http://ruby-portal.de
http://ruby-lang.org

Offline

#6 12.07.2009 10:17:08

danlei
Mitglied

Re: C, C++ oder Python? womit am besten anfangen?

Zunächst einmal sind Aussagen à la »X kann mehr als Y« und »Y ist schneller als X« mit Vorsicht zu genießen.

Vielleicht wäre es am besten, wenn Du zu jeder Deiner Optionen ein kleines Tutorial ducharbeiten würdest und dann selbst entscheidest, was Dir liegt. Natürlich hättest Du so nur einen sehr groben Einblick in die einzelnen Sprachen, aber immerhin wäre er aus erster Hand.

Ich persönlich würde Dir von den gegebenen Optionen wohl am ehesten Python als »Einstiegssprache« empfehlen. Allein schon die Tatsache, dass Python eine REPL bietet und Du so interaktiv arbeiten kannst ist schonmal ein Vorteil beim experimentieren. Weiters stellt Dir Python eine ziemlich umfangreiche Standardbibiliothek zur Verfügung, die einen großen Bereich »gängiger« Anforderungen abdeckt.

Das offizielle Tutorial wäre ein ganz guter Einstieg, ansonsten fand ich Dive Into Python hilfreich.

Beitrag geändert von danlei (12.07.2009 10:26:30)

Offline

#7 12.07.2009 10:44:32

Nagian
Mitglied

Re: C, C++ oder Python? womit am besten anfangen?

aze schrieb:

man kann in C auch structs, pointer und funktionen dazu "missbrauchen" um objekt orientiert wie in c++ zu programmieren wink

Naja, nicht ganz, Sachen wie Vererbung gibt es dann trotzdem nicht;)

Und C++ kann auf jeden Fall mehr als C, da geht es nicht nur um Klassen, sondern auch zB um Templates, usw, ist ja nur ein "Zusatz" für C, wenn man so will.

C/C++ zwingt auch nicht zu einem Programmierparadigma, aber ich würde dir aus einem anderen Grund Python empfehlen: Es zwingt dich schönen Quellcode zu schreiben, da die Einrückungen zur Syntax gehören. Das übernimmt man danach sicher auf andere Programmiersprachen auch (habe leider nicht mit Python angefangen sad )

Offline

#8 12.07.2009 10:47:20

Kinch
Mitglied

Re: C, C++ oder Python? womit am besten anfangen?

C kann in der Tat weniger als C++. C hat keine Klassen, dadurch bedingt auch keine Objekte, Vererbung, Sichtbarkeiten, Templates, Überladen von Operatoren, Überladen von Funktionen, Streams, RAII, etc pp.

Es sind beide zwar turing vollständige Sprachen, aber damit hat es sich auch schon.

Normalerweise würde ich ja sagen, dass es eine reine Geschmacksfrage ist, welche Sprache man lernt. Aber C++ ist wirklich überkomplex und würde ich als Einsteigersprache nicht empfehlen. C ist relativ einfach und schnell gelernt, hat aber keine moderne Konzepte und eine Menge Sicherheitslücken. Gute Software in C zu schreiben, finde ich deutlich anspruchsvoller, als in Python.

Offline

#9 12.07.2009 11:14:33

danlei
Mitglied

Re: C, C++ oder Python? womit am besten anfangen?

Kinch schrieb:

C kann in der Tat weniger als C++. C hat keine Klassen, dadurch bedingt auch keine Objekte, Vererbung, Sichtbarkeiten, Templates, Überladen von Operatoren, Überladen von Funktionen, Streams, RAII, etc pp.

Es sind beide zwar turing vollständige Sprachen, aber damit hat es sich auch schon.

Ich würde, eben wegen der von Dir angeführten Turing-Vollständigkeit, eher sagen, dass C++ bestimmte Dinge einfacher macht, als C, weil sie im Sprachkern unterstützt werden. Eine im Sprachkern nicht enthaltene Funktionalität kann allerdings durch eine entsprechende Erweiterung (sei sie selbst implementiert, oder durch eine entsprechende Bibliothek eingebunden) zur Verfügung gestellt werden. Zu sagen: »X kann mehr als Y« ist genau aus diesem Grunde missverständlich. Es ist natürlich bequemer, in purem Haskell funktional, oder in purem Lisp »sprachenorientiert« zu programmieren, als in purem C, keine Frage.

Beitrag geändert von danlei (12.07.2009 11:14:56)

Offline

#10 12.07.2009 11:18:24

Vrob
Mitglied

Re: C, C++ oder Python? womit am besten anfangen?

Ich plädiere auch mal für Python, aus den eben schon genannten Gründen: leichter zu erlernen als C/Cpp, gut Dokumentiert, gute Standardbibliothek, nette Syntax mit vielen "Convenience"-Elementen und besonders langsam ist es eigentlich auch nicht. Zudem kannst du ja Geschwindigkeitskritische Elemente trotzdem noch in C/C++ schreiben lol

Lg,
Vrob

Beitrag geändert von Vrob (12.07.2009 11:18:45)

Offline

#11 12.07.2009 11:32:37

aze
Mitglied

Re: C, C++ oder Python? womit am besten anfangen?

Nagian schrieb:
aze schrieb:

man kann in C auch structs, pointer und funktionen dazu "missbrauchen" um objekt orientiert wie in c++ zu programmieren wink


Naja, nicht ganz, Sachen wie Vererbung gibt es dann trotzdem nicht;)

und vererbung ist ja auch ganz doll böööööse wink

Offline

#12 12.07.2009 15:01:52

Cerusan
Mitglied

Re: C, C++ oder Python? womit am besten anfangen?

Dwayne: Ich würde die C# empfehlen, weil diese möglichst einfach für Einsteiger gedacht worden ist. Mit Monodevelop hat man auch das nötige Werkzeug. Bin auch dabei C# zu erlernen und mir macht es viel Spaß. smile

Offline

#13 12.07.2009 15:02:59

iway
Mitglied

Re: C, C++ oder Python? womit am besten anfangen?

Hi Dwayne!

Wenn du unter den von dir genannten Sprachen etwas "leichtes" suchst, womit du mal ebend ein bischen was scripten kannst um zu schauen ob dir programmieren liegt, würde ich dir auch zu Python raten da es dir ne menge heck meck ab nimmt und wie schon erwähnt sehr einfach zu lernen ist.
Beispiele für Python Programme und Scripte kannst du im http://www.python-forum.de/ finden.

Für mich haben die anderen Sprachen aber auch nicht unbedingt nachteile als erste Programmiersprache.
Ich habe selber mit C angefangen und geschadet hats mir nicht ;-P. Ich würde sogar sagen man lernt auch noch ein wenig wie der Computer arbeitet.

Was das Lernen angeht:
Ich Persönlich bevorzuge ein gutes Buch, der Grund ist das man dort meist etwas mehr hintergrund Info bekommt wie genau etwas unter der Haube werkelt.
Wenn man sich dann die grundlegenden Sachen drauf geschafft hat kommt man dann mit Tutorials auch viel weiter.

Fazit:
Nach deinen "Forderungen" ist Python die Sprache der Wahl, wenn du die drauf hast kannst du ja immer noch C/C++ lernen und evt. der nächte Kernel-Hacker oder sonstwas werden!

PS: Ich denke mal du solltest die drei von dir genannten Sprachen im blick behalten und dich etwas zügiger entscheiden, weil sonst neben Ruby auch noch 1000 andere Sprachen genannt werden und du sonst später verwirrter bist als vorher ;P

gruß iway

EDIT:
Haha wie ichs mir dachte ist nun auch C# mit dabei lol

Beitrag geändert von iway (12.07.2009 15:04:20)

Offline

#14 12.07.2009 16:43:39

Dwayne
Mitglied

Re: C, C++ oder Python? womit am besten anfangen?

Habe mich nochmal umgessehen und für Python 2 gute möglichkeiten gefunden Infos zu bekommen:
1: http://openbook.galileocomputing.de/python/ Openbook zu Python aber noch Version 2.5
2: http://showmedo.com/videotutorials/seri … ies_german Hier noch ein paar Online Vids zum Python Programmieren.
Ist zwar alles äter als Python 3 aber denke die änderungen kann man nachträglich noch shcnell nach lernen.

C würde auch probieren doch kommt im September eine aktualisierte auflage von C von A bis Z raus weshalb nicht recht weis ob lieber noch warten soll oder nicht.
Die derzeitige ausgabe gibt von 06 auch noch als Openbook
http://openbook.galileocomputing.de/c_von_a_bis_z/

Cpp habe ich zwar 2 des wahrscheinlich ziemlich Besten Bücher doch höre ich auch viel über Cpp 09 kann jemand mal sagen was es damit auf sich hat?
Gehe ich richtig davon aus das es eine neue auflage von cpp geben wird?

C# mag ich irgendwie ungern lernen was an diversen sachen liegt wie
1: Mono selbst sachen von .Net übernimmt und anpasst für Linux als auch eigene dinge einbaut.
2: Eine Gefahr das irgendwann vielleicht auch nie MS sich es zu nutzen machen könnte das viele auf Mono und somit .Net setzen.
3: Ich lieber auf den Standard vom C und Cppsetze vorallen weil man nichts extra nachinstallieren muss was halt ein vorteil ist bei QT und GTK ist es ja quasi ein Standard das man eines von beiden hat.(Ich weis Python muss man auch Nachinstallieren ist aber auf eigentlich jeden Linux Desktop standard.)
4: Linux massig sprachen hat die man ohne probleme benutzen kann.

Ruby würde erstmal beiseite schieben auch wenn es auf Galileo auch ein Openbook dazu gibt.

Was mit C und Cpp meint mit kann mehr meinte ich das Cpp einfach mehr masse hat wegen den Objektorientiert.(Vererbung und andere dinge worum die sprache erweitert wurde)

PS: teste erstmal Python ein wenig aber schwer ist es wohl kaum einzige was fehlt wären tricks sich die Informationen besser merken zu können da sie leider recht schnell isn nichts verschwinden können trotz lesen...

Beitrag geändert von Dwayne (12.07.2009 16:45:38)

Offline

#15 12.07.2009 17:40:00

smil3
Mitglied

Re: C, C++ oder Python? womit am besten anfangen?

Python wäre für dich wahrscheinlich die beste Sprache für den Anfang. Man bekommt durch wenig Aufwand(lernen) relativ große Erfolge.
Das Problem aber, was bei allen Dingen im Leben der Fall ist, du kommst irgendwann an den Punkt an dem die schnellen Ergebnisse enden (bei C,C++ wird das wahrscheinlich eher sein als bei Python). Dann gilt es dran zu bleiben.
Da dein Ziel ist GTK-Progs zu schreiben, spricht eigentlich nichts dagegen mit C++ anzufangen. Wenn es aber nur kleine Hilfsprogramme sein sollen, dann reichen Skriptsprachen wie Python meist aus. smile

Beitrag geändert von smil3 (12.07.2009 17:41:09)

Offline

#16 12.07.2009 17:48:33

Atsutane
Trusted User

Re: C, C++ oder Python? womit am besten anfangen?

Dwayne schrieb:

C würde auch probieren doch kommt im September eine aktualisierte auflage von C von A bis Z raus weshalb nicht recht weis ob lieber noch warten soll oder nicht.
Die derzeitige ausgabe gibt von 06 auch noch als Openbook
http://openbook.galileocomputing.de/c_von_a_bis_z/

Ich will mich hier nicht in die Debatte einmischen, das hatten wir oft genug. Allerdings
möchte ich anmerken, dass sich an den C Standards die letzten Jahre nichts geändert
hat, die Neuauflage also eher Fehler beseitigt und manche Kapitel hinzukommen oder
überarbeitet werden, sie stellt folglich keinerlei Hindernis für diejenigen dar, welche nun
anfangen möchten mit diesem Werk C zu erlernen.

Ansonsten wünsche ich dir viel Freude beim programmieren in der Sprache deiner Wahl.

Beitrag geändert von Atsutane (12.07.2009 17:49:34)

Offline

#17 12.07.2009 18:03:29

Kinch
Mitglied

Re: C, C++ oder Python? womit am besten anfangen?

Ich fand auch, dass in c von a bis z einige Fehler enthalten waren. Eine Neuauflage wäre wirklich nötig.

Es gibt "demnächst" einen neuen C++-Standard. Der wird die Sprache jetzt auch nicht neu erfinden so, dass nichts dagegen spricht die Sprache jetzt schon zu lernen und sich dann ggf. den neuen Standard nochmal anzuschauen.
Wann der Standard kommt ist ungewiss. Inoffiziell hieß es immer 2009, allerdings scheint sich das wieder auf unbestimmte Zeit in die Zukunft verschoben zu haben.

Nochmal allgemein zu dem Thema: Ich persönlich finde eine Sprache syntaktisch zu lernen sehr einfach. Wenn man imperativ programmieren kann, lernt man eine neue imperative Sprache auch an einem Wochenende. Wichtiger als eine konkrete Programmiersprache zu lernen ist es imho Programmieren zu lernen und das kann man mit jeder Sprache.

Offline

#18 12.07.2009 18:40:06

Gast
Gast

Re: C, C++ oder Python? womit am besten anfangen?

@Dwayne: Ich hab mal in die Videos reingeschaut deren Link du gepostet hast und muss sagen, dass Sie meiner Meinung nach didaktisch sehr schlecht sind. Es wird nur grob und oberflächig erklärt. Ich konnte nicht entdecken, dass mal ein Beispiel auch konkret ausgeführt wurde. Außerdem sind mir kleinere Fehler aufgefallen und wenn man Python gar nicht kennt oder überhaupt keine Programmierkenntnisse mitbringt wird man an manchen Stellen hängen bleiben. Ich würde daher doch zu einem Buch oder Tutorial greifen. Nur durch diese Videos wird man denke ich kaum was lernen.

#19 21.07.2009 09:27:10

Dwayne
Mitglied

Re: C, C++ oder Python? womit am besten anfangen?

Habe nun erstmal mit C angefangen da es leider kein Python Buch im Buchandel gab meiner wahl fiel auf "C Programmieren" von Jürgen Wolf jener der auch C von A bis Z auf Galileo Computing als Openbook anbietet.
Python werde mir wohl nächsten Monat Buch holen und ansehen sofern mit C durch bin.

Gibt es eine gute 2D Engine die auf Linux als auch Windows Functioniert?
Würde nehmlich eventuell einen Gameclient schreiben für ein 2D Game.
Generell wäre Vorrausetzung das es mit 1GHZ und 50 MB Ram lauffähig wäre.
Die Ansicht des ganzen sollter so aussehen wenn man spielt:
http://uo.theabyss.ru/images/uo/start/start_b3.jpg

Offline

#20 21.07.2009 10:38:14

Joe.deluxe
Gast

Re: C, C++ oder Python? womit am besten anfangen?

OpenGL

#21 21.07.2009 11:30:41

piet
Mitglied

Re: C, C++ oder Python? womit am besten anfangen?

Joe.deluxe schrieb:

OpenGL

Das ist aber 3D, eventuell wäre SDL was, oder such nach etwas moderneren. Im Wikipedia-SDL-Artikel werden noch ein paar Engines/Bibliotheken erwähnt, im englischen noch ein paar mehr.

cu

EDIT1: Upps, der Screenshot sieht auch nach 3D aus, wobei FreeCiv auch so aussieht und imho nur SDL nutzt... sorry, ob da SDL reicht, weiß ich nicht.

Beitrag geändert von piet (21.07.2009 11:35:33)

Offline

#22 21.07.2009 11:40:04

Kinch
Mitglied

Re: C, C++ oder Python? womit am besten anfangen?

piet schrieb:

Das ist aber 3D

Man kann mit OpenGL wunderbar 2D programmieren. Ich meine SDL greift auch darauf zurück.

Allerdings finde ich OpenGL bock schwer, vor allem weil man (zumindest wenn man 3D machen will) auch die mathematischen Grundlagen braucht.

Offline

#23 21.07.2009 11:56:49

piet
Mitglied

Re: C, C++ oder Python? womit am besten anfangen?

Kinch schrieb:
piet schrieb:

Das ist aber 3D


Man kann mit OpenGL wunderbar 2D programmieren. Ich meine SDL greift auch darauf zurück.

Allerdings finde ich OpenGL bock schwer, vor allem weil man (zumindest wenn man 3D machen will) auch die mathematischen Grundlagen braucht.

Weiß ich, aber für rein 2D halte ich es für den falschen Ansatz. Bei 3D würde ich auch nicht OpenGL sondern auf eine der vielen Spiele-/Multimedia-Engines zrückgreifen.

cu

Offline

#24 21.07.2009 12:01:00

Joe.deluxe
Gast

Re: C, C++ oder Python? womit am besten anfangen?

Viele alternative wirst du nicht finden DirectX und OpenGL sind numal die großen, alles andere setzt in der Regel nur auf einen von beiden auf

#25 21.07.2009 19:11:20

piet
Mitglied

Re: C, C++ oder Python? womit am besten anfangen?

Joe.deluxe schrieb:

Viele alternative wirst du nicht finden DirectX und OpenGL sind numal die großen, alles andere setzt in der Regel nur auf einen von beiden auf

Falls du mich meinst, ja, weiß ich, aber OpenGL ist nicht so lecker, die Engines die drauf aufsetzen, sind da meist angenehmer zu nutzen.

cu

Offline

Fußzeile des Forums