Sven Rautenberg: Großes Projekt und viele Fragen

Beitrag lesen

Moin!

Da hast du dir ja was vorgenommen.

Ja das weiß ich ;).

Insbesondere, wo es schon für jede relevante und zahlenmäßig starke Interessengruppe ein passendes Portal gibt. Welche Lücke willst du denn da besetzen? :)

Du nimmst die Distri, die du am besten kennst. Oder halt die, die dein Hoster hat.

Erfahrung habe ich nur mit Windows Servern und freeBSD...

Warum dann nicht FreeBSD als OS?

Du nimmst den Webserver, den du am besten kennst.
Apache kenn ich besser, lighttpd soll aber wirklich einen imensen Vorteil bringen.

"Soll" - aber welche Vorteile, für wen und unter welchen Bedingungen?

Ich würde mich zuallererst darauf konzentrieren, die zu erstellende Software zu bearbeiten, und ansonsten nur Komponenten einzusetzen, die du kennst. Macht das Leben deutlich einfacher. Sollte es tatsächlich irgendwann einmal ein Problem geben, was von Apache schlecht und von lighttpd besser gelöst wird, kannst du immer noch umstellen.

Deine Frage nach einem "schnelleren" PHP zielt in dieselbe Kerbe. Wenn's dir darum geht, vom Start weg eine schnell ausführende Programmiersprache zu wählen, dann schreib das Projekt in Java oder C, aber nicht in PHP. Das wäre vor allem deshalb angesagt, weil nach deiner Voraussage dieses Projekt ja wirklich riesig werden würde. Der Nachteil von C ist nur, dass das Programmieren von Webapplikationen wirklich richtig aufwendig ist, und auch mit Java ist der Vorgang deutlich aufwendiger, als wenn man eine "direkt wirkende" Skriptsprache wie PHP einsetzt.

Sie wird auf jeden Fall in PHP geschrieben da ich die anderen Sprachen nicht/wenig/ungenügend beherrsche.

Dann stell' keine Fragen nach Performance.

Jedes Performanceproblem ist lösbar, wenn die Problemanalyse des konkret aufgetretenen Problems vernünftig durchgeführt wird und zu folgerichtigen Ansätzen führt. Und wenn das Problem nicht lösbar ist, hilft auch der Wechsel der Programmiersprache nichts.

Was OOP angeht: Natürlich sollte es das sein. Und als zwingend sehe ich auch den Einsatz von automatisierten Tests nach der Maßgabe von TDD (test-driven design). Andernfalls geht das Projekt unter. OOP wird aber nicht verwendet, damit das Programm schnell ausgeführt wird, sondern einzig und allein deswegen, damit einfacher, schneller und fehlerfreier programmiert werden kann.

Könntest du mir TDD genauer erläutern?

Googlen!

Für PHP: http://www.simpletest.org/

Ich muss in sehr vielen Punkten die du sagst Einsicht zeigen. Ich platze atm vor Eifer nach Taten. Deswegen soviele Fragen die ich mir eigendlich und normalerweise auch selbst beantworte. Aber ich habe gerne direkt die Meinung kompetenter Leute dazu.

Dein beabsichtigtes Projekt wird geschätzt mindestens zwei Mannjahre Entwicklungszeit benötigen. Du bist also allein mindestens zwei Jahre damit beschäftigt. Und mußt während der Projektlaufzeit von zwei Jahren zwischendurch auch auf die Weiterentwicklung der Technologie reagieren, die du verwendest. Beispielsweise neue Versionen der Server, von PHP (6, 7?), von Webtechnologien (was kommt nach AJAX?) etc.

Du hast also ausreichend Zeit, dich reinzufuchsen. Insbesondere aber benötigst du nicht vom Start weg gleich drei physikalische Server in deiner Testumgebung.

Der Server wird demnacht Lighttpd sein, auf Debian laufen und MySQL als DB und PHP als führende Projektsprache nehmen.

Bis auf lighttpd würde ich ja zustimmen.

- Sven Rautenberg