Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Programmieren für Wiedereinsteiger.
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum
View previous topic :: View next topic  
Author Message
Klaus Meier
Advocate
Advocate


Joined: 18 Apr 2005
Posts: 2908
Location: Bozen

PostPosted: Tue Oct 24, 2006 6:36 pm    Post subject: Programmieren für Wiedereinsteiger. Reply with quote

Ich habe in früheren Tagen mal auf Atari mit TurboC unter Gem programiert. Und danach noch etwas XView auf einer alten SUN 3/60. Ist nun aber schon bestimmt über 15 Jahre her. Hab dann auch etwas C++ versucht, aber damit bin ich nicht so warm geworden.

Dann kam ein PC (486er) und Windows. Angeschaut, gegruselt und das was dann. Nun möchte ich mir da wieder etwas antun. Eigentlich nur so als Fingerübung. Was könnt ihr mir da empfehlen? Sollte vielleicht doch kein C++ sein, lieber erst mal C. Oder bringt da Mono Vorteile? Es gibt dafür ja Monodevelop. Oder Anjuta? Weil ich ja auch Gnome nutze. Gibt es da irgendwo empfehlenswerte Dokus im Netz zur Programmierung von Gtk oder Mono? Bücher über C und C++ habe ich noch.
Back to top
View user's profile Send private message
Vortex375
Veteran
Veteran


Joined: 03 Mar 2005
Posts: 1739
Location: Deutschland

PostPosted: Tue Oct 24, 2006 7:39 pm    Post subject: Reply with quote

Also von mono halte ich wenig, aber wie wärs mit python?

Fand ich _sehr_ einfach zu lernen und verstehen. Wenn du schon etwas mit den Grundlagen des Programmierens allgemein auskennnst, dann wirst du wohl keinerlei Verständnisprobleme haben (wenn nicht, dann klappts trotzdem. Du tust dir unter Umständen am Anfang halt etwas schwerer). Außerdem gibt es bei python speziell für Anfänger einige sehr gute Tutorials, schau am besten einfach mal auf [url]python.org[/url] vorbei.

python ist prinzipiell etwas langsamer als C oder C++, weil es halt eine Interpretersprache ist. Wenn du aber GUIs erstellen willst (schließe ich mal aus deinem Interesse für gtk), dann wird sich das nicht sonderlich bemerkbar machen, da die meiste Arbeit in diesem Falle ja von gtk ausgeführt wird und das ist in (hmm, keine Ahnung schätze mal C oder C++ :oops: ) geschrieben.

Damit du gtk mit python nutzen kannst musst du zunächst die python-Bindings dafür installieren (das gilt auch für alle anderen Biblitoheken, sofern python nicht nativ eine Unterstützung dafür mitbringt).

Somit bist du theoretisch auf die Benutzung von Bibliotheken beschränkt, für die python-Bindings verfügbar sind. Ob das in der Praxis etwas ausmacht wird wohl von deinen Einsatzzweck abhängen.

Du musst zum GUI-Entwickeln mit python übrigens nicht zwingend gtk benutzen, es gibt auch Bindings für Qt4 (cool), wxWidgets oder Tkinter (eher primitiv).

Ich hoffe das hat dir in irgendeiner Form weitergeholfen. :wink:
Back to top
View user's profile Send private message
Earthwings
Bodhisattva
Bodhisattva


Joined: 14 Apr 2003
Posts: 7753
Location: Germany

PostPosted: Tue Oct 24, 2006 7:51 pm    Post subject: Reply with quote

Ja, Python ist sicherlich ein schöner Einstieg, kann mich dem nur anschließen. C/C++ läuft nicht weg.
_________________
KDE
Back to top
View user's profile Send private message
mrsteven
Veteran
Veteran


Joined: 04 Jul 2003
Posts: 1939

PostPosted: Tue Oct 24, 2006 8:03 pm    Post subject: Reply with quote

