Ich habe eine breite, schlecht gestaltete Web-Portfolio bei meiner Arbeit geerbt. Die meisten Seiten sind in Perl geschrieben, da die meisten Daten, die auf der Website aufgenommen, verarbeitet und angezeigt werden, in Form von Flat-Files vorliegen, die dann in unseren MySQL- und Oracle-Datenbanken sorgfältig regexed und datenbankgestützt werden müssen.Gemischte Sprache Web-Entwicklungsumgebungen
Als erste IT-ausgebildete Manager dieser Umgebung, ich nehme es auf mich selbst, um die Websites zu schrubben und einige Struktur in den Entwicklungsprozess zu legen. Eine der Möglichkeiten, die mir gegeben wurde, ist zu wählen, ob ich in Perl weitermachen soll oder nicht. Es gibt ein großes Inhouse-Talent für Java und PHP ist ziemlich einfach zu erlernen. Ich habe darüber nachgedacht, den Entwicklern die Zügel aus der Hand zu nehmen und ihnen die Sprache zu überlassen, die sie für ihre Seiten verwenden möchten, aber das klingt vielleicht problematisch, wenn der Typ, der PHP gewählt hat, von einem Bus angefahren wird. Im Laufe der Jahre wird die Einstellung von Perl-Programmierern immer schwieriger und die Komplexität der Beibehaltung von Legacy-Perl-Code von früheren Entwicklern, deren Hauptaugenmerk möglicherweise darauf gerichtet war, eine Seite zu erstellen, wird sehr ressourcenintensiv. Ein anderer, früherer (Nicht-IT-) Manager konzentrierte sich eher auf die schnelle Bearbeitung und sofortige Befriedigung der Seiten, als sicherzustellen, dass es beim ersten Mal richtig gemacht wurde (er wurde seitdem außerhalb unserer Niederlassung befördert).
Der Produktionsserver ist Solaris. MySQL hat die meisten unserer Daten, aber neue Projekte haben begonnen, Oracle immer häufiger zu verwenden (für GIS-Daten). Webserver sind universell Apache. Wir leben in einem Intranet, das vom normalen Internet getrennt ist. Unsere Entwicklung wird auf agile, iterative Weise durchgeführt.
In welcher Sprache auch immer geforscht wird, es gibt Ressourcen, um das vorhandene Entwicklungspersonal neu zu trainieren. Egal was passiert, die Daten, die in unsere Umgebung kommen, müssen zu Tode gefüttert werden, damit Perl nicht in absehbarer Zeit verschwindet. Meine Frage an die Community lautet: Was sind die Vor- und Nachteile der folgenden Sprachen für die oben definierte Web-Entwicklungsumgebung: Perl, PHP, Java, Python und - fügen Sie hier Ihre Lieblingssprache ein. Wenn Sie es noch einmal machen müssten, welches Sprachsetup hätten Sie gewählt?
Bearbeitungen und Erläuterungen: Lassen Sie mich ein wenig auf meinem ursprünglichen Beitrag klären. Ich werfe nicht alles weg. Mir wurde die Möglichkeit gegeben, den Kurs des Schiffes an etwas anzupassen, von dem ich glaube, dass es ein besserer Kurs ist. Selbst wenn ich eine neue Sprache wähle, wird der Perl-Code noch einige Zeit lang verfügbar sein.
Wenn ich Assembly als meine neue Sprache (haha) wähle, müsste ich die alten Entwickler wahrscheinlich auf den neusten Stand bringen, indem ich sie in einige grundlegende Assembly-Klassen schicke. Neue Seiten/Projekte wären in der neuen Sprache und die alten Seiten/Projekte müssten mit den neuen Seiten/Projekten gut spielen. Einige könnten eines Tages in die neue Sprache umgeschrieben werden, manche werden nie geändert.
Was wahrscheinlich immer in Perl sein wird, werden die Parsing-Skripte sein, die wir vor Jahren geschrieben haben, um Datenbankinformationen aus den flachen Dateien zu durchsuchen. Aber das ist in Ordnung, weil sie nicht mit den Webseiten interagieren, sondern mit der Datenbank interagieren.
Vielen Dank für Ihre Eingabe, es war bisher sehr, sehr hilfreich.
Catalyst ist auch ideal für Web-Arbeit, die Legacy-Bits zusammenkleben müssen. Dinge wie Catalyst :: Controller :: WrapCGI und Catalyst :: View :: PHP sind speziell für diese Art von Klebstoff entwickelt. – singingfish