C++, Perl oder Delphi

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
lunar

Beitragvon lunar » Donnerstag 5. April 2007, 18:39

thorbytes hat geschrieben:Also ich würde auch zu C++ raten, da sich die meisten objektorientierten Sprachen davon ableiten lassen.


Das glaube ich so erstmal nicht! Java und C# sind vielleicht teilweise davon abgeleitet, aber die Welt ist ja nicht in Java geschrieben...

Ich wäre neugierig darauf, wie du Python, Ruby oder smalltalk von C++ ableitest. Die Schnittmenge dieser Sprachen mit C++ ist nämlich eher klein bis nicht vorhanden (mal abgesehen davon, dass alle objektorientiert sind).

Wenn man allerdings dynamische Webseiten programmieren will, so würde ich zu PHP raten.


Ich würde dir zu Python raten, weil PHP nicht gerade für Sicherheit und Qualität berühmt ist. Für Python existieren dagegen eine Menge hervorragender Frameworks für Webprogrammierung.

Ansonsten schließe ich mich dem Tenor an und frage den OP, warum ausgerechnet C++, Dephi und Perl. Alle drei Sprachen sind relativ furchtbar, da ihre Syntax schwierig ist (bei C++ und Delphi auch noch umständlich) und ihre Portabilität auf andere Plattformen nur bedingt gegeben ist. Außerdem ist Perl für große Projekte nicht wirklich geeignet.

Ich halte mit BlackJack: Wenn du wirklich etwas in dieser Richtung machen willst, wäre C noch das geeignetste, weil es eine relativ angenehme Syntax hat (wenn man mal die Pointer verstanden hat) und weit verbreitet ist.
Empfehlen würde ich dir aber was "Exotisches" wie Haskell oder Lisp. Da lernt man mehr... und sie sind wesentlich angenehmer zu programmieren.
Zuletzt geändert von lunar am Freitag 6. April 2007, 12:30, insgesamt 1-mal geändert.
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Donnerstag 5. April 2007, 18:40

Dann schau dir mal django an ;) Siehe auch: [wiki]Web Frameworks[/wiki]

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
thorbytes
User
Beiträge: 37
Registriert: Samstag 24. Februar 2007, 17:38
Kontaktdaten:

Beitragvon thorbytes » Donnerstag 5. April 2007, 18:46

EnTeQuAk hat geschrieben:mit dem unterschied, das ich auch so schon Webapplicationen in Python schreibe. zZ nichts großes (mit ausnahme eines eigenen extrem kleinen CMS) aber es mcht furchtbaren Spaß.

Ist zwar jetzt ein wenig Offtopic, aber ich schreibe momentan an einem Client für http://musicbrainz.org
Sollte zwar ursprünglich ein Client für freeDB werden, welchen ich mit C++ und wxWidgets angefangen hatte.

Zwischenzeitlich stand hier allerdings die Zukunft von freeDB in den Sternen. Deswegen hab ich mich komplett neu orientiert und hab dies mit wxpython auch nicht bereut.
Benutzeravatar
thorbytes
User
Beiträge: 37
Registriert: Samstag 24. Februar 2007, 17:38
Kontaktdaten:

Beitragvon thorbytes » Donnerstag 5. April 2007, 19:00

lunar hat geschrieben:Ich wäre neugierig darauf, wie du Python, Ruby oder smalltalk von C++ ableitest. Die Schnittmenge dieser Sprachen mit C++ ist nämlich eher klein bis nicht vorhanden (mal abgesehen davon, dass alle objektorientiert sind).

Da hast Du sicherlich recht. Dennoch konnte ich mich bisher in alle Programmiersprachen mit meinem abgeschlossenen C/C++ Fernstudium (nein, ich bin kein Angeber) in alle Programmiersprachen ziemlich schnell einarbeiten.

Wobei eben die "neueren" dieser Sprachen zu einem großen Teil sehr viel angenehmer in der Handhabung sind.

lunar hat geschrieben:Ich würde dir zu Python raten, weil PHP nicht gerade für Sicherheit und Qualität berühmt ist.

Liegt aber auch sicherlich an seiner Verbreitung.

lunar hat geschrieben:Für Python existieren dagegen eine Menge hervorragender Frameworks für Webprogrammierung.

Für PHP zwar auch (kenn ich halt momentan am Besten), aber wie gesagt gefällt mir Python immer besser.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Donnerstag 5. April 2007, 19:05

thorbytes hat geschrieben:
lunar hat geschrieben:Ich wäre neugierig darauf, wie du Python, Ruby oder smalltalk von C++ ableitest. Die Schnittmenge dieser Sprachen mit C++ ist nämlich eher klein bis nicht vorhanden (mal abgesehen davon, dass alle objektorientiert sind).

