Por que essa popularidade com o Python? [fechadas]

52

Além de estar irritado com os espaços em branco como sintaxe, eu não sou um odiador, eu simplesmente não entendo o fascínio pelo Python.

Eu aprecio a poesia de Perl, e tenho programado serviços web bonitos em bash & korn e shebang gnuplot . Eu escrevo documentos em troff e não me importo com o REXX. Não encontrou tcl mais útil anos atrás, mas qual é o grande problema do Python ? Vejo listagens de empregos e muitos candidatos com isso como prêmio & troféu em seus currículos.

Eu acho que, na verdade, estou tentando me tornar pessoalmente vendido com isso, não consigo encontrar uma razão.

    
por Xepoch 30.09.2015 / 02:56
fonte

16 respostas

60

O Python é uma linguagem bem projetada com uma sintaxe razoavelmente limpa, uma biblioteca padrão abrangente, excelente documentação incluída e de terceiros, implantação generalizada e o imediatismo de uma linguagem de estilo "scripting" (ou seja, nenhuma etapa de compilação explícita).

    
por 20.09.2010 / 05:52
fonte
75

Eu descobri que o Python é a linguagem de programação mais natural em que já escrevi o código. Codifiquei em muitas linguagens antes e depois do Python e, em maior ou menor extensão, você tem que lutar a linguagem para fazê-lo fazer o que quiser. Python reduz essa luta massivamente. Eric S Raymond disse muito melhor do que eu em Por que Python?

Como um ponto relacionado, o Python mantém sua limpeza mesmo evoluindo rapidamente. Na maioria dos idiomas com os quais trabalhei, a introdução de novos recursos de linguagem apresenta muitas rugas. Mas com o Python, mesmo os principais recursos de linguagem (decoradores que vêm à mente) são adicionados o tempo todo, sem se sentirem como hacks feios.

    
por 20.09.2010 / 06:15
fonte
25

Espero que isso não pareça muito cínico, mas o Python da IMO é tão popular pela mesma razão que Java, C # e Objective-C são. Não porque haja algo de espetacular nos idiomas em si, mas porque cada um deles tem um patrocinador magocorporativo capaz de produzir muita propaganda, muita propaganda e muitas bibliotecas e suporte para o idioma que preferem.

    
por 20.09.2010 / 05:39
fonte
11

Minha experiência é que as pessoas que encontram verdadeira alegria em programar muitas vezes buscam uma linguagem que lhes seja mais adequada do que aquilo que aprenderam na escola ou na universidade. Basicamente, isso significa que eles passarão do padrão PHP / Visual Basic / C ++ / Java / C # para algo mais exótico (business / careerwise) como Python, Ruby, Haskell e até mesmo perl (por causa de seu enorme valor hack e obscuridade).

Não me entenda mal, existem muito experientes programadores C # / VB.net que têm muito orgulho e alegria em seu trabalho e código (os caras do StackOverflow são um bom exemplo), mas você não se torna um programador de python só porque é isso que eles ensinaram na escola; tem que ser sua própria decisão.

Eu acho que Jeff Atwoord tinha um post sobre isso, mas não consigo encontrá-lo. Se eu encontrar, atualizarei este comentário.

    
por 20.09.2010 / 08:47
fonte
9

Comparado ao Ruby, que é realmente legal e produz incríveis Code-offs, o Python tem essa filosofia básica de que "deve haver uma - e de preferência apenas uma - maneira óbvia de fazer [coisas]", significando a maneira idiomática do Python . Eu descobri que isso é uma grande vantagem comparado ao Ruby.

    
por 23.10.2010 / 01:26
fonte
8

Eu comecei a gostar do Python pela mesma razão que Eric S. Raymond descreve: o ato de escrever programas em Python é conceitualmente muito semelhante a pensar o ato de projetar código na minha cabeça.

