Come posso vendere il mio capo su Python + Django invece di PHP + un diverso framework? [chiuso]

4

Il mio capo mi ha incaricato di riscrivere il nostro sito intranet. Il sistema esistente è un PHP molto vecchio che non usa un framework. La mia preferenza è strongmente quella di eseguire la riscrittura in Python e Django ma al mio capo non piace la sintassi Python (è anche uno sviluppatore). Sono dall'altra parte ... Non mi piace lo sviluppo in PHP e la mia esperienza in PHP è estremamente limitata ma ho lavorato molto su Python. Il mio capo è a conoscenza della mia esperienza ma vuole ancora che lo venda su Python.

Alcune delle cose che ha menzionato non gli piacciono su Python:

  • indentation è l'unico segno per l'inizio / fine di un blocco di codice (adora le sue parentesi graffe)
  • problemi di documentazione (gli ho detto che la documentazione di Python è ottima)
  • Il supporto IDE è limitato (citato PyCharm e Wing IDE, non è sicuro quale sia il migliore)
  • ha avuto problemi di compatibilità tra le versioni precedenti di python

Potrebbe essere l'unico altro paio di occhi sul nuovo codice. Come posso convincerlo che Python è una scelta migliore? Ruby è una potenziale via di mezzo?

    
posta Corey D 20.02.2012 - 19:08
fonte

4 risposte

15

How can I convince him that Python is a better choice?

Non puoi. Tutti i reclami del tuo capo sono questioni banali di preferenza personale.

  • He loves his curly braces. Python usa uno spazio bianco significativo, che non tutti sono d'accordo. Tuttavia questa è una preferenza personale.

    Puoi dimostrare che tutti esegue correttamente il rientro. Puoi trovare persone che ti diranno che non possono indentare correttamente. Anche se tutti i loro codici sono rientrati correttamente.

    In PHP hai comunque indentato correttamente.

  • Problemi di documentazione? Cosa può significare questo? Se il tuo capo ritiene che la documentazione di Python sia meno valida di PHP, anche questa è una causa persa. È solo percezione.

    È possibile mostrare l'intero set di documentazione della libreria Python. Possono quindi dire che è troppo grande. O il colore sbagliato. O il carattere sbagliato. Ci sono sempre nuovi "problemi di documentazione".

  • Il supporto IDE è limitato? Sì. Se hanno deciso che è limitato; avrai un momento difficile.

    Puoi mostrare Eclipse o Komodo. Anche se mostri come funziona Eclipse, il tuo capo (eventualmente) noterà che un IDE per un linguaggio dinamico non fa bene il completamento del codice e si lamenta.

  • Ha avuto problemi di compatibilità tra le vecchie versioni di python. Ci sono problemi con Python 3, ma 2.7 dovrebbe essere in giro per più di abbastanza tempo.

    Anche se ottieni l'esempio specifico di incompatibilità, non puoi andare molto lontano lungo questa strada. Diranno semplicemente che la mancanza di retrocompatibilità di Python 3 è un rompicapo.

    Ogni lingua, piattaforma e sistema operativo hanno problemi di compatibilità di volta in volta. Puoi trovare (e documentare) una dozzina di problemi di compatibilità PHP (a partire dal numero di PHP5) e che non convincerà chi è a favore di PHP e non a favore di Python.

Se al tuo capo non piace Python, nulla cambierà idea se non un errore epico con PHP. E deve essere un fallimento epico che deriva - direttamente - dall'uso di PHP.

Considera questa citazione effettiva da una domanda .

I've already dabbled into Python and bought books, but I found its syntax too abstract (too much like pseudocode) and too strict.

Python è troppo flessibile e troppo rigido. Allo stesso tempo.

Is Ruby a potential middle ground?

Terreno di mezzo? L'idea non ha senso. È tutto o niente per una tecnologia particolare. Trovare qualcosa come Ruby che nessuno di voi è pessimo.

Se davvero non ti piace PHP, considera la possibilità di trovare un altro lavoro in cui non devi utilizzarlo.

    
risposta data 20.02.2012 - 19:44
fonte
2

How can I convince him that Python is a better choice?

Sembra che tu stia affrontando una battaglia di preferenze personali con il tuo capo. Non hai fornito qui un solo motivo per cui, da un'azienda e da un prospettiva di sviluppo, pensi che Python sarebbe meglio di PHP. Quindi se vuoi lavorare in Python, fornisci queste ragioni. E ti darò un suggerimento - che preferisci semplicemente che la sintassi non sia un valido motivo commerciale. Ovviamente preferisce la sintassi di PHP, e il tie breaker di solito va al boss ...

    
risposta data 20.02.2012 - 20:47
fonte
1

Sono uno sviluppatore di Ruby, ma mi sono dilettato anche su Python e PHP. Mi piace S. La risposta di Lott , ma ho pensato di aggiungere alcuni dei miei pensieri.

Trovo che convincere le persone che sono come il tuo capo è molto più facile quando vai oltre le capacità tecniche di ciò che la lingua / struttura fornisce.

Ad esempio, potresti dimostrare che il linguaggio (e la comunità attorno ad esso) consentono una migliore manutenzione del codice, migliori pratiche (applicate da un framework, di solito) e la felicità dello sviluppatore (quanto assume le persone succhiare ?).

Se lo metti anche in termini di quanto denaro sarebbe stato risparmiato a lungo termine non mantenendo una crufty soluzione senza framework PHP e invece riscrivendolo in uno Python + Django , Sono sicuro che potrebbe convincerlo anche.

Se è ancora abbastanza testardo nella sua scelta, allora sento che ci sono altre persone in cerca di sviluppatori .

Infine, non penso che Ruby sia una "potenziale via di mezzo", ma piuttosto più di un'alternativa a Python + Django. Molti degli argomenti che convincerebbero qualcuno a usare Python potrebbero anche essere usati per convincerli di Ruby.

La mia preferenza personale è, ovviamente, Ruby. Principalmente a causa dell'adesione religiosa alle migliori pratiche come lo sviluppo guidato dai test e il costante sforzo di migliorare la lingua. Oh, e tutti sono così dannatamente carini . Mi piace, canadese.

Ma questo significa nulla in questo contesto. È totalmente a te decidere quale lingua tu convincerai il tuo capo da usare.

    
risposta data 20.02.2012 - 22:24
fonte
0

Bene, il problema dell'IDE è facile da indirizzare. Eclipse con il plugin Aptana 3 è un ottimo Django IDE. Ha anche l'evidenziazione della sintassi per i modelli di Django.

I problemi di compatibilità con le versioni precedenti e successive non sono ovviamente esclusivi di Python o Django. Se questa è una preoccupazione, tuttavia, potresti prendere in considerazione Web2Py anziché Django. Web2Py si pone l'obiettivo di mantenere sempre la compatibilità con le versioni precedenti, e dal suo rilascio nel 2007. Funziona ancora con Python 2.5 (che è stato rilasciato nel 2006).

La documentazione per le librerie standard e di terze parti di Python sono in genere di grandi dimensioni. Non riesco davvero a risolvere i problemi del tuo capo finché non so da dove vengono i problemi.

    
risposta data 20.02.2012 - 19:39
fonte

Leggi altre domande sui tag