Na ja, wenn du schon ein wenig C kannst und du das ein wenig auffrischen willst, dann tu das doch... Aber Python ist in der Tat auch nicht schlecht... :wink:
Back to top
View user's profile Send private message
moe
Veteran
Veteran


Joined: 28 Mar 2003
Posts: 1289
Location: Potsdam / Germany

PostPosted: Tue Oct 24, 2006 8:49 pm    Post subject: Reply with quote

Ich finde perl als Einstiegssprache gut, aber python oder ruby dürften eigentlich genauso leicht lernbar sein. An perl find ich nur besser, dass es überall schon vorhanden ist. Gut, Python wirds auf jedem Gentoo-System geben, aber ich hab letztens gehört es soll auch noch andere unixoide Systeme ausser Gentoo geben..
Back to top
View user's profile Send private message
Klaus Meier
Advocate
Advocate


Joined: 18 Apr 2005
Posts: 2908
Location: Bozen

PostPosted: Tue Oct 24, 2006 9:01 pm    Post subject: Reply with quote

Also C kann ich schon so weit, das ist kein Problem für mich. Bringt mir da der Umstieg auf Python Vorteile? Mono scheint ja niemanden vom Hocker zu hauen. Und wie sieht es aus mit der GUI-Programmierung? Vorteile für wen? Und wo finde ich dazu ne Doku?

Ansonsten ist die Syntax ja ziemlich ähnlich. Da ich ja nicht komplett neu Einsteige, tendiere ich da erst mal zu C. Es hätte mich nur interessiert, ob da Mono/C# Vorteile bringen.


Last edited by Klaus Meier on Tue Oct 24, 2006 9:03 pm; edited 1 time in total
Back to top
View user's profile Send private message
Knieper
l33t
l33t


Joined: 10 Nov 2005
Posts: 846

PostPosted: Tue Oct 24, 2006 9:02 pm    Post subject: Reply with quote

Auf anderen unixoiden Systemen hatte ich eher Python als Perl. Die Frage ist ja, was er programmieren moechte und wie er programmiert. Abstrahiert er gerne -> Ocaml, will er einen Allzweckproblemloeser -> Python, will er systemnah Bytes zaehlen -> C, will er BWL-Programmierer werden -> Java...
Back to top
View user's profile Send private message
Necoro
Veteran
Veteran


Joined: 18 Dec 2005
Posts: 1912
Location: Germany

PostPosted: Tue Oct 24, 2006 9:58 pm    Post subject: Reply with quote

Also ich würde dir auch Python empfehlen. Es mag zwar langsamer sein als C - aber ich denke das ist in einem Grade, der bei den heutigen Rechnern nur sehr bedingt auffällt. Außerdem lässt sich C auch in Python miteinbinden (Stichwort: C-Module). Wegen den Bindings würde ich mir gar nicht so Sorgen machen - in der Regel gibt es Bindings für ziemlich alles ... mache einfach mal "eix py" und lasse dich erschlagen. Ich meine sogar mal irgendwas mit Mono für Python gesehen/gelesen zu haben - finde das aber nicht wieder auf die Schnelle. Ich habe auch mit C angefangen und irgendwann aus Langeweile mit Python angefangen. Und seit dem ich das verstanden hab, tue ich mich schwer mit C :). Es bietet dir oft die selbe oder sogar mehr Komfort als Java ohne den Overhead mitzubringen :).
Noch kurz zu den GUIs: Ich habe (wie bestimmt schon einige mitbekommen haben ;)) mit pyGTK gearbeitet. Das Tutorial auf pygtk.org ist brauchbar - nichts desto trotz artet es nachher in Gefrickel aus. Das scheint aber glaube ich prinzipiell ein Wesenheit der GUI-Programmierung zu sein ^^. Als Alternative könnte man denn dort Glade einsetzen, welches die GUI als XML speichert und quasi erst zu Runtime daraus Python-Code bastelt. (Porthole verwendet es zB)

Stichwort Perl: Ich habe letzten Do angefangen Perl zu lernen und auch mit zu arbeiten - und es ist absolut nicht mein Geschmack (abgesehen von den genialen RegExps). Aber das mag jeder für sich entscheiden :)

