Re-Design/Neubau eines ehemaligen Javaprojekts
-
Whupp zusammen,
so als ersten Thread wollte ich gleich mal den Rundumschlag wagen

Ich habe bei einem ehemaligen Arbeitgeber ein Tool (mit)geschrieben welches ich nun in C++ neu schreiben möchte.
Mein C ist noch etwas hakelig, aber die grundlegenden Fragen betreffen eher die verwendeten Technologien. Ich hoffe Ihr werdet mir den ein oder anderen Rat geben könnt und mir damit die Recherche erspart:Also kurz zur Historie:
Bei dem Programm handelte es sich um ein in Java geschriebenes Tool welches Metainformationen zu bestimmten Dateien in einer Datenbank ablegt. Das Programm hatte eine selbstentwickelte GUI. Als DB wurde Derby verwendet.
Zielsetzung ist nun folgende:
- Weg von Java weil...ja WEIL eben. Meine Wahl viel halt auf C++ weil ich es noch nicht kenne und die Sprache alles bietet was ich brauche
- Die Datenbank... unter Java kein Problem da Derby quasi zum Lieferumfang gehört. Was würde ich unter C++ brauchen um eine SQL-DB einzubinden? Stichworte sind genehm, Erfahrungswerte hochwillkommen.
- Die GUI, ehemals mit Java.swing entstanden würde ich jetzt gerne einem Web-Browser überlassen. Spezialisieren wollte ich mich auf den Firefox. Ideen zur herangehensweise?
Das Projekt wird Open Source
So dann lasst euch doch bitte mal aus was euch dazu einfällt. Probleme die ich noch nicht bedacht habe?
bis denn dann
ddi
-
Musst du das Programm nochmal schreiben? Such dir doch was, was besser zu C++ passt. Datenbanken sind nicht gerade das Spezialgebiet von C++.
-
ddi schrieb:
Weg von Java weil...ja WEIL eben. Meine Wahl viel halt auf C++ weil ich es noch nicht kenne und die Sprache alles bietet was ich brauche
Aha... du kennst C++ noch nicht, weisst aber, dass C++ alles bietet was du brauchst?
ddi schrieb:
- Die Datenbank... unter Java kein Problem da Derby quasi zum Lieferumfang gehört. Was würde ich unter C++ brauchen um eine SQL-DB einzubinden? Stichworte sind genehm, Erfahrungswerte hochwillkommen.
Naja, SQLite fürs kleine SQL. Erfahrungswerte: datenbanken überlass ich lieber java. Oder wenns unbedingt c++ sein muss, dann Qt.
ddi schrieb:
- Die GUI, ehemals mit Java.swing entstanden würde ich jetzt gerne einem Web-Browser überlassen. Spezialisieren wollte ich mich auf den Firefox. Ideen zur herangehensweise?
Meine erste idee ist, dass du es dir unbedingt kompliziert machen willst.
-
Eventuell sogar C#, das wird dann aber nicht Plattform unabhängig.
-
Ich sehe dem auch sehr kritisch gegenüber.
Schließlich ist C++ auch nicht so gut ausgestattet, was ein GUI betrifft. Genau genommen bietet es von Haus aus erst gar keine GUI an. Aber gut, du willst ja eh über den Webbrowser gehen. Die Frage ist nur: Wie stellst du dir das vor?
Soll das C++ Programm als Webserver fungieren? Welchen Sinn sollte das haben? Da kannst du auch einen fertigen Webserver installieren und mit PHP programmieren. Übrigens kann PHP sogar von Haus aus mit SQL-Datenbanken umgehen. In C++ müsstest du dir auch hierfür selber etwas suchen und dich dort einarbeiten.
Ansonsten musst du noch bedenken, dass Java plattformunabhängig ist. Das ist bei C++ in diesem Umfang nicht gegeben und könnte auch ein weiteres Problem werden.
Und die Tatsache, dass du C++ noch nicht kennst macht es natürlich nicht einfacher. Und die Aussage, dass C++ ja alles bietet was du brauchst hast du ja auch schon widerlegt bekommen. Von Haus aus bietet C++ nicht sonderlich viel.
-
Bis ich das mite dem Firefox las dachte ich auch an Qt. GUI, Datanbankanbindung, c++ .... es gibt da auch Klassen die mit html umkönnen - hab ich aber noch nie mit gearbeitet. Jetzt klingts eher nach nem php/java/whatever Frontend für eine wie-auch-immer-gefülllter DB dahinter ... oder einer Art Webcrawler der die Daten einsammelt (gaagle 2.0 ?)
-
Willst du das zum Spaß oder zum Üben machen? Deine Argumente sprechen eher dafür ein altes C++ Programm in Java neu zu schreiben.
-
Ne Webseite mit Datenbank als Backend? -> Ruby on Rails.
-
Also die GUI ist ein Teil des Programms. Die betroffenen Datensätze werden von anderen Klassen ausgelesen, auf binärer Ebene verarbeitet etc.
Eine gewisse Geschwindigkeit wird erforderlich, die mit Skriptsprachen schwerlich erreicht werden kann. Ausserdem will ich auf die Objektorientierung nicht verzichten.
-
ddi schrieb:
Eine gewisse Geschwindigkeit wird erforderlich, die mit Skriptsprachen schwerlich erreicht werden kann.
Die performancekritischen 5% kannst du problemlos in C auslagern (sogar in den Ruby-Code eingebettet!).
Ausserdem will ich auf die Objektorientierung nicht verzichten.
WTF?
Schau dir mal eine dieser Skriptsprachen an.