Como posso vender meu chefe em Python + Django em vez de PHP + um framework diferente? [fechadas]

4

Meu chefe me encarregou de reescrever o site da intranet. O sistema existente é um PHP muito antigo que não usa um framework. Minha preferência é strongmente fazer a reescrita em Python e Django, mas o meu chefe não gosta da sintaxe do Python (ele também é um desenvolvedor). Eu estou no extremo oposto ... Eu não gosto de desenvolver em PHP e minha experiência em PHP é extremamente limitada, mas eu fiz muito trabalho em Python. Meu chefe está ciente da minha experiência, mas ainda quer que eu o venda em Python.

Algumas das coisas que ele mencionou, ele não gosta do Python:

  • recuo é a única marcação para o início / fim de um bloco de código (ele adora as chaves)
  • problemas de documentação (eu disse a ele que a documentação do python é ótima)
  • O suporte IDE é limitado (mencionado PyCharm e Wing IDE, não tenho certeza qual é o melhor)
  • ele teve problemas de compatibilidade entre versões mais antigas do python

Ele pode ser o único outro par de olhos no novo código. Como posso convencê-lo de que o Python é uma escolha melhor? O Ruby é um potencial meio termo?

    
por Corey D 20.02.2012 / 19:08
fonte

4 respostas

15

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

Você não pode. Todas as queixas do seu chefe são questões triviais de preferência pessoal.

  • He loves his curly braces. O Python usa espaços em branco significativos, com os quais nem todos concordam. No entanto, esta é uma preferência pessoal.

    Você pode mostrar que todos faz o recuo corretamente. Você pode encontrar pessoas que lhe dirão que não podem recuar corretamente. Mesmo que todo o seu código seja recuado corretamente

    No PHP, você vai recuar corretamente de qualquer maneira.

  • Problemas de documentação? O que isso pode significar? Se você perceber que a documentação do Python é menos boa que o PHP, isso também é uma causa perdida. É apenas percepção.

    Você pode mostrar todo o conjunto de documentação da biblioteca Python. Eles podem então dizer que é muito grande. Ou a cor errada. Ou a fonte errada. Há sempre novos "problemas de documentação".

  • O suporte a IDE é limitado? Sim. Se eles decidiram que é limitado; você terá dificuldades.

    Você pode mostrar o Eclipse ou o Komodo. Mesmo que você mostre como o Eclipse funciona, seu chefe (eventualmente) perceberá que um IDE para uma linguagem dinâmica não faz a conclusão do código bem e reclama.

  • Ele teve problemas de compatibilidade entre as versões mais antigas do python. Há problemas com o Python 3, mas o 2.7 deve estar disponível por mais tempo.

    Mesmo se você obtiver o exemplo específico de incompatibilidade, não poderá ir muito longe nesse caminho. Eles apenas dizem que a falta de compatibilidade retroativa do Python 3 é um fator decisivo.

    Todos os idiomas, plataformas e sistemas operacionais apresentam problemas de compatibilidade de tempos em tempos. Você pode encontrar (e documentar) uma dúzia de problemas de compatibilidade com PHP (começando com o problema do PHP5) e isso não convencerá ninguém que seja a favor do PHP e não a favor do Python.

Se o seu chefe não gosta de Python, nada mudará de ideia, exceto uma falha épica usando PHP. E tem que ser uma falha épica que deriva - diretamente - do uso do PHP.

Considere essa cotação real de uma pergunta real.

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

O Python é flexível e estrito demais. Ao mesmo tempo.

Is Ruby a potential middle ground?

Meio-chão? A ideia não faz sentido. É tudo ou nada para uma tecnologia específica. Encontrar algo como Ruby que nenhum de vocês goste é horrível.

Se você realmente não gosta de PHP, considere encontrar outro emprego em que não precise usá-lo.

    
por 20.02.2012 / 19:44
fonte
2

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

Parece que você está tendo uma batalha de preferências pessoais com seu chefe. Você não fornece aqui uma única razão pela qual, de um negócio & perspectiva de desenvolvimento, você acha que o Python seria melhor que o PHP. Então, se você quiser trabalhar em Python, forneça essas razões. E eu vou te dar uma dica - que você simplesmente prefere que a sintaxe não seja uma razão comercial válida. Ele obviamente prefere a sintaxe do PHP, e o desempatador geralmente vai para o chefe ...

    
por 20.02.2012 / 20:47
fonte
1

Sou um desenvolvedor Ruby, mas também me interessei por Python e PHP. Eu amo S. A resposta de Lott , mas pensei em acrescentar alguns dos meus próprios pensamentos.

Acho que convencer as pessoas que são como seu chefe é muito mais fácil quando você vai além das capacidades técnicas do que a linguagem / estrutura fornece.

Por exemplo, você pode demonstrar que a linguagem (e a comunidade em torno dela) permite uma melhor manutenção do código, melhores práticas (reforçadas por um framework, geralmente) e felicidade do desenvolvedor (quanto contratar pessoas sugam ?).

Se você colocá-lo em termos de quanto dinheiro seria economizado a longo prazo por não manter uma solução no-framework crufty PHP e ao invés de reescrevê-lo em um Python + Django Tenho certeza de que também poderia convencê-lo.

Se ele ainda é bastante teimoso em sua escolha, então eu ouvi que há outras pessoas procurando desenvolvedores .

Por último, eu não acho que Ruby é um "potencial meio termo", mas sim mais uma alternativa ao Python + Django. Muitos dos argumentos que convenceriam alguém de usar Python também poderiam ser usados para convencê-los de Ruby.

Minha preferência pessoal é, obviamente, Ruby. Principalmente devido à adesão religiosa às melhores práticas, como o desenvolvimento orientado para testes e o esforço constante para melhorar o idioma. Ah, e todo mundo é tão bom . Tipo, canadense-legal.

Mas isso não significa nada neste contexto. Depende totalmente de você qual a linguagem que você convencerá seu chefe a usar.

    
por 20.02.2012 / 22:24
fonte
0

Bem, a questão do IDE é fácil de resolver. Eclipse com o plugin Aptana 3 é um ótimo IDE do Django. Ele ainda tem destaque de sintaxe para modelos do Django.

Os problemas de compatibilidade com versões anteriores e futuras não são exclusivos do Python ou do Django. Se isso é uma preocupação, no entanto, você pode considerar o Web2Py em vez do Django. O Web2Py tem como meta manter sempre a compatibilidade com versões anteriores, e desde o seu lançamento em 2007. Ele ainda funciona com o Python 2.5 (lançado em 2006) também.

A documentação das bibliotecas padrão e de terceiros do Python é geralmente ótima. Eu realmente não posso resolver os problemas do seu chefe até saber de onde os problemas estão vindo.

    
por 20.02.2012 / 19:39
fonte