# Welche Programmiersprache für kleine Datenbankanwendung



## jensner (27. März 2008)

Hallo Leute,

ich stehe im Moment vor der Frage welche Programmiersprache ich mir aneignen soll.
Bis dato habe ich mich bereits längere Zeit mit PHP und MySQL herumgeschlagen 
aber ich möchte mich auch gerne mal dem "echten" Programmieren zuwenden.

_Ich habe mir selbstverständlich auch schon die diversen Beiträge durchgelesen in denen sich dann 
auf eine, meiner Meinung nach, zu allgemeinen Fragen
wieder zwei Leute zerfetzen. Leider konnte ich hier nicht wirklich verwertbares finden._

Da ich immer auch ein konkretes Ziel brauche, habe ich mir als erstes Thema
ein Inventarisierungsprogramm für unsere IT vorgenommen.
_Im Übrigen wurde schon mehrfach behauptet, dass ein konkretes
Projekt beim Erlernen zweitrangig sei, dies kann ich nicht bestätigen.
Mit blödsinnigem Coden verliert man sehr schnell die Lust an der Sache._
Also einfach nur Formulare mit Feldern die in eine DB schreiben.
Das sollte eigentlich nicht so kompliziert sein.

Nachdem ich mir vor ein paar Tagen Visual Basic 2008 Standard zugelegt habe,
sollte es wohl eher eine in diesem Paket verfügbare werden...
Nur weiß ich leider nicht ob VB.NET oder C# oder C++?

Im Übrigen soll dies nur der Einstieg sein. Später würde ich z.B. gerne auch mal
einen pers. Terminplaner mit Zeitgrafik angehen... (schwirrt mir nur so im Kopf herum)

Vielen Dank schon mal
Gruß Jens


----------



## CSANecromancer (27. März 2008)

Na dann mal mein Senf:

PHP ist eigentlich schon eine "richtige" Programmiersprache, vorausgesetzt es wird vernünftig verwendet. Und wenn du schon mit PHP und MySQL gearbeitet hast, warum dann nicht auch damit weiter machen? Aber gut, wenn du wechseln willst, dann betrachte ich mir mal den Rahmen:

Die Knackpunkte sind wohl Datenbank, Portabilität, Sprache und Framework.

Wenn du schon mit MySQL gearbeitet hast, dann spricht ja nichts dagegen, das auch weiter zu verwenden. Eine einfache DB-Anwendung mit ein paar Formularen und Berichten liesse sich sicher auch schnell in Access zurecht basteln, aber selbiges geht auch mit MySQL und ich persönlich bin nicht so der Fan von Access. Ist halt alles eine Frage des Geschmacks. Allerdings böte sich als Alternative auch noch Oracle XE an, mit dem ich hier sehr gute Erfahrungen gemacht habe. Ich will dir da gar nicht groß drein reden, sondern nur evtl. Alternativen aufzeigen.

Wenn deine Anwendung nicht nur unter Windows sondern auch Linux laufen soll, dann kommst du sprachlich wohl nur schwer um PHP, Java oder C++ herum. Wenn dir das jedoch egal ist (wovon ich nach deiner Erwähnung von Visual Basic schon beinahe ausgehe), dann kannst du diese Gedanken natürlich vergessen.

Was die Frameworks angeht, so habe ich bislang am meisten mit der MFC, der VCL (Borland) und dem .net framework gearbeitet. Also rein auf der MFC würde ich nur noch was entwickeln, wenn es partout nicht anders geht. Ansonsten halte ich .net derzeit für einen ziemlich grossen Renner (was allerdings nicht mit meiner persönlichen Meinung zu diesem Framework zu tun hat) von daher wäre bei mir .net natürlich die bevorzugte Wahl, auch weil dann z.B. die Portierung der Software von Windows 2k/XP nach Vista deutlich leichter fällt (Stichwort managed code). Wenn ich die vollkommen freie Wahl habe, ziehe ich jedoch immer die VCL von Borland den Microsoft Frameworksvor, weil ich diese einfach am bequemsten finde, auch wenn .net in Punkto Komfort schon sehr nahe an die VCL herankommt.

Was nun die Sprache angeht, so sollten die meisten fähig sein, Datenbanken verschiedenster Art und mit den entsprechenden Frameworks anzusteuern. Visual Basic ist schon recht nett, aber wenn du dich in etwas Neues einarbeiten willst und dank PHP Programmiererfahrung hast, dann wird Visual Basic evtl. nicht das richtige für dich sein. Ich denke, dass du da mit C# am Besten bedient sein wirst. Das ist ein Mittelweg zwischen Java und C++ von der Syntax her und baut voll auf dem .net Framework auf. Reines C++ ist meiner Meinung nach nicht zu unterschätzen und stellt den Neuling vor einige heftige Probleme (die lieben Pointer...). Wenn du keinerlei Zeitdruck hast - klar, dann kann dein Projekt mit C++ interessant werden. Aber wenn du in absehbarer Zukunft auch mit dem Projekt fertig werden willst, dann würde ich echt empfehlen, erst etwas mehr Erfahrung in C# zu sammeln und dann ggf. auf C++ umzusatteln.

