Seite 3 von 4
Verfasst: Dienstag 10. April 2007, 12:09
von Leonidas
lost_mind hat geschrieben:schon 3 seiten und ich hab noch nichtmal geantwortet

(naja ich hab halt kein netz zuhause

)
Das hat sich meiner Erfahrung nach als sehr, sehr Praktisch erwiesen. Online-Dokumentationen oder direkter Draht zu anderen Entwicklern ist oftmals hilfreicher als ein Buch.
lost_mind hat geschrieben:also Perl weil ich unix mag und eigentlich nichts schlechtes darüber gehört habe.
Die Programme tendieren dazu unstrukturiert und schwer verständlich zu werden. Perl-Code wird auch oft als Nur-Schreibe-Code bezeichnet. Da finde ich Ruby besser, allerdings ist es aus Python-Seite gesehen nicht unbedingt besonders spannend und neu.
lost_mind hat geschrieben:C++ weil C irgednwie veraltet ist ?
Sprachen veralten nicht. Du kannst das etwas mit Religionen oder Göttern vergleichen, sie veralten auch nicht, sondern verlieren nur Gläubige. Das Judentum wurde durch das Christentum auch nicht als obsolet angesehen ebenso Christentum->Islam, Orthodoxie->Katholizismus->Protestantismus.
Objective-C ist nicht C Version 1.5, C++ heißt eben nicht C Version 2.0, genauso wie C# nicht C Version 3.0 und D nicht C Version 4.0 ist. Das sind alles eigenständige Sprachen, die alle ihre Anhänger haben und Weiterentwickelt werden (C99 ist noch gar nicht so alt, ISO-C++ ebensowenig, von C# gibt es öfter neue Versionen und D ist erst letztens in Version 1.0 rausgekommen).
Übrigens kann man mit C auch objektorientiert programmieren, wenn man unbedingt will - glib
lost_mind hat geschrieben:worin bekommt man schneller den einstig in c oder in c++ ?
Den Einstieg hast du in beiden Sprachen mehr oder weniger genauso schnell - oder langsam. C++ ist aber im Nachhinein umfangreicher.
lost_mind hat geschrieben:ach ja auch ein grund ist weil ich programme schreiben wollte bei der der user dan nicht python instalieren muss dazu haben nicht so viele lust?
Die meisten Linux-Nutzer haben Python bereits installiert, und für Windows-Nutzer kannst du den Interpreter beipacken. Außerdem braucht so weit ich weiß auch Delphi eine Runtime. VB braucht sie auf jeden Fall, und die gibt es für Linux schon mal gar nicht. C und C++haben auch ihre Runtime-Libs, die sind nur meist beim Betriebssystem schon beigepackt.
Zap hat geschrieben:Wenn du da deine ersten Spielereien durch hast und merkst das dir das objektorientierte Programmieren doch irgendwie fehlt, würde ich dann weiter zu C++ gehen und dich der neuen Erweiterungen erfreuen.
Zudem bekommt man dann neue Helferlein wie new() und delete(), welche einem die
zu Beginn seltsam anmutenden Speicherallokierungen mit malloc abnehmen.
Boehm CG funktioniert sowohl mit C als auch C++.
Und für objektorientiertes Programmieren kenne ich angenehmere Sprachen als C++.

Verfasst: Dienstag 10. April 2007, 12:15
von Andy
lost_mind hat geschrieben:
Dennoch kann man mit Python leider keine kleinen EXE Dateien backen
jep ich kenn py2exe aber das ist nicht das wahre besonders wen man kleinen EXE Dateien backen will

Nein, dass nicht, aber Du hast nicht zu Ende gelesen.
Pyinstaller kann kleine .exe-Dateien bauen. IronPython kann´s auch, doch Du solltest hierzu den Wiki-Eintrag noch mal lesen.

Verfasst: Dienstag 10. April 2007, 12:25
von Zap
Leonidas hat geschrieben: Boehm CG funktioniert sowohl mit C als auch C++.
Hehe, aber das nimmt einem doch den ganzen Spass

Ich musste da auch durch
Bis ich mit Python in Berührung kam kannte ich nicht einmal
garbage collecor's und hätte erstmal an die Männer in den orangenen Latzhosen gedacht
Leonidas hat geschrieben:
Und für objektorientiertes Programmieren kenne ich angenehmere Sprachen als C++.