Stichwort Mono: Das habe ich mir nie angeschaut ... aber bei mir setzt da der Reflex "(fast)alles wo M$ seine Finger drin hat, ist böse" ein ^^. Das ist zwar keine objektive Betrachtung, aber bis jetzt hat es mir noch nicht geschadet.


Das gibt nur meine ganz persönliche Meinung wieder :) - im Endeffekt ist viel Geschmackssache (ich kenne ja sogar leute, die ObjectRexx jeder anderen Sprache vorziehen ^^)
_________________
Inter Deum Et Diabolum Semper Musica Est.
Back to top
View user's profile Send private message
return13
Guru
Guru


Joined: 02 Feb 2004
Posts: 513
Location: Hamburg - Germany

PostPosted: Tue Oct 24, 2006 10:58 pm    Post subject: Reply with quote

Necoro_dM wrote:

(ich kenne ja sogar leute, die ObjectRexx jeder anderen Sprache vorziehen ^^)


Man könnte natürlich sich auch mit Brainfuck begnügen... :lol: *rofl*

Zumindest theoretisch sollte es ja die am leichtesten zu erlernende Sprache sein, da es nur 8 Befehle gibt...
_________________
Wer Recht erkennen will, muß zuvor in richtiger Weise gezweifelt haben.
Aristoteles (384-322), griech. Philosoph, Begründer d. abendländ. Philosophie
Back to top
View user's profile Send private message
Klaus Meier
Advocate
Advocate


Joined: 18 Apr 2005
Posts: 2908
Location: Bozen

PostPosted: Wed Oct 25, 2006 8:00 am    Post subject: Reply with quote

So, hab jetzt mal etwas rumgesucht. Also die Dokus, die man bei Python, pyGTK und GTK zum runterladen bekommt, sind schon ganz brauchbar.

Ich möchte mal so sagen, Python scheint etwas intuitiver zu sein als C. Da schreibt man einfach, was man machen will. Bei C muß man da immer alles mögliche berücksichtigen. Also im Vergleich print zu printf.

Aber so per Zufall (eigentlich gar nicht geplant), bin ich dann mal auf QT gestoßen. Und da sah mir der Code zur GUI-Programmierung am selbstverständlichsten aus. Hat mich jedenfalls erst mal total begeistert.

Werde jetzt erst mal Kdevelop antesten. Und auch C++. Und was ich da machen werde? Kann mich entsinnen, daß hier jemand ist, der für ein GTK-Programm gerne eine KDE-Oberfläche hätte. Aber bitte nicht schlagen, wenn es nichts wird.
Back to top
View user's profile Send private message
Dr. Arbeitslos
Apprentice
Apprentice


Joined: 13 Aug 2005
Posts: 152

PostPosted: Wed Oct 25, 2006 8:44 am    Post subject: Reply with quote

jetzt bringt den mann doch nicht von c(++) ab, schliesslich gibt es vielviel mehr projekte die darin implementiert sind als in python...in denen er dann mitcoden könnte ;-)

übrigens: tu dir doch nicht c an, c++ ist an so vielen stellen besser, selbst wenn du weiterhin funktional programmieren möchtest. für c auf c++ umsteiger empfiehlt sich das standardwerk "thinking in c++ 2nd edition" ISBN 0-13-917709-4, quasi _die_ c++-referenz. letztens hab ich im bus übrigens ein gespräch mitgehört in dem einer meinte, er hätte eine elektronische version davon im inet gefunden 8O
Back to top
View user's profile Send private message
psyqil
Advocate
Advocate


Joined: 26 May 2003
Posts: 2767

PostPosted: Wed Oct 25, 2006 9:02 am    Post subject: Reply with quote

Dr. Arbeitslos wrote:
letztens hab ich im bus übrigens ein gespräch mitgehört in dem einer meinte, er hätte eine elektronische version davon im inet gefunden 8O

Na klar: http://mindview.net/Books/DownloadSites
Back to top
View user's profile Send private message
Klaus Meier
Advocate
Advocate