Als Alternative seien aber noch Delphi und Java genannt, mit denen du das Projekt auch umsetzen könntest. Es kommt halt wirklich auch zu einem nicht geringen Teil auf deinen eigenen Geschmack und deine Motivation an.

Und keine Sorge: In irgendwelche "Glaubenskriege" lasse ich mich nicht reinziehen. Ich bevorzuge für meine Arbeiten meine Werkzeuge und ein anderer eben seine. Aber wie es immer heisst: "Der Meister staunt und kann's ned glauben, man kann auch mit 'nem Hammer schrauben".  Insofern soll jeder mit dem glücklich werden, was er benutzt.


----------



## jensner (27. März 2008)

@CSANecromancer

Vielen Dank für Deine Ausführungen.
Bzgl. PHP habe ich dies immer nur in Verbindung mit Websites und 
Web-Formularen verwendet. 
Bei PHP hat mich immer schon gestört, das dies eine reine Server-Sprache ist
und Clientseitig nur sehr beschränkte Möglichkeiten bestehen.
Ich möchte auch Client-Anwendungen programmieren die
ohne großartige Serverinstallation laufen.

Grundsätzlich würde ich in Richtung .NET tendieren aber
wie gesagt würde ich mir aus der VS-Kollektion gerne die Sprache 
aneignen wollen auf die ich dann auch aufbauen kann um
evtl. auch mal komplexere Anwendungen zu programmieren.

Gruß Jens


----------



## zeroize (28. März 2008)

Hallo jensner,
wenn du schon eine Scriptsprache wie z.B. php kennst, kann ich dir wärmstens Python empfehlen. Ebenfalls eine Scriptsprache, aber eben nicht wie php rein auf Webapp getrimmt. Du kannst plattformunabhängig grafische Oberflächen basteln, es ist komplett objektorientiert und auch für alle möglichen Projekte "feature completed" (z.B. Netzwerkprotokolle, Datenbanken, etc.). Zusätzlich lässt sich Pythoncode auch in Javabytecode umcompilieren, ist also dann auf allen javafähigen Rechnern lauffähig.

Außerdem ist es Open Source und das kann ja nix schlechtes sein, gell ;-)


----------



## jensner (28. März 2008)

@zeroize
Das ist ja mal ein ganz neuer Aspekt. Darüber habe ich überhaupt noch nicht nachgedacht.
Wie siehts hier mit mit der Zukunftsfähigkeit aus. Ich denke da mal an
z.B. meine Vision bzgl. eines Terminplaners in Form von grafischen Containern
die auf einer Zeitachse liegen und einfach mit der Mouse verschiebbar sein sollten.
Ist soetwas mit Python umsetzbar und auch performant? 

Gruß Jens

PS: Gibt hier eine Lektüreempfehlung? Ich bin kein Fan von Online-Tuts und
bin, wie bereits erwähnt, sehr Datenbankfixiert....


----------



## CSANecromancer (28. März 2008)

jensner hat gesagt.:


> @CSANecromancer
> Grundsätzlich würde ich in Richtung .NET tendieren aber
> wie gesagt würde ich mir aus der VS-Kollektion gerne die Sprache
> aneignen wollen auf die ich dann auch aufbauen kann um
> evtl. auch mal komplexere Anwendungen zu programmieren.



Wie es mit .net in Python aussieht weiss ich nicht, mit Python kenne ich mich genau Null komma Null aus. Da ist dann zeroize gefragt.

Was die VS-Produkte in Bezug auf .net angeht, würde ich dir in jedem Fall zu C# im Vergleich zu Visual Basic .net raten. Denn mit C# liegst du sicher nicht falsch und die Syntax ist sehr ähnlich zu C++ und Java. Insofern würde dir dann ein späterer Umstieg auf eine dieser beiden Sprachen sehr viel leichter fallen, als wenn du mit Visual Basic anfängst. In verbinde Basic immer noch mit der Bedeutung ("Beginner's all-purpose simple instruction code") und Programmiererfahrung hast du ja bereits in PHP, weswegen ein kompletter Neueinstieg nicht unbedingt erforderlich ist.


----------



## zeroize (28. März 2008)

So etwas wie die Zeitachse (also drag and drop) hab ich sogar schon in PHP/Javascript gesehen (zwar nicht performant aber es geht ;-) ), sollte also umsetzbar sein - komme aber eher aus der Linux/Unixscriptecke, also bitte nicht weiterfragen ;-).

Microsoft hat eine Pythonversion namens Ironpython für .Net - hab ich aber noch nicht mit gearbeitet, kann ich also auch nix zu sagen.
Es gibt zu Python ein ganz gutes Buch zum reinlesen von Galileocomputing als Openbook -> http://www.galileocomputing.de/openbook