Da hast Du sicherlich recht. Dennoch konnte ich mich bisher in alle Programmiersprachen mit meinem abgeschlossenen C/C++ Fernstudium (nein, ich bin kein Angeber) in alle Programmiersprachen ziemlich schnell einarbeiten.

Na dann nimm dir Lisp und danach Haskell vor. Ich meine, in eine neue imperative Sprache einarbeiten feht vergleichsweise einfach, aber ein Problem in the-Lisp-Way zu lösen ist schon anspruchsvoller.

thorbytes hat geschrieben:
lunar hat geschrieben:Ich würde dir zu Python raten, weil PHP nicht gerade für Sicherheit und Qualität berühmt ist.

Liegt aber auch sicherlich an seiner Verbreitung.

Auch, aber nicht nur. Insgesammt scheint mir CPython von der Codequalität besser zu sein. Und es wurden noch keine Leute aus dem Security-Team vergrault.

Komisch, obwohl ich C++-Bücher im Schrank habe: ich würde wenn eine Mainstream-Sprache lernen, dann C. Damit bin ich ebenso auf lunars und BlackJacks Seite.

Wenn man aber Spaß an der Sache hat und nicht unbedingt auf etwas Produktives aus ist, dann sind Lisp-Dialekte, Haskell oder OCaml sicher auch eine Erwägung wert.

Edit: Fefes Blog ist soweit ich weiß in C geschrieben und benutzt LDAP als Storage ;)
Edit: Rechtschreibfehler.
Zuletzt geändert von Leonidas am Donnerstag 5. April 2007, 20:37, insgesamt 1-mal geändert.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
EnTeQuAk
User
Beiträge: 986
Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:

Beitragvon EnTeQuAk » Donnerstag 5. April 2007, 19:17

Jomisch, obwohl ich C++-Bücher im Schramk habe: ich würde wenn eine Mainstream-Sprache lernen, dann C. Damit bin ich ebenso auf lunars und BlackJacks Seite.


Mich würden nur mal die Argumente interessieren.

Ich persönlich lerne nebenbei noch C++, da wir es in ser Schule benutzen. Und wenn Programieren schon mein Hobby ist, muss ich mich nicht bloß stellen ;) Und ich mag es, dem Lehrer voraus zu sein (wir ham so nen ganz lustigen, der irgentwie keine Ahnung hat, was er macht ;) )

MfG EnTeQuAk
Benutzeravatar
thorbytes
User
Beiträge: 37
Registriert: Samstag 24. Februar 2007, 17:38
Kontaktdaten:

Beitragvon thorbytes » Donnerstag 5. April 2007, 19:46

Leonidas hat geschrieben:aber ein Problem in the-Lisp-Way zu lösen ist schon anspruchsvoller.

Dafür meine Hochachtung. Vor allem schon wegen der Integration in Emacs!

Leonidas hat geschrieben:Und es wurden noch keine Leute aus dem Security-Team vergrault.

Stimmt! Ist leider mittlerweile sehr kommerziell und damit auch sehr politisch geworden (im Gegensatz zu Python).

EnTeQuAk hat geschrieben:Und ich mag es, dem Lehrer voraus zu sein

Wer (wie wir hier) Autoditakt ist, brauch auch keinen Lehrer. Das brauchen nur welche, die sich gefährliches Randwissen aneignen :)
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Donnerstag 5. April 2007, 20:45

EnTeQuAk hat geschrieben:Mich würden nur mal die Argumente interessieren.

Einfacher portierbar, läuft erst recht überall, direkter Zugriff auf GTK+ ( ;) ), schlanker. Viele FOSS Projekte sind in C geschrieben, weniger in C++ (hier fällt mir beispeilsweise KDE ein, was ja auch nicht klein ist). Für anspruchsvolle Sachen kann man ja immer noch C mit Python verbinden.

Ich habe in einem Java-Wahlkurs mit C++ gegenprogrammiert, das war witzig, aber da waren auch nur ganz Grundlegende Sachen. Weiter sind wir nicht gekommen, wir haben am Ende immer ein IRC-Quiz gemacht.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
XT@ngel
User
Beiträge: 256
Registriert: Dienstag 6. August 2002, 14:36
Kontaktdaten:

Beitragvon XT@ngel » Donnerstag 5. April 2007, 23:10

Für mich persönlich muss ich sagen, dass ich mit C++ nie so richtig warm geworden bin.
Ich hab hier "Die C++-Programmiersprache" von Addison-Wesley rumstehen. Hat sich wirklich gelohnt, denn "rumstehen" tut das fette Buch jetzt schon min 5 Jahre :lol:

Ich hab mich grad total in mono und C# verliebt :oops: da IronPyton einfach schlecht dokumentiert ist.
Ansonsten sind die drei sprachen die hier zur Auswahl stehen, nicht so der bringer, dann lieber VB.Net oder Ruby ...
Und haut nicht immer auf PHP ein, ich bastle damit schon seit Version 3 rumund finds immer noch besser als jedes Python Framework...