Aprender a ser um bom programador Python fez de mim um muito melhor programador C #. Isso tornou o entendimento do LINQ muito mais fácil, por exemplo. Eu nunca poderia ter abraçado um tipo como Dictionary<string, Func<T>> , ou fiquei confortável usando yield return , se eu não tivesse usado classes e geradores em Python. AOP é muito mais fácil de entender agora que eu usei decoradores Python. A lista continua.

    
por 21.09.2010 / 01:40
fonte
6
Em primeiro lugar, as peculiaridades insignificantes da linguagem, como o recuo forçado no Python, pouco importam se a linguagem em si é poderosamente expressiva e útil. Eu também fui rejeitado no começo devido a isso, mas logo aprendi a olhar para trás e agora nem mesmo sinto isso como um obstáculo, porque a linguagem é muito mais fácil para eu trabalhar. É como sigilos em variáveis em Perl. , é uma peculiaridade de linguagem inofensiva e qualquer pessoa confortável na linguagem não se sente incomodada com isso.

Para entender as razões pelas quais tantas pessoas pensam que o Python é ótimo, tente aprender o idioma. As razões são basicamente as mesmas que Perl. Acho que gosto da sintaxe em Python (por exemplo, compreensão de listas, sintaxe de OOP, etc.), mas isso é realmente subjetivo e sua opinião pode ser diferente. Eu prefiro o Python para projetos maiores, enquanto ainda uso o Perl para scripts menores.

E essa é a resposta para sua pergunta. Você compara o Python ao Perl, bash e tcl. A questão é que não é uma comparação justa. Idiomas como o bash foram projetados para escrever pequenos scripts para automatizar tarefas comuns. Algumas pessoas acham que o Perl também fica pesado se o código fica suficientemente grande (bem escrito, o Perl não, mas é difícil obter um código bem escrito em um projeto grande). O IMHO Python difere de outras linguagens de 'scripting', pois ele se adapta muito bem a grandes projetos, assim como pequenos scripts únicos. Eu acho que o Ruby também tem essa mesma qualidade.

    
por 20.09.2010 / 11:59
fonte
5

Eu acho que, até certo ponto, o Python é a única linguagem de programação que você precisará, a menos que você queira escrever um kernel do sistema operacional. É adequado para o uso interativo, hacks aleatórios, administração de sistemas, aplicativos científicos, ferramentas de sistema operacional, aplicativos da Web, aplicativos de GUI, incorporação, etc. etc., é portátil, gratuito e amplamente utilizado. Nenhuma outra linguagem de programação realmente cobre todos esses campos na prática. É um investimento estratégico muito bom para uma pessoa e uma empresa.

    
por 23.09.2010 / 12:16
fonte
5

Desde 2004, eu uso o Python para desenvolver:

  • GUIs
  • Script de cenas do ray tracer com ligações do Python para o C ++
  • Sistemas de compilação automatizada entre plataformas
  • Testar scripts
  • Ferramentas de uso geral para resolver seus problemas do dia a dia
  • sites e aplicativos da web

Em 2004, o Python era a linguagem escolhida porque os scripts Python são portáveis em Windows, Linux e Mac com muito poucas modificações.

    
por 22.10.2010 / 23:38
fonte
4

Para mim, Python tem sido um amigo querido. É uma linguagem decente de criação de scripts e protótipos. As principais coisas que posso pensar são:

  • Limpa sintaxe, muito simplista e fácil de entender
  • Multi-paradigma, use-o como uma linguagem imperativa? Certo. OOP? Sem problemas. Ele também possui alguns recursos de linguagem funcional leve, por exemplo, lambda, compreensões de lista, etc.
  • Para necessidades básicas de computação, ele tem suporte nativo para as estruturas de dados essenciais, matriz, tupla, dicionário (matriz associativa), conjunto, etc.
  • Outros recursos podem tornar um programador muito produtivo, por exemplo digitação de pato, reflexão, meta-programação, decoradores, geradores, etc.
  • Suporte rico a bibliotecas
por 21.09.2010 / 01:45
fonte
4

É elegante e muito fácil de aprender, e quando você estiver familiarizado com seus tipos básicos (especialmente listas), sua produtividade não tem limite. É perfeito para algoritmos de prototipagem, ou para escrevê-los em uma linguagem parecida com um pseudocódigo que pode ser colocada diretamente em uma máquina, e é realmente boa como uma linguagem de script para executar tarefas repetitivas ou realizar operações irritantes em arquivos. Eu uso isso como uma linguagem de cola para fazer os subprocessos se comunicarem uns com os outros: não tão poderoso quanto o bash para algumas tarefas fáceis, mas é mais fácil se você precisar fazer mais do que apenas uma linha de código.