Joined: 18 Apr 2005
Posts: 2908
Location: Bozen

PostPosted: Wed Oct 25, 2006 9:12 am    Post subject: Reply with quote

Zu der Erkenntnis bin ich auch gekommen. Python bringt mir erst mal nichts. C++ kann man ja auch erst mal im C-Stil schreiben und muß nicht gleich alles überladen. Mal sehen, ob ich die Leute finde, die du im Bus belauscht hast....

Hab mal nachgeschaut, hab hier noch den Stroustrup rumstehen, von 1992. Das Buch ist vielleicht eine Referrenz für die Sprache, aber kein Lehrbuch. Verstehe jetzt auch, warum ich damals keine Lust mehr auf C++ hatte. Solange ist es her....
Back to top
View user's profile Send private message
Dr. Arbeitslos
Apprentice
Apprentice


Joined: 13 Aug 2005
Posts: 152

PostPosted: Wed Oct 25, 2006 9:46 am    Post subject: Reply with quote

Klaus Meier wrote:
Verstehe jetzt auch, warum ich damals keine Lust mehr auf C++ hatte.
hrhr also das verstehe ich dafür sehr gut. meinetwegen könnten alle unhardwarenahen und geschwindigkeitsunkritischen projekte direkt nach python oä migrieren. C(++) ist dagenen ein...schrecklich...zusammengewuselter...undruchdringlicher...erm haufen zeug oder so ;-)
Back to top
View user's profile Send private message
Klaus Meier
Advocate
Advocate


Joined: 18 Apr 2005
Posts: 2908
Location: Bozen

PostPosted: Wed Oct 25, 2006 10:11 am    Post subject: Reply with quote

Dr. Arbeitslos wrote:
hrhr also das verstehe ich dafür sehr gut. meinetwegen könnten alle unhardwarenahen und geschwindigkeitsunkritischen projekte direkt nach python oä migrieren. C(++) ist dagenen ein...schrecklich...zusammengewuselter...undruchdringlicher...erm haufen zeug oder so ;-)
Also solche Sprüche bringen doch echt nichts. Ich hab hier was gefragt, habe gute Antworten bekommen, andere Antworten haben mir nicht so viel gebracht, waren aus Sicht der Poster aber gut gemeint. Und das man Python nicht für geschwindigkeitskritische Applikationen verwenden soll, daß haben doch die Pythonfans auch selber geschrieben.
Back to top
View user's profile Send private message
Dr. Arbeitslos
Apprentice
Apprentice


Joined: 13 Aug 2005
Posts: 152

PostPosted: Wed Oct 25, 2006 11:12 am    Post subject: Reply with quote

bist du smileyresistent oder sollte dir der nicht 100% ernst gemeinte wink in meinem post tatsächlich entgangen sein?
Back to top
View user's profile Send private message
Klaus Meier
Advocate
Advocate


Joined: 18 Apr 2005
Posts: 2908
Location: Bozen

PostPosted: Wed Oct 25, 2006 11:24 am    Post subject: Reply with quote

Dr. Arbeitslos wrote:
bist du smileyresistent oder sollte dir der nicht 100% ernst gemeinte wink in meinem post tatsächlich entgangen sein?
Habs schon verstanden. Nur lustig fand ich es trotzdem nicht.
Back to top
View user's profile Send private message
Dr. Arbeitslos
Apprentice
Apprentice


Joined: 13 Aug 2005
Posts: 152

PostPosted: Wed Oct 25, 2006 11:38 am    Post subject: Reply with quote

macht nichts, die aufteilung lautet auch in etwa 90% ernst und nur 10% lustig (sage ich mal als c++-betroffener)
Back to top
View user's profile Send private message
Klaus Meier
Advocate
Advocate


Joined: 18 Apr 2005
Posts: 2908
Location: Bozen

PostPosted: Wed Oct 25, 2006 11:42 am    Post subject: Reply with quote