Klar doch, nur wenn man sich gerade eh in der Sprache C austobt kann man so ein paar Sachen aus der C++ Welt noch mitnehmen finde ich.
Verfasst: Dienstag 10. April 2007, 12:28
von lunar
Zap hat geschrieben:Wo der Einstieg leichter ist kann man nicht genau sagen, da C++ eine Erweiterung der Sprache C darstellt.
C++ ist eine eigenständige Sprache und keine C-Erweiterung.
Da man in der unix Welt auch des öfteren an make vorbei kommt lernt man auch bei den ersten kleinen Projekten in C erst einmal was hinter make eigentlich alles steckt und wie man mit einem compiler wie dem gcc zB von Hand arbeitet und später seine eigenen make-projekte erstellt.
In der Unix-Welt nimmt eigentlich kein größeres Projekt nur make. Stattdessen werden auf make aufbauende Build-Systeme wie z.B. die autotools oder cmake verwendet. KDE nur mit make zu Kompilieren wäre selbst dem Sisyphos zu viel Arbeit
Wenn du da deine ersten Spielereien durch hast und merkst das dir das objektorientierte Programmieren doch irgendwie fehlt, würde ich dann weiter zu C++ gehen und dich der neuen Erweiterungen erfreuen.
Zudem bekommt man dann neue Helferlein wie new() und delete(), welche einem die
zu Beginn seltsam anmutenden Speicherallokierungen mit malloc abnehmen.
Frei nach dem Motto: Man kann in jeder Sprache C programmieren. Wen man wirklich C++ lernen will, dann sollte man auch mit C++ anfangen. Viele, die über C zu C++ kommen, schreiben ein furchtbares C/C++-Gemisch, weil sie die aus C erlernten Patterns 1zu1 auf C++ übertragen. Ich habe schon "C++" Code gesehen, bei dem jemand eine selbst geschriebene C-Linked-List mit obskurem Pointer-gecaste verwendet hat, anstatt auf die STL zurückzugreifen. Das ist ein bisschen so wie bei Leute, die von Java zu Python kommen. Da sieht der Python Code auch scheiße aus...
Verfasst: Dienstag 10. April 2007, 12:37
von lunar
Leonidas hat geschrieben:Und für objektorientiertes Programmieren kenne ich angenehmere Sprachen als C++.

Der gute Bjarne hat eben kein Händchen für Sprachdesign...
Verfasst: Dienstag 10. April 2007, 12:50
von jens
Andy hat geschrieben:Nein, dass nicht, aber Du hast nicht zu Ende gelesen.
Pyinstaller kann kleine .exe-Dateien bauen. IronPython kann´s auch
Allerdings braucht man bei IronPython zwingend eine .NET Umgebung. OK, die ist bei Vista direkt dabei, aber bei XP nicht.
In wie fern kann Pyinstaller kleine Dateien erzeugen? Wie klein? Ist es schon ausgereift? Denn ansonsten sollten wir den FAQ Eintrag ändern.
EDIT: Ich sehe gerade ein paar nette Dinge:
Dual packaging mode:
* Single directory: build a directory containing an executable plus all the external binary modules (.dll, .pyd, .so) used by the program.
* Single file: build a single executable file, totally self-contained, which runs without any external dependency.
Über die größe steht allerdings nirgendwo etwas

Nur das auch UPX benutzt wird, somit hört sich das so an, als wenn es auch nichts anderes macht als py2exe, mit anschließedem besserem komprimieren:
http://www.py2exe.org/index.cgi/BetterCompression (siehe Abschnitt "7ZIP and UPX") In dem genannten Beispiel bleiben es aber ca 800KB...
Verfasst: Dienstag 10. April 2007, 13:11
von mawe
lost_mind hat geschrieben:Perl weil ich unix mag und eigentlich nichts schlechtes darüber gehört habe.
Delphi weil ich dies Sprache irgendwie interresant finde ka. habs sie mir noch nicht sehr "nahe" angesehen. Surprised
C++ weil C irgednwie veraltet ist ? auch weil ich mich mit 3D engines beschäftigen wollte.
Perl-Kenntnisse sind nicht schlecht, wenn man sich mit *nix Administration beschäftigt.
@Leonidas, man _kann_ in Perl schönen Code schreiben, der auch angenehm lesbar ist

Wie gesagt, kann.
Zu Delphi kann ich nicht viel sagen.
Wenn du dich mit 3D beschäftigen willst, ist C++ eigentlich eine recht gute Wahl. Es gibt viel Code zum ansehen, und die meisten Tutorials sind auch für C++ geschrieben.
Kurz nachgefragt: Warum bleibst du nicht mal einige Zeit bei Python? Damit kann man nämlich auch
atemberaubende 3D Sachen programmieren

Verfasst: Dienstag 10. April 2007, 13:28
von Andy
jens hat geschrieben:In wie fern kann Pyinstaller kleine Dateien erzeugen? Wie klein? Ist es schon ausgereift? Denn ansonsten sollten wir den FAQ Eintrag ändern.
Über die größe steht allerdings nirgendwo etwas