E então não faz distinção entre funções e sub-rotinas, você sabe o que quero dizer.

    
por 23.10.2010 / 01:16
fonte
4

A filosofia de que o ditador benevolente deve impor sua idéia de bom estilo [1], sua idéia de boa programação, sua idéia de como programar me frustra regularmente. Eu não penso como van Rossum. No entanto, sua linguagem resiste a tentativas de expressar pensamentos não-van Rossum. Seu pensamento funciona muito bem para muitos programadores. Mas parece que não me encaixo em seu modelo de como programar.

É por isso que acredito que o Perl é uma linguagem superior.

[1] Veja o blog dele sobre a remoção de reduce .

    
por 23.10.2010 / 02:00
fonte
3

Muitos amantes do Python que vejo mudam do ambiente C e ficaram impressionados com coisas como "Hello "+ "World" is "Hello World" . Então, eu diria que esta é a primeira linguagem de script que não coleta tag esotérico / específico e assim se espalha entre pessoas martirizadas como o fogo em uma floresta seca. E a moda criada agora vive sozinha.

    
por 20.09.2010 / 15:45
fonte
2

Reaproximando a questão agora que estou um pouco menos cansado:

O Python é uma linguagem que eu acho particularmente adequada para tarefas de programação científica, que é um dos lugares onde sua popularidade está crescendo bastante strong. Algumas razões pelas quais:

  • Suporte comunitário bastante strong significa que existem algumas bibliotecas strongs, e o Python funciona como um substituto decente para o MATLAB e algumas das outras linguagens populares nesse campo.
  • Ele toca bem com C quando você faz precisa de velocidade, mas muitas vezes a velocidade não é realmente necessária, então a natureza interpretada do Python não é tão grande assim.
  • Descobri que essa é uma linguagem razoavelmente acessível, sem um grande número do que, para pessoas de fora, parecem regras de sintaxe estranhamente arbitrárias. É muito rápido traduzir entre pseudo-código e Python.
  • "Pegue ou deixe-o OOP". Muitos projetos de programação científica não se beneficiam muito de extensas OOP. Alguns fazem. É bom ter uma linguagem que pode pular entre os dois com facilidade.
  • Suporte strong a várias plataformas. Especialmente porque o que eu trabalho raramente envolve GUIs, eu posso muito bem confiar em ser capaz de enviar um programa em Python para outra pessoa sem se preocupar com o SO que ele está rodando.

Não é o fim de tudo, mas todas as linguagens de programação, mas é decente "É, eu provavelmente tenho uma ferramenta para resolver qualquer problema que surja", o que provavelmente é o motivo de estar desfrutando de popularidade no momento.

    
por 26.09.2011 / 02:35
fonte
1

O Python é uma linguagem muito 'webby' em ambos os frameworks disponíveis (Django, Zope etc) e nas bibliotecas facilmente importáveis, que novamente cobrem muitas funções web.

Para desenvolvedores web que estão migrando apenas de HTML, CSS + JS (anedotamente uma grande fonte de novos programadores nos últimos anos), eu acho que isso torna uma proposta muito atraente (idem, Ruby).

Além disso, o Google não é a Microsoft ....

    
por 20.09.2010 / 09:57
fonte
0

Acho que uma das principais razões é que 90% do google é feito do Python.

No entanto, o Python também é uma linguagem de programação poderosa e fácil de aprender. Ele possui estruturas de dados eficientes de alto nível e uma abordagem simples, mas eficaz, para programação orientada a objetos. A sintaxe elegante e a digitação dinâmica do Python, junto com sua natureza interpretada, tornam-no uma linguagem ideal para scripts e desenvolvimento rápido de aplicativos em muitas áreas na maioria das plataformas.

O interpretador Python e a extensa biblioteca padrão estão disponíveis gratuitamente em formato fonte ou binário para todas as principais plataformas no site da Python, link e pode ser distribuído gratuitamente. O mesmo site também contém distribuições e indicadores para muitos módulos, programas e ferramentas de Python gratuitos e documentação adicional.

O interpretador Python é facilmente estendido com novas funções e tipos de dados implementados em C ou C ++ (ou outras linguagens que podem ser chamadas de C). O Python também é adequado como uma linguagem de extensão para aplicativos personalizáveis.

    
por 26.09.2011 / 02:13
fonte