Domanda

L'azienda con cui lavoravo ha due sviluppatori che lavorano a tempo pieno e una manciata di liberi professionisti.Stanno assumendo un nuovo sviluppatore principale per cercare di portare ordine e gestione nello sviluppo.

Ma, attualmente, uno degli sviluppatori ha visto la luce di Django (l'azienda ha sviluppato finora solo in PHP) mentre l'altro sviluppatore è preoccupato che introdurre un nuovo linguaggio (Python) sia una cattiva idea in questo momento.

Come dovrebbero avvicinarsi all’introduzione di questa nuova tecnologia?Ovviamente, con solo uno degli sviluppatori che conosce Python, non ci sarà ridondanza quando quello sviluppatore sarà assente o lascerà l'azienda.

Dovrebbero preoccuparsi di introdurre Python o dovrebbero cercare soluzioni solo PHP fino al momento in cui il team avrà effettivamente più di un Pythonion?Senza un leader della squadra, le decisioni spettano a loro.

È stato utile?

Soluzione

Recentemente ho introdotto Python nella mia azienda, che svolge attività di consulenza per l'ufficio postale.L'ho fatto aspettando finché non ci fosse un progetto per il quale sarei stato l'unico programmatore, quindi ottenendo il permesso di realizzare questo nuovo progetto in Python.Ho quindi realizzato un altro piccolo progetto in Python con risultati altrettanto impressionanti.Inoltre, ho utilizzato Python per tutti i miei piccoli compiti usa e getta ("puoi analizzare le statistiche di questi file in un file CSV organizzato per data e sito?", ecc.) E ho avuto tempi di consegna rapidi per tutti.

Ho anche evangelizzato un po’ Python;Ho fatto di tutto per NON essere odioso al riguardo, ma ogni tanto descrivevo perché mi piaceva così tanto, parlavo dei progetti personali per cui lo uso nel tempo libero e perché è fantastico per me, ecc.

Alla fine abbiamo iniziato un altro progetto e ho convinto tutti a usare Python per questo.Mi sono preso cura di indirizzare a tutti molta documentazione, comprese le pagine web specifiche relative a ciò su cui stavano lavorando, e ogni volta che avevano una domanda, spiegavo come fare le cose correttamente spiegando l'approccio Pythonico alle cose, ecc. .

Ha funzionato davvero bene.Tuttavia, questo potrebbe essere leggermente diverso da quello che stai descrivendo.Nel mio caso ho iniziato con progetti moderatamente piccoli e Python viene utilizzato solo per nuovi progetti.Inoltre, nessuno dei miei colleghi era un vero guru di Perl o PHP;tutti conoscevano quei linguaggi e li usavano da un po', ma non ci è voluto molto sforzo per diventare più produttivi in ​​Python di quanto lo fossero stati prima.

Quindi, se stai parlando di nuovi progetti con persone che attualmente usano PHP ma non sono super esperti e non amano quel linguaggio, allora penso che passare a Python sia un gioco da ragazzi.Tuttavia, se stai parlando di lavorare con una vasta base di codice PHP esistente con molti programmatori PHP molto esperti che sono soddisfatti della loro attuale configurazione, allora cambiare lingua probabilmente non è una buona idea.Probabilmente sei da qualche parte nel mezzo, quindi dovrai valutare i compromessi;spero che la mia risposta ti aiuti a farlo.

Altri suggerimenti

Se il compito del nuovo leader è quello di mettere ordine in casa, la situazione attuale dovrebbe probabilmente essere semplificata il più possibile prima.Se dovessi mettere le cose in ordine, non vorrei dover gestire oltre a tutto il resto un progetto di conversione linguistica in corso, o almeno vorrei avere una certa scelta al momento dell'avvio del progetto.Nel formulare la tua raccomandazione, hai pensato all'ulteriore complessità gestionale che comporterebbe trovarsi nel bel mezzo di una conversione?

@darkdog:

L'utilizzo di un nuovo linguaggio nel codice di produzione non riguarda solo la sintassi semplice e le funzionalità di alto livello.Vuoi avere familiarità con le API di base e avere la sensazione di poter correggere qualcosa attraverso la logica invece di dover sfogliare la documentazione.

Non sto dicendo che il passaggio a Python sarebbe una cattiva idea per questa azienda, ma sono con John: mantieni le cose semplici durante la transizione.Il nuovo responsabile apprezzerà avere voce in capitolo in tali decisioni.

Se davvero, davvero, davvero ti piacerebbe introdurre Python, valuta la possibilità di scrivere alcune estensioni o utilità in Python semplice o nel framework.Non sconvolgerai le tue iniziative principali, quindi sarà un'opportunità a basso/nessun rischio per dimostrare i meriti di un cambiamento.

Penso che il linguaggio in sé non sia un problema qui, poiché Python è davvero un bel linguaggio di alto livello con una documentazione approfondita, buona e facile da trovare.

Da quello che ho visto, il framework Django è anche un ottimo strumento per lo sviluppo web, offrendo più o meno lo stesso aumento delle prestazioni degli sviluppatori che Rails dovrebbe dare.

Il vero problema è a livello di manutenzione e gestione.

In che modo questa mossa frammenterà la manutenzione tra il codice PHP e quello Python.È necessario migrare il codice esistente da una piattaforma all'altra?Quali problemi risolverai adottando Python e Django nel flusso di lavoro e nei framework di sviluppo attuali, ecc.

È davvero tutta una questione di orari.Per me la pausa dovrebbe avvenire con un progetto specifico.Se decidi che la tua direzione è Django, inizia nuovi progetti con quello.Prima di iniziare un nuovo progetto con un nuovo linguaggio/framework, assicurati di avere programmato il tempo per aggiornarti in questa nuova direzione, oppure aggiornarti prima di utilizzarlo su nuovi progetti.

Eviterei di scegliere lo strumento del mese.Assicurati che questa sia la tua direzione e dedica tempo/risorse all'apprendimento sufficiente per prendere una buona decisione.

Bene, Python è un linguaggio di alto livello..non è difficile da imparare e se i ragazzi hanno già conoscenze di programmazione dovrebbe essere molto più facile da imparare..mi piace Django..penso che dovrebbe essere un bel tentativo di usare Django..

Non penso che sia una questione di linguaggio di programmazione in quanto tale.

Qual è il livello di competenza di PHP nel team di cui parli?Stanno eseguendo spaghetti code o utilizzando un framework strutturato come Zend?Se questo è il primo caso allora capisco perfettamente l'interesse del ragazzo per Python e Django.Se questo è quest'ultimo, è solo una montatura.

Adoro Python e Django e li utilizzo entrambi per sviluppare le nostre app web principali.

Detto questo, a questo punto è difficile presentare un business case per il passaggio.Nello specifico:

  • Qualsiasi nuova piattaforma è rischiosa rispetto al restare con quella collaudata
  • Avrai la frammentazione degli sviluppatori che hai menzionato
  • È molto più facile trovare programmatori PHP che programmatori Python

Inoltre, come hanno già detto altri utenti, se il problema riguarda più lo spaghetti code che il PHP stesso, ci sono moltissimi framework PHP che potrebbero essere utilizzati per rifattorizzare il codice.

Detto questo, se questo sviluppatore è entusiasta di Python, fermarlo del tutto è probabilmente demoralizzante.Il mio suggerimento sarebbe quello di incoraggiarli a sviluppare in Python, ma non le parti mission critical dell'app.Potrebbero invece scrivere alcuni script di utilità, qualche piccola applicazione interna che necessita di essere eseguita, ecc.

Insomma:Non consiglio di passare da PHP, ma consiglio di soddisfare in qualche modo l'interesse dello sviluppatore sul lavoro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top