----------



## zerix (28. März 2008)

Hallo,

also das was du machen möchtest, lässt sich eigentlich mit jeder Sprache umsetzen. 
C++ würde ich die allerdings noch nicht empfehlen, da es nicht so leicht zu erlernen ist. Würde dir eher zu C# oder zu Java raten. Beide Sprachen haben eine leicht zu lernende Syntax, die auch sehr verständlich ist.

MFG

Sascha


----------



## jensner (28. März 2008)

OK, ich fasse also mal zusammen.

Aktuelle Kandidaten sind:

C# - weil im VS enthalten und Basis für ein problemloses Upgrade nach C++ 
Python - weil einfacher und trotzdem sehr umfangreich 
Java - weil kompatibel zu C# und C++

Im Großen und Ganzen würde ich, da VS 2k8 vorhanden am besten mal in C# reinschnuppern. Gibts da ein paar gute Tuts für C#-Anfänger wo ich mich mal 
ein wenig umschauen könnte? 
Ich denka mal da bin ich hier wohl nicht ganz verkehrt 

Gruß Jens


----------



## jensner (4. Mai 2008)

Hallo nochmal,

ich würde gerne dieses Thema nochmals aufgreifen.
Ich habe mich nun für C# entschieden.
Leider habe ich so meine Probleme ein geeignetes Tut bzw.
eine geeignete Lektüre zu finden.

Mit großer Erwartung hatte ich mir das "Entwicklerbuch" MS Visual C# 2008
von Microsoft Press gekauft (Grundlagen, Techniken, Profi-Know-How)
und bin nun total enttäuscht dass ich irgendwie nicht wirklich weiter komme.

Ich empfinde dieses Buch sicherlich als sinnvoll als Nachschlagewerk für
den C#-Fortgeschrittenen. Für mich als Anfänger fehlt hier einfach völlig 
der Praktische Teil. Ich kenne das z.B. von anderen Büchern, dass man nach jeder
Lektion mal ein Progrämmchen schreibt um seinen Wissensstand zu prüfen.

In diesem Buch fliegen mir ständig nur unvollständige Codeschnippsel um die Ohren 
und ich sehe mich ehrlicherweise nach Studium der ersten ca. 200 Seiten
nicht in der Lage auch nur ein einfaches C#-Programm zu schreiben.

Könnt Ihr mir evtl. ein gutes Tut bzw. ein gutes Buch für Visual C# 2008 empfehlen
bevor ich völlig genervt und entmutigt alles hinschmeiße.

Vielen Dank schon mal.

Gruß Jens


----------



## Dario Linsky (4. Mai 2008)

Hi,

vielleicht ist das Galileo OpenBook was für dich? Ist zwar für die 2005-Version, aber für den Anfang dürfte es dir auch eine gute Grundlage bieten.

Grüße, D.


----------



## jensner (4. Mai 2008)

Danke Dir Dario,
Es darf aber auch gerne ein richtiges Buch sein.
Eigentlich sogar am liebsten ein Buch da ich die
Online-Tuts nicht wirklich gerne lese... 

Gruß Jens


----------



## jensner (4. Mai 2008)

jensner hat gesagt.:


> Danke Dir Dario,
> Es darf aber auch gerne ein richtiges Buch sein.
> Eigentlich sogar am liebsten ein Buch da ich die
> Online-Tuts nicht wirklich gerne lese...
> ...



Uups, ich sehe gerade dass es dieses Buch 
auch als gebundene Fassung gibt. Jedoch denke ich
dass die Ausmaße dem des Entwicklerbuches ähneln werden.

Gruß Jens


----------



## PierreDole (18. Mai 2017)

Moin,
sorry, daß ich dieses steinalte Thema reaktiviere, aber da ich es in google ganz oben gefunden habe, könnte das Thema vielleicht ein Update vertragen.

Nun, ich stehe vor der selben Frage, die hier schon vor einigen Jahren gestellt wurde. Ich möchte eine kleine Datenbankanwendung schreiben, weiß aber nicht was ich dafür verwenden soll. Es soll eine Statistik/Datenauswertung (+Pflege) werden. Habe SQLite und python installiert und merkte, daß man mit python keine Windowsformulare erstellen kann. Ich möchte mir die Daten schön übersichtlich anzeigen lassen, also entfällt alles, was auf die Kommandozeilen beschränkt ist. C#, Java, etc fände ich für mein Vorhaben etwas over the top. Access, Open Base, etc entfallen auch. Eine Scriptsprache würde mir genügen, sie sollte aber beim Auslesen von vielen Datenbanktabelleneinträgen nicht einknicken. Gibt's da etwas "Handliches"?


----------



## sheel (18. Mai 2017)

Hi

also, wenn dir Python zusagt, man kann damit schon grafische Anwendungen erstellen; und an Möglichkeiten mangelts sicher nicht
PyQT, Tkinter usw.usw. https://wiki.python.org/moin/GuiProgramming


----------

