C++, Perl oder Delphi

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Benutzeravatar
thorbytes
User
Beiträge: 37
Registriert: Samstag 24. Februar 2007, 17:38
Kontaktdaten:

Freitag 6. April 2007, 15:57

Leonidas hat geschrieben:Also im Fall von phpBB funktioniert es ja nicht - Bugs über Bugs
It's not a bug, it's a feature ;-)

Nein, aber mal im Ernst. Welche Software hat keine Bugs? Und umso mehr Nutzer eine Software hat, desto mehr Bugs fallen auf. Liegt eben in der Natur der Sache.

Aber um die PHP-Diskussion an dieser Stelle mal zu beenden:
Würden mehr Provider eine Python-Unterstützung auf Ihren Servern bieten, würde ich es ernsthaft in Erwägung ziehen für Online-Projekte ebenfalls Python zu verwenden.

Und um zum ursprünglichen Thema zurück zu kehren:
C++ ist nie verkehrt zu lernen, da es hier auf allen Betriebssystemen entsprechende Frameworks gibt. Delphi ist leider sehr plattformabhängig und Perl schon ziemlich veraltet (da bleibt man dann lieber komplett bei Python).

Wer Erweiterungen für Programmiersprachen schreiben will, ist auf jeden Fall mit C gut bedient. Selbiges gilt natürlich auch für den Linux-Kernel.

Ob JAVA eine gute Wahl ist, da bin ich etwas geteilter Meinung. Ist zwar auf der einen Seite plattformunabhängig, aber auf der anderen nicht grad Ressourcen schonend. Obwohl ich Eclipse mit PyDev verwende (ist aber ein anderes Thema). Ansonsten bin ich allerdings von JAVA wieder total weg gekommen.

Ob man Lisp, Scheme oder dgl. lernen möchte hängt wohl eher davon ab, was man eigentlich machen möchte. Lisp könnte ich mir persönlich nur in Verbindung mit Emacs vorstellen. Diesen also zu erweitern und meinen Bedürfnissen anzupassen.

Vielleicht ist eine andere Überlegung, bevor man eine neue Programmiersprache lernt, ob man sich nicht eher mal mit Seitenbeschreibungssprachen wie HTML, CSS und XML beschäftigt.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Freitag 6. April 2007, 16:17

thorbytes hat geschrieben:Nein, aber mal im Ernst. Welche Software hat keine Bugs? Und umso mehr Nutzer eine Software hat, desto mehr Bugs fallen auf. Liegt eben in der Natur der Sache.
Klar, aber phpBB ist noch dazu schlecht geschrieben und PHP ist eine Programmiersprache die zum schlampen verleitet. Zum Beispiel SQL-Injections: Die Python DB-API 2 sieht SQL-Escaping vor und das wird auch oft genutzt. In Python Webframeworks ist auch die Trennung von Templates und Logik stärker betont. Klar, kann man auch in PHP machen - ist aber nicht die Regel. Wenn ich etwas in PHP machen solle, würde ich zuerst mal ein brauchbares Framework suchen, mit welchem man etwas struktur in die Programmierung reinbringen könnte.
thorbytes hat geschrieben:Würden mehr Provider eine Python-Unterstützung auf Ihren Servern bieten, würde ich es ernsthaft in Erwägung ziehen für Online-Projekte ebenfalls Python zu verwenden.
Da mir eine generelle Python-Unterstützung in aller Regel sowieso nicht passen würde (nein, CGI ist nicht genug) verwende ich meinen eigenen Server, habe es bisher noch nicht bereut.
thorbytes hat geschrieben:Ob JAVA eine gute Wahl ist, da bin ich etwas geteilter Meinung. Ist zwar auf der einen Seite plattformunabhängig, aber auf der anderen nicht grad Ressourcen schonend.
Serverseitig soll Java an sich sehr gut performen, und wenn man von der langen Startup-Zeit mal absieht läuft Java vermutlich schneller als CPython.
thorbytes hat geschrieben:Ob man Lisp, Scheme oder dgl. lernen möchte hängt wohl eher davon ab, was man eigentlich machen möchte. Lisp könnte ich mir persönlich nur in Verbindung mit Emacs vorstellen. Diesen also zu erweitern und meinen Bedürfnissen anzupassen.
Elisp ist zumindest laut dem Autor des "Practical Common Lisp"-Buches ein eher alter und unbequemer Dialekt. Habe ich schon erwähnt, dass es Common Lisp Webframeworks gibt? :D
thorbytes hat geschrieben:Vielleicht ist eine andere Überlegung, bevor man eine neue Programmiersprache lernt, ob man sich nicht eher mal mit Seitenbeschreibungssprachen wie HTML, CSS und XML beschäftigt.
Hat hier jemand schon JavaScript vorgeschlagen?
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
thorbytes
User
Beiträge: 37
Registriert: Samstag 24. Februar 2007, 17:38
Kontaktdaten:

Freitag 6. April 2007, 16:47

Leonidas hat geschrieben:In Python Webframeworks ist auch die Trennung von Templates und Logik stärker betont.
Gefällt mir gut.
Leonidas hat geschrieben:Klar, kann man auch in PHP machen - ist aber nicht die Regel.
Nur mit externen Abstraktions-Klassen. PEAR bringt da zwar einiges mit, ich verwende da (auch für Datenbank-Zugriff) immer externe Klassen.
Leonidas hat geschrieben:Serverseitig soll Java an sich sehr gut performen
Ja, mit Dual-Prozessor und 4 GB RAM und abgesehen von den Speicher-Lecks die ständig auftreten.
Leonidas hat geschrieben:Hat hier jemand schon JavaScript vorgeschlagen?
Na, da wird's aber auch Zeit ;-)
lunar

