Ho ereditato un portfolio web ampio e mal progettato al mio posto di lavoro. La maggior parte delle pagine sono scritte in Perl poiché la maggior parte dei dati ingeriti, elaborati e visualizzati sul sito si presenta sotto forma di file flat che devono quindi essere meticolosamente regexati e archiviati nei database MySQL e Oracle.ambienti di sviluppo web in linguaggio misto
Come primo responsabile IT addestrato di questo ambiente, mi sto occupando di scrub i siti Web e delineare alcune strutture per il processo di sviluppo. Una delle scelte che ho ricevuto è scegliere se continuare o meno in Perl. Vi è un notevole talento interno per Java e PHP è piuttosto facile da imparare. Ho preso in considerazione l'idea di prendere le redini dagli sviluppatori e di permettere loro di scegliere qualsiasi lingua vogliano usare per le loro pagine, ma sembra che potrebbe essere un problema se il tizio che ha scelto PHP viene investito da un autobus e nessun altro può risolverlo.
Con il passare degli anni, i programmatori di Perl diventano sempre più difficili e la complessità del mantenimento del codice Perl precedente da parte di sviluppatori precedenti il cui obiettivo principale potrebbe essere quello di ottenere una pagina attiva e in corso sta diventando molto dispendioso in termini di risorse. Un altro manager (non IT) precedente era più focalizzato su un rapido turnaround e una gratificazione immediata delle pagine piuttosto che assicurarsi che fosse fatto bene la prima volta (da allora è stato promosso al di fuori della nostra filiale).
Il server di produzione è solaris. MySQL ha la maggior parte dei nostri dati ma nuovi progetti hanno iniziato a utilizzare Oracle sempre di più (per i dati GIS). I server Web sono universalmente Apache. Viviamo in una rete Intranet disconnesso da Internet normale. Il nostro sviluppo è condotto in modo agile e iterativo.
Indipendentemente dalla lingua scelta per l'avanzamento, ci sono risorse per riqualificare il personale di sviluppo esistente. Indipendentemente da ciò, i dati che arriveranno nel nostro ambiente dovranno essere regexati fino alla morte, quindi perl non andrà via presto. La mia domanda alla community è, quali sono i pro e i contro delle seguenti lingue per l'ambiente di sviluppo web sopra definito: Perl, PHP, Java, Python e --inserire qui la tua lingua preferita--. Se avessi dovuto fare tutto da capo, quale impostazione linguistica avresti scelto?
Modifiche e chiarimenti: Lasciatemi chiarire un po 'sul mio post originale. Non sto buttando via tutto. Mi è stata data l'opportunità di adattare il corso della nave a quello che ritengo sia un titolo migliore. Anche se avessi scelto una nuova lingua, il codice perl sarà disponibile per un po 'di tempo a venire.
Ipoteticamente parlando, se scegliassimo Assembly come mia nuova lingua (haha), dovrei far sì che i vecchi sviluppatori aumentino la velocità probabilmente inviandoli ad alcune classi di assemblaggio di base. Nuove pagine/progetti sarebbero nella nuova lingua e le vecchie pagine/progetti avrebbero dovuto giocare con le nuove pagine/progetti. Alcuni potrebbero essere un giorno riscritti nella nuova lingua, alcuni potrebbero non essere mai cambiati.
Ciò che probabilmente sarà sempre in Perl saranno gli script di parsing che abbiamo scritto anni fa per setacciare e informazioni sul database dai file flat. Ma va bene perché non si interfacciano con le pagine web, si interfacciano con il database.
Grazie a tutti per il vostro contributo, è stato molto molto utile finora.
Catalyst è ottimo anche per il lavoro sul Web che deve incollare i bit precedenti. Cose come Catalyst :: Controller :: WrapCGI e Catalyst :: View :: PHP sono progettate appositamente per fornire questo tipo di colla. – singingfish