Nur das auch UPX benutzt wird, somit hört sich das so an, als wenn es auch nichts anderes macht als py2exe, mit anschließedem besserem komprimieren:
http://www.py2exe.org/index.cgi/BetterCompression (siehe Abschnitt "7ZIP and UPX") In dem genannten Beispiel bleiben es aber ca 800KB...
Hmh, ich habe mich nur auf die Aussage deren Website gerichtet: "it builds smaller executables thanks to transparent compression, it is multi-platform (so you can build one-file binaries also under Linux), and use the OS support to load the dynamic libraries, thus ensuring full compatibility. "
Aber ich hab es mir gerade gesaugt und werde es jetzt gleich mal mit´n kleinen Script testen.
Gruss andy
Verfasst: Dienstag 10. April 2007, 13:34
von Zap
lunar hat geschrieben:Zap hat geschrieben:Wo der Einstieg leichter ist kann man nicht genau sagen, da C++ eine Erweiterung der Sprache C darstellt.
C++ ist eine eigenständige Sprache und keine C-Erweiterung.
Vielleicht hat es sich in den Augen vieler mittlerweile dazu gemausert, aber es ist im Grundgedanken eine Erweiterung.
Ich vertraue Wikipedia ja nicht blind, aber
die Beschreibung deckt sich mit dem was ich damals von meinem Prof in Programmentwicklung gelernt habe.
lunar hat geschrieben:In der Unix-Welt nimmt eigentlich kein größeres Projekt nur make. Stattdessen werden auf make aufbauende Build-Systeme wie z.B. die autotools oder cmake verwendet. KDE nur mit make zu Kompilieren wäre selbst dem Sisyphos zu viel Arbeit
Ich habe auch nicht gesagt das man mit make Mamutprojekte auf die beine stellen soll aber man sieht mal was grundlegend dahinter steckt. Man könnte sich auch alternativ mal SConstruct angucken.
lunar hat geschrieben:
Viele, die über C zu C++ kommen, schreiben ein furchtbares C/C++-Gemisch, weil sie die aus C erlernten Patterns 1zu1 auf C++ übertragen. Ich habe schon "C++" Code gesehen,...
Ok, da hast du nicht ganz unrecht.

Verfasst: Dienstag 10. April 2007, 13:39
von EyDu
Wenn es dir momentan nur darum geht, einfach eine neue Sprache zu lernen, um eine weitere zu können, oder um diese später mal sinnvoll verwenden zu können, würde ich momentan Java empfeheln. Ich bin zwar selbst nicht unbedingt eine "Anhänger" dieser Sprache, aber auf mittelfristige Sicht kommt man wohl nicht drum herum, wenn man im Bereich Informatik arbeiten will. Außerdem erschlägt man große Teile von C++ gleich mit.
Soll es eher um das Erlernen neuer Konzepte gehen, wurden glaue ich schon genug Möglichkeiten genannt. Empfehlen würde ich hier besonders Haskell, da man sich im Kopf doch erst mal ganz schön umstellen muss.
Hat eigentlich schon jemand SQL in den Raum geworfen?
Verfasst: Dienstag 10. April 2007, 13:44
von Zap
EyDu hat geschrieben:Hat eigentlich schon jemand SQL in den Raum geworfen?
Um mal richtig pingelig zu sein, das ist keine Programmiersprache sondern eine Datenbanksprache

Verfasst: Dienstag 10. April 2007, 13:47
von Leonidas
mawe hat geschrieben:@Leonidas, man _kann_ in Perl schönen Code schreiben, der auch angenehm lesbar ist

Wie gesagt, kann.
Habe ich gesagt, dass das nicht geht. Sicher geht es, genauso wie mam mit PHP auch richtig guten Code schrieben kann. Ist allerdings leider selten.
Zap hat geschrieben:lunar hat geschrieben:Zap hat geschrieben:Wo der Einstieg leichter ist kann man nicht genau sagen, da C++ eine Erweiterung der Sprache C darstellt.
C++ ist eine eigenständige Sprache und keine C-Erweiterung.
Vielleicht hat es sich in den Augen vieler mittlerweile dazu gemausert, aber es ist im Grundgedanken eine Erweiterung.
Ich vertraue Wikipedia ja nicht blind, aber
die Beschreibung deckt sich mit dem was ich damals von meinem Prof in Programmentwicklung gelernt habe.
Wikipedia sagt aber auch folgendes:
Wikipedia hat geschrieben:Die letzten Änderungen an C fanden im Jahr 1999 statt (ISO/IEC 9899:1999, auch kurz C99 genannt), also nach der Normung von C++, sodass dort eingeflossene Änderungen nicht in C++ berücksichtigt werden konnten.
Hey, ob Fefe was zu C++ geschrieben hat?
Zap hat geschrieben:Ich habe auch nicht gesagt das man mit make Mamutprojekte auf die beine stellen soll aber man sieht mal was grundlegend dahinter steckt. Man könnte sich auch alternativ mal SConstruct angucken.
Oder Jam, AAP oder auch die Tools für andere Sprachen wie Ant oder Rake.
Verfasst: Dienstag 10. April 2007, 13:48
von Andy
Zap hat geschrieben:EyDu hat geschrieben:Hat eigentlich schon jemand SQL in den Raum geworfen?
Um mal richtig pingelig zu sein, das ist keine Programmiersprache sondern eine Datenbanksprache

Ich will auch!!
Deklarative Datenbanksprache für relationale Datenbanken.
*äußerst richtig pingelig bin*

Verfasst: Dienstag 10. April 2007, 13:59
von Leonidas
Andy hat geschrieben:Deklarative Datenbanksprache für relationale Datenbanken.
*äußerst richtig pingelig bin*

Man könnte aber auch die ganze Applikationslogik komplett in die Datenbank verschieben und über Trigger verknüpfen. Mit PL/SQL zum Beispiel. Aber
PostgreSQL kann auch andere Sprachen wie Python embedden. Shellskripte in der Datenbank laufen lassen, das ist ja mal was
(Gut das Diez nicht mitliest. Nein, im Ernst, eigentlich hat er was das betrifft recht.)
Verfasst: Dienstag 10. April 2007, 14:58
von mawe
Leonidas hat geschrieben:Habe ich gesagt, dass das nicht geht.
Nein, hast du nicht. Tut leid, hab deinen Beitran schlecht gelesen.
Verfasst: Dienstag 10. April 2007, 15:09
von EyDu
Zap hat geschrieben:EyDu hat geschrieben:Hat eigentlich schon jemand SQL in den Raum geworfen?
Um mal richtig pingelig zu sein, das ist keine Programmiersprache sondern eine Datenbanksprache

Da kann ich aber locker mithalten: wo hat "lost_mind" (oder ich in meinem Post) denn etwas von einer PROGRAMMIERsprache erwähnt

Verfasst: Dienstag 10. April 2007, 23:35
von Andy
jens hat geschrieben:In wie fern kann Pyinstaller kleine Dateien erzeugen? Wie klein? Ist es schon ausgereift? Denn ansonsten sollten wir den FAQ Eintrag ändern.
Andy hat geschrieben:Hmh, ich habe mich nur auf die Aussage deren Website gerichtet: "it builds smaller executables thanks to transparent compression, it is multi-platform (so you can build one-file binaries also under Linux), and use the OS support to load the dynamic libraries, thus ensuring full compatibility. "
Aber ich hab es mir gerade gesaugt und werde es jetzt gleich mal mit´n kleinen Script testen.
@Jens: Ich habe Dir hier
http://www.python-forum.de/post-64359.html#64359 eine Antwort in einem neuem Thread geschrieben.
Verfasst: Mittwoch 11. April 2007, 06:54
von lost_mind
EyDu hat geschrieben:Zap hat geschrieben:EyDu hat geschrieben:Hat eigentlich schon jemand SQL in den Raum geworfen?
Um mal richtig pingelig zu sein, das ist keine Programmiersprache sondern eine Datenbanksprache

Da kann ich aber locker mithalten: wo hat "lost_mind" (oder ich in meinem Post) denn etwas von einer PROGRAMMIERsprache erwähnt

ups stimmt ja

jep ich meinte mit sprachen programmiersprache
hm ich weis nicht irgendwie tendiere ich immer mehr zu C aber haskel sehe ich mir auch an btw. was ist ein gutes buch für C
@Leonidas Ja ich weis das man meist gerade im oder vom Netz oft am besten lernt und viele triks tipps kennenlernt ich habe auch vor mir nen Netzt zugang zu besorgen aber das dauert noch ein bischen
und zu der eine Frage ich habe ja nicht gesagt das ich mich von python abwende

ganz im gegenteil

ich möchte halt nur mal auch was anderes machen/lernen auch weil ich vieleicht mal mit Programmieren beruflich was machen möchte und mit python arbeiten nicht so viele

aber egal ich sehe mir jetzt mal haskel an
btw. mein erster thread der richtig gut leuft

Verfasst: Mittwoch 11. April 2007, 08:14
von Rebecca
lost_mind hat geschrieben:was ist ein gutes buch für C
Ich habe damals mit
diesem Buch C gelernt. Der aktuelle Nachfolger davon scheint
das hier zu sein. Fuer Umsteiger mit guten Programmiererkenntnissen ist es wohl zu einfach, aber ansonsten kann ich es empfehlen (zumindest die Auflage, die ich hatte). Und fuer den Preis steht echt viel drin, mit guten Erklaerungen und vielen Uebungsaufgaben + Loesungshinweisen.
Verfasst: Mittwoch 11. April 2007, 09:57
von BlackJack
Programmieren in C von Kernighan und Ritchie ist der Klassiker. IMHO ein gutes Buch, sowohl zum lernen als auch als Referenz.