Freitag 6. April 2007, 16:56

thorbytes hat geschrieben:
Leonidas hat geschrieben:Serverseitig soll Java an sich sehr gut performen
Ja, mit Dual-Prozessor und 4 GB RAM und abgesehen von den Speicher-Lecks die ständig auftreten.
Die Systeme, die Java in großem Maßstab einsetzen, sind in der Regel noch etwas dicker bestückt. Java eignet sich nämlich ziemlich gut für Websites, die wirklich stark besucht sind, und die mit tausenden Zugriffen pro Sekunde zurechtkommen müssen. Das liegt auch daran, dass die Server-VM von Sun extrem gut optimiert. Das dabei viel Arbeitsspeicher verbraucht wird, ist in großen Szenarien eher nebensächlich, da für Caching von Datenbank-Verbindungen und ähnlichem sowieso viel Speicher benötigt wird. Ob bei 4 oder 8 GB nun 100 MB mehr oder weniger verbraucht werden, ist dann auch egal.
Benutzeravatar
thorbytes
User
Beiträge: 37
Registriert: Samstag 24. Februar 2007, 17:38
Kontaktdaten:

Freitag 6. April 2007, 17:50

lunar hat geschrieben:Java eignet sich nämlich ziemlich gut für Websites, die wirklich stark besucht sind, und die mit tausenden Zugriffen pro Sekunde zurechtkommen müssen.
Und welche Server-Konfiguration verwendet man da am Besten?

Ich betreue momentan zwei Server mit o.g. Hardware, Apache Webserver und Apache Tomcat und ich finde das ehrlich gesagt nicht so performant :(
lunar

Freitag 6. April 2007, 18:14

thorbytes hat geschrieben:
lunar hat geschrieben:Java eignet sich nämlich ziemlich gut für Websites, die wirklich stark besucht sind, und die mit tausenden Zugriffen pro Sekunde zurechtkommen müssen.
Und welche Server-Konfiguration verwendet man da am Besten?

Ich betreue momentan zwei Server mit o.g. Hardware, Apache Webserver und Apache Tomcat und ich finde das ehrlich gesagt nicht so performant :(
Keine Ahnung ;)
In einem kompletten System kann viel schief gehen. Der Server kann kaputt konfiguriert sein, es kann aber auch bei sekundären Systemen (wie z.B. Datenbankservern) hapern, oder vielleicht ist das laufende Programm auch einfach nur schlecht geschrieben.
Per "Ferndiagnose" kann man dir da wenig helfen, zumal über die Art und den Zweck deines Systems sowie des darauf laufenden Programms ja nichts bekannt ist.
lost_mind
User
Beiträge: 82
Registriert: Dienstag 13. Februar 2007, 11:55

Dienstag 10. April 2007, 11:38

schon 3 seiten und ich hab noch nichtmal geantwortet :oops: (naja ich hab halt kein netz zuhause :()
also 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. :o
C++ weil C irgednwie veraltet ist ? auch weil ich mich mit 3D engines beschäftigen wollte.
und jep ich beschäftige mich noch nicht so lange mit dem Programmieren :?
erhlich gesagt nach den Posts bin ich mir über gar keine Sprache mehr sicher die ich lernen will :?
worin bekommt man schneller den einstig in c oder in c++ ?
also jetzt ist die diskussion für alle sprachen frei :D 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?
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Dienstag 10. April 2007, 11:55

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?
Ja, das hört man öfters. Ist aber nicht so das Problem, siehe: [wiki]FAQ#IchMchteMeinScriptInEineAusfhrbareDateiPackenUmEsEinfacherVerteilenZuKnnen[/wiki]

Dennoch kann man mit Python leider keine kleinen EXE Dateien backen :?

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
lost_mind
User
Beiträge: 82
Registriert: Dienstag 13. Februar 2007, 11:55

Dienstag 10. April 2007, 12:04

jens hat geschrieben:
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?
Ja, das hört man öfters. Ist aber nicht so das Problem, siehe: [wiki]FAQ#IchMchteMeinScriptInEineAusfhrbareDateiPackenUmEsEinfacherVerteilenZuKnnen[/wiki]

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 :cry:
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

Dienstag 10. April 2007, 12:07

Wo der Einstieg leichter ist kann man nicht genau sagen, da C++ eine Erweiterung der Sprache C darstellt.
Wenn du erstmal Fuss fassen willst würde ich dir raten dir erst einmal C anzugucken.
da kannst du dich dann ersteinmal mit deklarationen, pointern und Speicherzugriffsverletzungen rumschlagen :)
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.

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.
Alles kleine Schritte die einen meiner Meinung nach aber mehr Verständnis für die interne Adressierung und Allokierung von Speicher gibt.
Dinge mit denen man bei Python nicht in Kontakt kommt.
Zuletzt geändert von Zap am Dienstag 10. April 2007, 12:09, insgesamt 1-mal geändert.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dienstag 10. April 2007, 12:09

lost_mind hat geschrieben:schon 3 seiten und ich hab noch nichtmal geantwortet :oops: (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++. ;)
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Andy
User
Beiträge: 196
Registriert: Sonntag 1. Januar 2006, 20:12
Wohnort: aus dem hohen Norden....

Dienstag 10. April 2007, 12:15

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 :cry:
Nein, dass nicht, aber Du hast nicht zu Ende gelesen. :roll:
Pyinstaller kann kleine .exe-Dateien bauen. IronPython kann´s auch, doch Du solltest hierzu den Wiki-Eintrag noch mal lesen. :wink:
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

Dienstag 10. April 2007, 12:25

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 :twisted:
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.
lunar

Dienstag 10. April 2007, 12:28

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...
lunar

Dienstag 10. April 2007, 12:37

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...
Antworten