Also den Bruce Eckel hatte ich ganz früher mal. Kommt mir alles irgendwie bekannt vor. Nene, das ist ja Wahnsinn für einen Neuling.

Mir ist da jetzt ganz profan Markt und Technik, jetzt lerne ich C++ untergekommen, genau richtig für mich.

Und Kdevelop hat mir auch auch schon ein Hello World im Fenster auf den Bildschirm gezaubert, es kann losgehen.
Back to top
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4565

PostPosted: Wed Oct 25, 2006 11:47 am    Post subject: Reply with quote

Ich weiß nicht ob man in Python Operatoren überladen kann. In Java gehts definitiv nicht!
Und das liebe ich an C++. Oder Zeiger auf Funktionen.

Und hier ein link (falls du dich für C++ entscheiden willst) fürs schnelle Nachschlagen:
http://www.cppreference.com
Kurz und bündig, wenn du weißt was du machen willst :)

Grüße
Franz

P.S.:
Das von dir erwähnte Projekt war geneticone, und das ist in Python (PyGTK) verfasst, und es wird eine GUI für PyQt gesucht ;)

// Edit:
Und als Buch fand ich absolut genial:
C++ - Lernen und professionell anwenden; Peter Prinz, Ulla Kirch-Prinz; mip-Verlag; ISBN 3-8266-0824-0
@amazon
(Nur wenns dich interessiert ;))
Back to top
View user's profile Send private message
Klaus Meier
Advocate
Advocate


Joined: 18 Apr 2005
Posts: 2908
Location: Bozen

PostPosted: Wed Oct 25, 2006 12:52 pm    Post subject: Reply with quote

Das mit geneticone war mir schon klar, weil der Author von geneticone ja etwas weiter oben ja selber gepostet hat, deshalb habe ich es so formuliert. Na mal sehen, ob ich da was einbringen kann.
Back to top
View user's profile Send private message
oscarwild
l33t
l33t


Joined: 15 Jul 2003
Posts: 857
Location: Memmingen, Germany, Old Europe, Earth

PostPosted: Wed Oct 25, 2006 3:03 pm    Post subject: Reply with quote

Dr. Arbeitslos wrote:
hrhr also das verstehe ich dafür sehr gut. meinetwegen könnten alle unhardwarenahen und geschwindigkeitsunkritischen projekte direkt nach python oä migrieren. C(++) ist dagenen ein...schrecklich...zusammengewuselter...undruchdringlicher...erm haufen zeug oder so ;-)

Richtig ist, dass C++ (leider) auf C aufsetzt, und damit manche Hässlichkeiten von C erbt. Eine Undurchdringlichkeit begründet sich ggf. aber eher durch Defizite, die sich vor der Tastatur befinden :wink:

@Klaus Meier: "programmieren" lernen is an sich nicht sehr spannen - es ist relativ egal, ob Du Dir den Syntax von C/C++, Java oder Python reinziehst, der ist in jedem Fall recht leich erlernbar. Naja gut, vielleicht mit Ausnahme von Brainfuck :P.

Es hängt davon ab, was Du genau machen möchtest - wenn Du Applikationsentwicklung auf PC-Basis betreiben möchtest, dann würde ich auf jeden Fall eine objektorientierte Sprache wählen. Möchtest Du eher auf Microcontrollern entwickeln, nimm C.
In Sachen Objektorientierung empfehle ich das hier als sprachunabhängige Grundlage, als objektorientierte Sprache durchaus C++, oder, wenn Du auf die historische "Resthässlichkeit" von C++ verzichten möchtest, die - in meinen Augen sehr vielversprechende - Programmiersprache D.