MfG
Andreas
BlackJack

Beitragvon BlackJack » Donnerstag 5. April 2007, 23:34

Es gibt aber Leute, die wollen programmieren und nicht nur rumbasteln und dafür eignet sich PHP dann nicht so gut. :P
Benutzeravatar
mq
User
Beiträge: 124
Registriert: Samstag 1. Januar 2005, 19:14

Beitragvon mq » Freitag 6. April 2007, 01:39

thorbytes hat geschrieben:Dennoch konnte ich mich bisher in alle Programmiersprachen mit meinem abgeschlossenen C/C++ Fernstudium (nein, ich bin kein Angeber) in alle Programmiersprachen ziemlich schnell einarbeiten.
Es gibt einen Unterschied zwischen "in einer Sprache programmieren koennen" und "eine Sprache (inkl. Paradigmen etc.) beherrschen". Wenn z.B. ein Java-Programmierer Python programmiert, kann man das recht oft noch am Code erkennen (funktioniert auch mit anderen Sprachen, demletzt hab ich z.B. Ruby-Code gesehen, der ziemlich eindeutig von einem C++-Programmierer kam).

Ich persoenlich kann weder C++ noch Perl noch Delphi, ich hab alle mal angeguckt und sie haben mir nicht gefallen. Meine "Zweitsprache" (nach Python) ist C. Eine nette, kleine, schlanke Sprache, deren groesster Nachteil darin liegt, dass man fuer so ziemlich alles non-Standard-Libs braucht. Ich benutze C aber hauptsaechlich, um kleinere Sachen zu schreiben, wo das nicht so sehr ins Gewicht faellt.
C++ hingegen setzt einen ganzen Haufen Features drauf, das blaeht die kleine, schlanke Sprache C zu einem riesigen Monster auf (nebenbei ist C++ um Faktor 4 langsamer als C). Das macht mir die Sprache schonmal unsympathisch.
Ausserdem ist C++ darauf ausgelegt, groessere Systeme mit Objektorientierung zu bauen, dafuer benutze ich persoenlich aber deutlich lieber Python (schon allein, weil Pythons OOP deutlich mehr Features bietet und die Sprache sich (mMn) dadurch, dass sie higher level ist, einfach besser zum Aufbau von groesseren Systemen eignet).

Wenn ich mal Zeit haette, mir noch eine Sprache ausfuehrlich anzugucken, waere das entweder Smalltalk oder eine funktionale Sprache (z.B. Lisp).

PHP hab ich auch mal gemacht, aber mit der Zeit hat's mir einfach nicht mehr gefallen. Die Sprache und insbesondere die Library sind einfach ein riesiger, zusammengeworfener, inkonsistener Moloch, der sich primaer fuer "mal eben schnell was hinrotzen" eignet, aber nicht so sehr zum Aufbau groesserer Systeme.
lunar

Beitragvon lunar » Freitag 6. April 2007, 12:46

lumax hat geschrieben:
thorbytes hat geschrieben:Dennoch konnte ich mich bisher in alle Programmiersprachen mit meinem abgeschlossenen C/C++ Fernstudium (nein, ich bin kein Angeber) in alle Programmiersprachen ziemlich schnell einarbeiten.
Es gibt einen Unterschied zwischen "in einer Sprache programmieren koennen" und "eine Sprache (inkl. Paradigmen etc.) beherrschen". Wenn z.B. ein Java-Programmierer Python programmiert, kann man das recht oft noch am Code erkennen (funktioniert auch mit anderen Sprachen, demletzt hab ich z.B. Ruby-Code gesehen, der ziemlich eindeutig von einem C++-Programmierer kam).

Full ack. Ich sehe das immer noch an mir selbst ;) Wenn ich mir so die Snippets anschaue, dich ich in meiner Anfangszeit mit Python geschrieben habe, dann sehe ich deutlich meine Ursprünge: C# unter Windows ;) Mittlerweile schäme ich mich für diesen Code... Glücklicherweise habe ich ihn nie veröffentlicht ;)

nebenbei ist C++ um Faktor 4 langsamer als C.

Das glaube ich so pauschal erstmal nicht ;) C hat wenig Sprach-Elemente und ist deswegen relativ konstant, was die Geschwindigkeit der Sprache angeht (ohne externe Bibliotheken zu betrachten): Dem Programmierer sind eben nicht so viele verschiedene Wege zum Erreichen eines Ziels gegeben.
Unter C++ hängt es jedoch starkt vom Programmierstil ab, wie schnell ein Programm ist. Wenn man für alles objekt-orientiertes Design ansetzt, dann ist C++ abhängig von der Implementierung relativ langsam. Man kann mit C++ allerdings auch funktional schreiben und nur neue C++-Operatoren einsetzen, oder auf Stream-IO zurückgreifen. Dann ist C++ nicht wesentlich langsamer als C.
Bei Einsatz externer Bibliotheken ist das sowieso alles hinfällig. Beispiel Threading: Wer sich auf C und Posix-Threads verlässt, ist sicherlich nur wenig performant, weil Posix-Threads kompliziert und fehleranfällig zu programmieren sind. C++ mit hoch-optimierten Bibliotheken wie den Intel Threading Blocks einsetzt (und im Optimalfall auch noch mit dem icc kompiliert), erhält allerdings extrem schnellen Code.

