Building a webcrawler

ToSCA, die Entwicklung eines Spiders

Eclipse for everyone

Nach einem sehr inspirierenden Artikel in der letzten c’t bin ich inzwischen auf Eclipse umgestiegen: Die OpenSource-Entwicklungsumgebung bietet nämlich nicht nur ausgereifte Werkzeuge für Java-Entwickler. Mit den PHP Development Tools bekommt man eine sehr aufgeräumte PHP-IDE, die sich hinter kommerziellen Produkten nicht zu verstecken braucht.

Auf jeden Fall kann ich Eclipse allen empfehlen, die PHP programmieren möchten, aber auf OpenSource setzen wollen.

15. September 2007 Geschrieben von Estigy | Umgebung | 2 Kommentare

Das “Welche Hand?”-Problem

Wenn du Rechtshänder bist und ein großartiges Bild malen willst, verwende auch deine rechte Hand.

Dieses Projekt in JAVA anzugehen, war eine großartige Idee aus damaliger Sicht. Ich kündige aber hiermit an — zumindest momentan –, dass ich die Sache nochmals angehen möchte, allerdings unter Verwendung von PHP. Es hat einige Zeit gebraucht, um zu erkennen, welchen großen Einfluss die Wahl der Programmiersprache auf meine Art, Dinge zu begreifen und zu verstehen, gehabt hat. Doch nun bin ich an einem Punkt angelangt, an dem ich die Dinge etwas klarer erkennen kann.

Mir ist natürlich klar, dass PHP nicht die Sprache ist, in der man einen Web Crawler schreiben sollte. Doch für den Moment ermöglicht sie es mir, die ersten Ziele schneller — wesentlich schneller — zu erreichen. So, wie es in einer Fremdsprache wesentlich schwerer ist, ein Buch zu schreiben, als in der Muttersprache, so bildetet die Wahl von JAVA eine gewisse Barriere für mich, was das kreative Denken betrifft. Wenn ich mir den bisherigen Code so ansehe, hätte es mich nur ein paar Stunden gekostet, das selbe in PHP zu schreiben — samt MySQL-Anbindung und einem kleinen User-Interface.

Nun, für alle von euch, die meinen Blog vor einigen Monaten entdeckt haben und noch immer an der Sache interessiert sind, bleibt dabei für die in PHP umgeschriebenen Klassen.

Bitte versteht mich nicht falsch: Der Wechsel zurück zu JAVA steht noch immer auf meiner Wunschliste. Vielleicht werde ich dieses Bild nochmal mit meiner linken Hand neu malen. Aber lasst mich die Entwürfe einstweilen mit meiner rechten machen… ;-)

Thanks,
Estigy.

20. August 2007 Geschrieben von Estigy | Umgebung | Keine Kommentare

Warum JAVA?

Ich bin gefragt worden, warum ich JAVA verwende (und nicht z. B. C++), um diesen Bot zu schreiben.

  • Plattform-Unabhängigkeit — ToSCA soll auf einem Unix-Server ebenso laufen wie auf Windows-Maschinen. Zwar ist C++ auch unabhänig, aber das trifft nur auf der Kern der Sprache zu. Da wir für ToSCA einige Spazialdinge wie Datenbank-Verbindung oder etwas Netzwerk-Action benötigen, ist es in C++ etwas umständlich bis mühsam, plattformunabhängig zu bleiben. Daher nahm ich JAVA: Das java.net Package übernimmt die Netzwerk-Sektion, java.sql liefert den Datenbankzugriff. Das reicht für mich vorerst.
  • Das java.net.URL Objekt — Dieses Objekt ist echt genial! Mich hätt’s fast vom Sessel geworfen, als ich gesehen habe, was dieses kleine Objekt alles kann. Natürlich bringt das auch etwas Overhead mit sich, aber wenn ich an die Stunden denke, die es mich kosten würde, das alles selbst zu programmieren, bin ich ziemlich froh.
  • Die Sprache selbst — Durch JAVA möchte ich so richtig in die objektorientierte Programmierung einsteigen. Ich hatte ein Jahr JAVA während meines Studiums, aber das ist schon ein Zeiterl her. (Um ehrlich zu sein: Die Dinge, die ich bis jetzt habe, in PHP zu bauen, würde mich knappe 1,5 Stunden kosten — aber das ist eine andere Geschichte…)
  • Performance — Obwohl C++ sicherlich schneller in der Ausführung sein würde, ist Performance aus meiner Sicht nicht so eine große Sache: Nachdem ein einziger Server durch eine längere Antwortzeit eine gehörige Verzögerung für den gesamten Prozess bedeutet, würden einige gewonnene Millisekunden am Ende sowieso nicht groß auffallen.

24. January 2007 Geschrieben von Estigy | Umgebung | Keine Kommentare