Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Entwickler>Amateur-Programmierer braucht Rat

Amateur-Programmierer braucht Rat

Wolfgang Hoyer27.04.0816:00
Liebe MTN-Leser,

zunächst entschuldige ich mich dafür, dass mein erster Beitrag gleich eine Frage ist - ich denke aber, dass ich hier an der richtigen Stelle bin.

Ich stehe vor folgendem Problem: Ich möchte ein Programm (unter Mac-OS) schreiben, dass im Grunde nichts weiter macht als Datensätze aus einer HTML-Datei auszulesen und in einem bestimmten Format in eine andere Datei (.bib) zu schreiben. Das Programm muss also auf die HTML-Datei zugreifen, sie auslesen und dann anfangen, mit einem mehr oder minder komplizierten Algorithmus den relevanten Text (also nicht die ganzen <BE>, <BR>, sondern die eigentlichen Einträge) in eine Datenbank gemäße Struktur zu bringen um danach diese Daten in die neue (oder bestehende) bib-Datei reinzuschreiben (bzw. zu ergänzen).

Ich möchte das Programm auf dem Mac schreiben (weil das halt mein Computer ist), fände es aber schön, wenn es auch unter Windows oder Linux laufen könnte. Zu meinen Kenntnissen: Ich bin zwar kein blutiger Anfänger (Früher habe ich ein wenig mit C++ und Visual Basic programmiert) - die letzte Programmzeile ist aber doch schon etliche Jahre her.

Meine Fragen sind nun: Wie gehe ich am geschicktesten vor? Ist es überhaupt klug ein Programm zu schreiben? Ist ein Java-Programm besser? Schreibt man in C? Wie bekommt man die Kompatibilität mit Windows und Linux hin? Ist letzteres zu kompliziert? usw. usf.

Wenn jemand mir Rat geben kann, wie ich das am besten angehe, würde ich mich sehr freuen. Wenn man erstmal weiß wo man anfangen kann, ist schonmal die erste Hürde genommen.

Das Programm muss übrigens gar nicht sonderlich schön aussehen. Es soll halt einfach nur funktionieren und zumindest eine brauchbare Oberfläche besitzen.

Herzliche Grüße
W. Hoyer
0

Kommentare

stv
stv28.04.0801:10
Hallo Wolfgang,

meine erste Idee würde eigentlich in Richtung Java gehen, da du eine plattformunabhängige App mit grafischer Oberfläche schreiben willst. Mit C++ würde sich da evtl. auch das GTK-Framework anbieten, mit dem du native Apps für die drei Zielsysteme schreiben kannst. Was dir da sympathischer ist bleibt dir überlassen. Außerdem möglich wäre auch eine Anwendung in Objective-C mit dem GNUStep-Framework, google einfach mal nach den entsprechenden Begriffen, das sollte dich schonmal weiterbringen. Wenn dann mal eine Entscheidung bzgl. der Umgebung gefallen ist, kann man noch näher auf die Implementierungsdetails eingehen.

Gruß,
Stefan
0
Wolfgang Hoyer28.04.0809:49
Hallo Stefan,

vielen Dank für die Antwort. Ich habe mich für bereits für Java entschieden. Diese Netbeans-IDE scheint ja zudem für die Entwicklung ganz brauchbar zu sein. Im Grunde muss ich doch beim Schreiben nur aufpassen, dass ich keine betriebssystemspezifischen Klassen einbinde, sondern mich auf die JAVA-eigenen und daher betriebssystemübergreifenden Klassen beschränke.

Also: Vielen Dank nochmal!

Viel Grüße
Wolfgang
0
cynic28.04.0810:32
Also wenn es dir nur um das Parsen einer Datei und das Wegschreiben von Werten in eine andere geht, ohne grafische Benutzeroberfläche etc. würde ich garnicht zu so einem "Klumpen" von Sprache greifen.

Einfach ein kleines Perl Skript mit Regulären Ausdrücken, das wars... läuft überall.
0
Johloemoe
Johloemoe28.04.0811:26
Och Java is da keine schlechte Idee. Von Perl weiss ich leider nix, aber gut möglich dass sich das auch anbietet. Und btw, in Java irgendwas Systemspezifisches zu machen is schon ziemlich schwer... Dazu sollte man m.M. nach gar nicht in der Lage sein^^
0
cynic28.04.0811:40
Es kommt eben auf den Umfang des Programms an. Wenn die Beschreibung oben schon alles ist, wäre Java ein Overkill. Wer dafür ne VM startet, wird von mir davongejagt.
0
Wolfgang Hoyer28.04.0812:36
Liebe Forumsteilnehmer,

dass ich mit Java gar nichts Systemspezifisches anstellen kann, ist schonmal sehr beruhigend. Außerdem kann es schon sein, dass ein Perl-Script (damit kenne ich mich aber nichtmal ansatzweise aus) ausreichen würde - zumal die Sache mit den Regular Expressions tatsächlich praktisch wäre. Allerdings muss das Programm eine Benutzeroberfläche haben und es werden wohl auch einige Interaktionen eingebaut werden müssen. Zudem soll bzw. muss es von Leuten benutzt werden können, die etwas "sehen" müssen und keine einzige Kommandozeile eingeben wollen bzw. können. Da ist Java wohl doch die bessere Wahl.

Aber vielen Dank für die Hinweise!

Viele Grüße
Wolfgang
0
cynic28.04.0812:40
Das ist allerdings richtig...

Na dann wünsche ich viel Spaß und vor allem Erfolg!
0
cynic28.04.0812:41
Naja der regex wegen muss man ja nicht zu Perl greifen. java.util.regex kann das auch.
0
unrath
unrath28.04.0812:50
Man könnte auch Qt ins Auge fassen. Ich weiß aber nicht, wie ausgereift das ist.
0
Resistance28.04.0817:24
"Man könnte auch Qt ins Auge fassen. Ich weiß aber nicht, wie ausgereift das ist."

:

Wenn hier keine Invasion von irgendwelchen Pinguinen statt finden soll, würde ich genauestens darüber nachdenken, ob es sinnvoll ist, negatives über Qt zu schreiben ...

0
Resistance28.04.0817:25
: = : - >
0
strife29.04.0813:44
Wenn die Ausgangsdaten als ordentliches XHTML vorliegen, ist eine Transformation mit XSLT wahrscheinlich das Einfachste. Brauchst nicht (richtig) zu programmieren xsltproc ist auf dem Mac schon installiert. Auf Windows wird sich da sicherlich auch ein freiher XSLT Prozessor finden.
0
sierkb29.04.0814:08
strife
Wenn die Ausgangsdaten als ordentliches XHTML vorliegen, ist eine Transformation mit XSLT wahrscheinlich das Einfachste. Brauchst nicht (richtig) zu programmieren xsltproc ist auf dem Mac schon installiert. Auf Windows wird sich da sicherlich auch ein freiher XSLT Prozessor finden.

Erstens: es wäre günstig, wenn die zugrundeliegende Webseite in validem XHTML vorliegt, notwendig ist das jedoch für eine XSLT-Transformation nicht unbedingt. Man kann mittels XSLT z.B. auch HTML 4 parsen, in seine Bestandteile zerlegen und was Neues draus bauen.

Zweitens: Microsoft Windows hat seinen eigenen proprietären XSL processor mit an Bord: msxsl.exe bzw. seinen eigenen XML Parser msxml4.dll, um XSL-Transformationen auszuführen.

Die freien, plattformübergreifenden Transformatoren bzw. Parser Xalan und Xerces stehen jedoch auch für Windows zur Verfügung. Genau wie unter MacOSX oder Linux.
0
unrath
unrath29.04.0814:26
nein, Qt verwenden statt finden. Außerdem ist Qt unnab hängig, also auch für windows, das ist jader wizz. Nicht geradesachlich, der komment.
0
Resistance02.05.0811:43
ich lese die Worte wohl doch verbirgt sich mir der Sinn.
0
Aargh
Aargh28.05.0818:29
Man kann sich das Leben auch unnötig schwer machen. Wie bereits erwähnt: Perl und RegEx. Das ist ne Sache von 15 Minuten.
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.