Presentazione di Python


6

La società con cui ho lavorato ha due sviluppatori che lavorano a tempo pieno e una manciata di liberi professionisti. Sono in procinto di assumere un nuovo sviluppatore principale per cercare di portare ordine e gestione allo sviluppo.

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

Come dovrebbero avvicinarsi all'introduzione di questa nuova tecnologia? Ovviamente, solo con uno degli sviluppatori che conosce realmente Python, non ci sarà ridondanza quando quel dev è fuori o lascia la società.

Dovrebbero preoccuparsi di introdurre Python, o dovrebbero cercare soluzioni solo PHP fino a quando il team avrà effettivamente più di un Pythonion? Senza un capo squadra, le decisioni devono cadere su di loro.

14

Ho recentemente introdotto Python nella mia azienda, che svolge attività di consulenza per l'ufficio postale. L'ho fatto aspettando che ci fosse un progetto per il quale sarei stato l'unico programmatore, quindi ho ottenuto il permesso di fare questo nuovo progetto in Python. Poi ho fatto un altro piccolo progetto in Python con risultati altrettanto impressionanti. Inoltre, ho usato Python per tutti i miei piccoli compiti di scambio ("puoi analizzare le statistiche in questi file in un file CSV organizzato per data e sito?", Ecc.) E ho avuto un rapido tempo di risposta su tutti loro.

Ho anche evangelizzato un po 'Python; Ho fatto di tutto per NON essere antipatico, ma occasionalmente descrivevo perché mi piaceva così tanto, ho parlato dei progetti personali che uso nel mio tempo libero e perché è fantastico per me, ecc.

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

Questo ha funzionato molto 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 veramente un guru di Perl o di PHP; conoscevano tutti quei linguaggi e li utilizzavano da un po ', ma non ci volle molto sforzo perché diventassero più produttivi in ​​Python di quanto non 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 grande base di codice PHP esistente con molti programmatori PHP molto esperti che sono soddisfatti della loro attuale configurazione, cambiare le lingue probabilmente non è una buona idea. Probabilmente sei nel mezzo, quindi dovrai valutare i compromessi; spero che la mia risposta ti aiuti a farlo.


0

Beh, 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 il Django .. penso che dovrebbe essere un bel tentativo di usa django ..


4

Se il mandato del nuovo lead è quello di mettere ordine in casa, la situazione attuale dovrebbe probabilmente essere semplificata il più possibile prima. Se dovessi portare le cose su ordine, non vorrei dover gestire un progetto di conversione linguistica in corso su tutto il resto, o almeno mi piacerebbe avere una scelta quando avvio il progetto. Quando hai fatto la tua raccomandazione, hai pensato alla complessità gestionale aggiuntiva che si sarebbe verificata nel bel mezzo di una conversione?


0

Non penso che si tratti di un linguaggio di programmazione in quanto tale.

Qual è il livello di competenza di PHP nel team di cui stai parlando? Stanno facendo codice spaghetti o utilizzando qualche framework strutturato come Zend? Se questo è il primo caso, capisco assolutamente l'interesse del ragazzo per Python e Django. È questo il secondo, è solo una montatura.


2

@darkdog:

Usando una nuova lingua nel codice di produzione è di circa più di semplice sintassi e funzionalità di alto livello. Volete avere familiarità con le API di base e sentite come se poteste aggiustare qualcosa tramite la logica invece di dover esaminare la documentazione.

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

Se davvero, davvero, ti piacerebbe davvero introdurre Python, prendi in considerazione la scrittura di estensioni o utilità in Python lineare o nel framework. Non sconvolgerete le vostre iniziative principali, quindi sarà un'opportunità bassa/senza rischi per dimostrare i meriti di un cambiamento.


1

Penso che il linguaggio in sé non sia un problema qui, dato che Python è davvero un bel linguaggio di alto livello con una documentazione completa e di facile reperimento.

Da quello che ho visto, il framework Django è anche un ottimo punto di partenza per lo sviluppo del web, dando lo stesso incremento di prestazioni dello sviluppatore che Rails è reclamizzato da dare.

Il vero problema è a livello di manutenzione e gestione.

In che modo questo spostamento frammenterà la manutenzione tra codice PHP e Python.È necessario migrare il codice esistente da una piattaforma all'altra? Quali problemi adotterà Python e Django risolvono il tuo attuale flusso di lavoro e framework di sviluppo, ecc.


0

Amo Python e Django e utilizzare entrambi per sviluppare le nostre applicazioni web principali.

Detto questo, è difficile creare un business case per il passaggio a questo punto. In particolare:

  • Qualsiasi nuova piattaforma è rischioso rispetto a stare con la
  • Avrete la frammentazione provato e vero sviluppatore lei ha citato
  • E 'molto più facile trovare programmatori PHP di programmatori Python

Inoltre, come altri posters hanno menzionato, se il problema riguarda più il codice spaghetti rispetto a PHP, ci sono molti framework PHP che potrebbero essere usati per ridefinire il codice.

Detto questo, se questo sviluppatore è entusiasta di Python, fermarlo definitivamente è probabilmente demoralizzante. Il mio suggerimento sarebbe quello di incoraggiarli a sviluppare in Python, ma non le parti critiche della missione dell'app. Potrebbero invece scrivere alcuni script di utilità, alcune piccole applicazioni interne che devono essere eseguite, ecc.

In conclusione: non è consigliabile passare da PHP, ma consiglio di accettare l'interesse dello sviluppatore in qualche modo al lavoro.


1

È davvero tutto basato sugli orari.Per me la rottura dovrebbe essere con un progetto specifico. Se decidi che la tua direzione è Django, allora inizia nuovi progetti con quello. Prima di iniziare un nuovo progetto con un nuovo linguaggio/framework, assicurati di avere il tempo pianificato per essere aggiornato in questa nuova direzione, o di prendere velocità prima di utilizzare nuovi progetti.

Eviterei di andare con uno strumento del mese. Assicurati di volere che sia la tua direzione e dedica del tempo/risorse all'apprendimento sufficiente per prendere una buona decisione.