Ausserdem ist C++ darauf ausgelegt, groessere Systeme mit Objektorientierung zu bauen

Mmmh, was soll das jetzt sagen? Das C++ nur für große Systeme geeignet ist? Das C für große Systeme nicht geeignet ist?
Das ist alles viel zu pauschal. C eignet sich ebenso wie C++ für große System. C++ eignet sich ebenso wie C für kleine Dinge. Es hängt alles davon ab, wie man C++ einsetzt. Aufgrund der enorm umfangreichen Syntax kann man mit C++ so ziemlich jeden Programmierstil umsetzen. Man kann C++ wie C, aber auch wie C# oder Java einsetzen.
Generell bezweifele ich aber die Eignung von C++ für große Projekte, weil man - sofern man nicht extrem logisch, durchdacht und diszipliniert vorgeht - irgendwann über der komplexen C++-Syntax das Ziel aus den Augen verliert ;)

Die Sprache und insbesondere die Library sind einfach ein riesiger, zusammengeworfener, inkonsistener Moloch, der sich primaer fuer "mal eben schnell was hinrotzen" eignet, aber nicht so sehr zum Aufbau groesserer Systeme.

Das ist die beste und zutreffendeste Beschreibung, die ich je zum Thema PHP gehört habe! Das ist mein voller Ernst!
Benutzeravatar
mq
User
Beiträge: 124
Registriert: Samstag 1. Januar 2005, 19:14

Beitragvon mq » Freitag 6. April 2007, 13:46

Naja, okay, ich war vllt. etwas zu pauschal, was meine Kritik an C++ angeht. Klar haengt die Geschwindigkeit vom Programmierstil und den Libs ab, aber ich meine, Faktor 4 war die Faustregel.
Und ja, C eignet sich auch zum Aufbau groesserer Systeme (sieht man ja schon an diversen in C geschriebenen Sachen (Linux, Gnome, Python z.B.)), genauso wie man mit C++ kleinere Sachen bauen kann. Ich denke aber, dass bei C++ der Fokus etwas mehr darauf liegt, groessere Sachen zu bauen, wobei das vllt. auch nur meine persoenliche Einschaetzung ist (und wohl auch damit zusammenhaengt, dass C++ (zumindest im Vergleich zu C) ein ziemliches Feature-Monster ist). Bei kleinen Sachen sehe ich keine Vorteile gegenueber C, fuer groessere Sachen benutze ich halt Python. Naja, jedem das Seine.
Benutzeravatar
thorbytes
User
Beiträge: 37
Registriert: Samstag 24. Februar 2007, 17:38
Kontaktdaten:

Beitragvon thorbytes » Freitag 6. April 2007, 14:07

lunar hat geschrieben:
Die Sprache und insbesondere die Library sind einfach ein riesiger, zusammengeworfener, inkonsistener Moloch, der sich primaer fuer "mal eben schnell was hinrotzen" eignet, aber nicht so sehr zum Aufbau groesserer Systeme.

Das ist die beste und zutreffendeste Beschreibung, die ich je zum Thema PHP gehört habe! Das ist mein voller Ernst!

Dann frage ich mich allerdings wie es dann funktionieren kann, dass "größere Systeme" wie z.B. phpBB, XOOPS oder auch die Plattform für Wikipedia (MediaWiki) in PHP geschrieben sind und es hunderte von Zusatzmodulen dazu gibt :?:
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Freitag 6. April 2007, 14:32

thorbytes hat geschrieben:Dann frage ich mich allerdings wie es dann funktionieren kann, dass "größere Systeme" wie z.B. phpBB, XOOPS oder auch die Plattform für Wikipedia (MediaWiki) in PHP geschrieben sind und es hunderte von Zusatzmodulen dazu gibt :?:

Also im Fall von phpBB funktioniert es ja nicht - Bugs über Bugs, wird schon seit Jahren geflikt, ebenso Joomla und Wordpress. Und Mediawiki skaliert einfach nicht. Wikipedia ist erst nutzbar geworden, nachdem sie einen Hardwareregen darüber ausgeschüttet haben. Wikipedia besteht inzwischen wohl aus mehr Squids als aus Webservern.
My god, it's full of CARs! | Leonidasvoice vs Modvoice

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder