python oder c++, mysql oder textbasiert?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
crazymichel1
User
Beiträge: 7
Registriert: Mittwoch 20. Februar 2008, 15:14

Mittwoch 20. Februar 2008, 18:15

hi!

<-- python noob
beginne gerade ein neues projekt und habe überlegt es in python zu schreiben. insbesondere fasziniert mich die bequeme, moderne syntax, die community und die interessanten frameworks (django etc.).
ins zweifeln bin ich gekommen, als ich mir überlegt habe, dass mein tool, das ich schreiben werde, v.a. auch bei leuten ohne pc-kenntnisse laufen soll ohne groß probleme zu machen.

deshalb jetzt meine fragen:
- python ist ja im gegensatz zu C/C++ auf einen interpreter angewiesen. wie aufwendig ist es denn, diesen in eine installationsroutine mit einzubinden?
- verwalte ich meine daten in einer mysql-datenbank (imho eleganter und habe schon erfahrung) oder textbasiert? der user müsste ja ggf. mysql installieren - was viel zu aufwendig für ihn wäre - , oder gibt es da einen trick?

danke schonmal.
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Mittwoch 20. Februar 2008, 18:25

1. Nicht unmöglich schwierig. Auf CDs und sowas kannst du ja den Intepreter mitliefern und auf deiner Homepage zum herunterladen dazuschreiben...

Die meisten Leute sind klug genug, um Extras zu installieren, also mach dir da mal nicht so einen unendlich großen Kopf.

2. Benutz doch Sqlite, benötigt keine Installation und du kannst trotzdem SQL-Befehle benutzen und sowas.
Benutzeravatar
jens
Moderator
Beiträge: 8482
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Mittwoch 20. Februar 2008, 18:28

Und der Link zu unserer [wiki]FAQ[/wiki] darf auch nicht fehlen ;)

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
crazymichel1
User
Beiträge: 7
Registriert: Mittwoch 20. Februar 2008, 15:14

Mittwoch 20. Februar 2008, 19:35

danke für die faq. das hat frage 1 geklärt.

sqlite, ich weiß nicht ... sind da nicht wieder unterschiede in der syntax? lässt sich mysql vll in sqllite konvertieren (und umgekehrt)? gibt es von mysql vll auch versionen, die nicht installiert werden müssen?
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Mittwoch 20. Februar 2008, 20:09

crazymichel1 hat geschrieben:sqlite, ich weiß nicht
Hallo crazymichel1!

Die Sache ist ganz einfach. Immer dann, wenn du nicht mit mehreren Benutzern/Computern gleichzeitig auf die Datenbank zugreifen/schreiben musst, dann bist du mit SQLite am Besten bedient. Warum? Weil SQLite sauschnell ist und nicht installiert werden muss!

Ich nehme nur dann ein Datenbankmanagementsystem wie z.B. PostgreSQL, wenn ich einen Vorteil davon habe. Z.B. die Benutzerverwaltung, konkurrierende Transaktionen, wenn die Datenmenge einen oder zwei Gigabyte übersteigen wird oder ich evt. mal die Last auf mehrere Geräte aufteilen muss.

mfg
Gerold
:-)

PS: http://www.python-forum.de/topic-6157.html

.
Zuletzt geändert von gerold am Mittwoch 20. Februar 2008, 22:47, insgesamt 1-mal geändert.
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
tux21b
User
Beiträge: 18
Registriert: Mittwoch 15. Februar 2006, 23:20
Wohnort: Linz.at
Kontaktdaten:

Mittwoch 20. Februar 2008, 20:10

MySQL benötigt einen Server, dass ist einfach so. sqlite hingegen kommt mit einer einfachen Datei aus und ist daher ideal für kleinere Programme die eine Datenbank benötigen, aber bei denen Concurrency noch keine Rolle spielt.

Da du auf beide über SQL zugreifen kannst, sollte der Unterschied nicht allzu groß sein und sich leicht konvertieren lassen. Wenn du hingegen ganz DB unabhänging programmieren willst, dann solltest du dir SQLAlchemy anschauen (ist aber womöglich etwas viel für den Anfang). Also nimm am Besten jetzt einmal nur sqlite. Die User werden es dir auch danken, da nicht jeder vorher MySQL installieren und konfigurieren mag und den Datenbank Server hochfahren mag *g*

Gruß
Christoph
[url]http://www.ubuntuusers.de[/url]
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Mittwoch 20. Februar 2008, 20:33

"Installiert" werden muss jedes "Tool" ;)
MySQL ist nun einmal Client-Server basiert und daher sicherlich ohne eigenen Prozess nicht lauffähig. Natürlich macht das Installieren einer DB einigen "Ärger" und nicht mal so nebenbei zu machen.

Guck Dir doch mal SQLite an! Prinzipiell sind alle SQL-Dialekte sher ähnlich und mit relativ wenig Aufwand zu konvertieren. Je weniger man an speziellen Features nutzt, desto besser!

Nebenbei kommt es doch vor allem auch auf die Daten an, die Du speichern willst! Ggf. reicht dann auch eine einfache XML-Datei.
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Mittwoch 20. Februar 2008, 22:32

Also...wenns ums simple Speichern von Datenstrukturen geht, ist man wohl am besten mit Pickle bedient, das ist dafür gemacht und in der Standardbibliothek enthalten ;)
Antworten