Es ist übrigens ein vollkommener Trugschluss, dass es für jemanden mit C-Kenntnissen einfach ist, auf C++ umzusteigen - der C-Syntax geht zwar in C++ mit wenigen Abweichungen in C++ auf, die grundlegenden Konzepte gehen dagegen vollkommen auseinander. Ganz ehrlich - einen C++ Compiler mit C zu füttern ist Perlen vor die Säue (bevor Fragen aufkommen: natürlich ist hier der C-Code sie Sau, nicht der C++ Compiler *g*). Und es gibt Stimmen, die besagen, dass jemand, der erst mal eine Weile prozedural entwickelt hat, für alle Zeit verseucht und verdorben ist, und nie wieder objektorinetiertes Programmieren erlernen wird :wink:
_________________
http://blog.selbsthilfenetzwerk-cannabis-medizin.de
Back to top
View user's profile Send private message
Klaus Meier
Advocate
Advocate


Joined: 18 Apr 2005
Posts: 2908
Location: Bozen

PostPosted: Wed Oct 25, 2006 3:51 pm    Post subject: Reply with quote

Hallo Oscarwild, möchte Applikationsentwicklung auf PC-Basis machen.

Naja, den Punkt, daß Leute, die mit C angefangen haben, für C++ verdorben sind, das habe ich schon öfters gehört. Aber als ich angefangen habe, da gab es noch kein C++. Da gab es Fortran und Basic. Und da liefen noch Leute mit Lochkarten rum. Ich zum Glück nicht.

Meine Frage ging ja am Anfang eigentlich dahin, ob eventuell so etwas wie Mono/C# was bringt. Es muß ja nicht schlecht sein, nur weil es von Microsoft kommt. Das war ja leider die Standardantwort hier. Microsoft, Scheiße, weg damit, ohne es zu kennen.

Und was ich mir jetzt so angesehen habe, habe ich mich etwas in QT verliebt. Sieht von der Struktur her wesentlich geradliniger und problemorientierter aus als GTK. Also jetzt nur so beim Anschauen des grafischen Hello World. Na und da führt ja kein Weg an C++ vorbei.
Back to top
View user's profile Send private message
Knieper
l33t
l33t


Joined: 10 Nov 2005
Posts: 846

PostPosted: Wed Oct 25, 2006 4:00 pm    Post subject: Reply with quote

oscarwild wrote:
Und es gibt Stimmen, die besagen, dass jemand, der erst mal eine Weile prozedural entwickelt hat, für alle Zeit verseucht und verdorben ist, und nie wieder objektorinetiertes Programmieren erlernen wird :wink:


Nunja, wenn man einmal verstanden hat, was OO ist und was bei OO im Hintergrund ablaeuft und sieht, wie gross die Differenzen bei Codegroesse und Ressourcenverbrauch werden koennen, der hat meistens keine Lust ueberall mit dem OO-Presslufthammer auf Problemstiftnaegel zu hauen. :)
Back to top
View user's profile Send private message
oscarwild
l33t
l33t


Joined: 15 Jul 2003
Posts: 857
Location: Memmingen, Germany, Old Europe, Earth

PostPosted: Wed Oct 25, 2006 4:04 pm    Post subject: Reply with quote

Klaus Meier wrote:
Naja, den Punkt, daß Leute, die mit C angefangen haben, für C++ verdorben sind, das habe ich schon öfters gehört. Aber als ich angefangen habe, da gab es noch kein C++. Da gab es Fortran und Basic. Und da liefen noch Leute mit Lochkarten rum. Ich zum Glück nicht.

War auch nicht ganz ernst gemeint *g*. Ich bin mit BASIC aufgewachsen, habe später C gelernt und setzte trotzdem OO so oft wie möglich ein!

Klaus Meier wrote:
Und was ich mir jetzt so angesehen habe, habe ich mich etwas in QT verliebt. Sieht von der Struktur her wesentlich geradliniger und problemorientierter aus als GTK. Also jetzt nur so beim Anschauen des grafischen Hello World. Na und da führt ja kein Weg an C++ vorbei.

Absoluter Treffer. Qt ist mit Abstand das beste Framework, das ich kenne. Es gibt zwar auch Bindings für andere Sprachen, aber mit C++ macht es am meisten Spaß - allerdings kommst Du dann umm OO keinesfalls herum!
_________________
http://blog.selbsthilfenetzwerk-cannabis-medizin.de
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum