ti-enxame.com

Por que tanta popularidade com o Python?

Além de ser incomodado com o espaço em branco como sintaxe, não sou um odiador, apenas não fico fascinado com o Python.

Aprecio a poesia de Perl, e programei belos serviços da Web no bash & korn e Shebang gnuplot. Escrevo documentos em troff e não me importo com o REXX. Não encontrou o tcl mais útil anos atrás, mas qual é o grande fedor do Python? Vejo anúncios de emprego e muitos candidatos com isso como prêmio e troféu em seus currículos.


Eu acho que, na realidade, eu estou tentando ser vendido pessoalmente, simplesmente não consigo encontrar um motivo.

55
Jé Queue

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 "script" (ou seja, nenhuma etapa explícita de compilação).

61
Greg Hewgill

Eu descobri que a Python é a linguagem de programação mais natural em que eu já escrevi código. Eu codifiquei várias linguagens antes e depois do Python, e para uma maior ou menor Até certo ponto, você precisa lutar contra a linguagem para que ela faça o que deseja. Python reduz essa luta maciçamente. Eric S Raymond disse muito muito melhor do que eu posso em Por que Python?

Como um ponto relacionado, Python mantém sua limpeza mesmo evoluindo rapidamente. Na maioria das linguagens com as quais trabalhei, a introdução de novos recursos de linguagem introduz muitas rugas. Mas, com Python, mesmo a linguagem principal recursos (decoradores vêm à mente) são adicionados o tempo todo, sem parecer hacks feios.

76
Chinmay Kanchi

Espero que isso não pareça cínico, mas IMO Python é tão popular pela mesma razão que Java, C # e Objective-C são. Não porque haja algo de espetacular nas próprias linguagens, mas porque cada um deles tem um patrocinador corporativo capaz de produzir muita publicidade, muita publicidade e muitas bibliotecas e suporte para o idioma preferido.

26
Mason Wheeler

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

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

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

11
Ivo van der Wijk

Comparado ao Ruby, que é realmente legal e produz incríveis códigos de golfe, Python tem essa filosofia central de que "deveria haver uma - e de preferência apenas uma - maneira óbvia de fazer [coisas], "significa o idiomático Python. Descobri que essa é uma grande vantagem em comparação ao Ruby.

9
Dan Rosenstark

Comecei a amar Python pela mesma razão que Eric S. Raymond descreve: o ato de escrever programas em Python é conceitualmente muito semelhante a pensar no ato de projetando código na minha cabeça.

Aprender a ser um bom programador Python me transformou em um programador C # muito melhor. Isso tornou muito mais fácil entender o LINQ, por exemplo. Talvez eu nunca tivesse adotado um tipo como Dictionary<string, Func<T>>, ou ficou 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 decoradores. A lista continua.

8
Robert Rossney

Em primeiro lugar, a linguagem trivial peculiar como recuo forçado em Python pouco importa se a linguagem em si for poderosamente expressiva e útil. Eu também fui rejeitada no começo devido a isso, mas logo aprendi a olhar além dela e agora nem a sinto como um obstáculo, porque a linguagem é muito mais fácil para eu trabalhar. É como sigilos em variáveis ​​no Perl , é uma peculiaridade inofensiva da língua e qualquer pessoa confortável na língua não se sente incomodada com isso.

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

E isso é a resposta para sua pergunta. Você compara Python com Perl, bash e tcl. O fato é que isso não é uma comparação justa. Idiomas como o bash foram projetados para escrever pequenos scripts para automatizar tarefas comuns. Algumas pessoas pensam que o Perl também fica pesado se o código for suficientemente grande (o Perl bem escrito não, mas é difícil encontrar um código bem escrito em um projeto grande). O IMHO Python difere de outras linguagens de 'script', na medida em que se adapta muito bem a grandes projetos, bem como a pequenos scripts pontuais. Eu acho que Ruby também tem a mesma qualidade.

6
MAK

A filosofia de que o ditador benevolente deve reforçar 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 às tentativas de expressar pensamentos não-van Rossum. Seu pensamento funciona realmente bem para muitos (a maioria?) Programadores. Mas parece que não me encaixo no modelo de como programar.

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

[1] Veja o blog dele sobre como remover reduce.

6
Paul Nathan

Desde 2004, eu usei Python para desenvolver:

  • GUIs
  • Scripts de cenas do traçador de raios com Python para ligações C++
  • Sistemas de construção automatizados de plataforma cruzada
  • Scripts de teste
  • Ferramentas de uso geral para resolver seus problemas do dia a dia
  • Sites e aplicativos da Web

Em 2004, Python era a linguagem de escolha porque Python são portáteis no Windows, Linux e Mac com poucas modificações.

5
Thierry Lam

Eu acho que até certo ponto Python é a única linguagem de programação que você precisará, a menos que queira escrever um kernel do sistema operacional. É adequado para uso interativo, hacks aleatórios, administração de sistemas, assuntos científicos). aplicativos, ferramentas de sistema operacional, aplicativos Web, aplicativos 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 realmente bom para uma pessoa e uma empresa.

5
Peter Eisentraut

É elegante e realmente fácil de aprender, e quando você estiver familiarizado com os tipos básicos (especialmente as listas), sua produtividade não terá limites. É perfeito para algoritmos de prototipagem ou para escrevê-los em uma linguagem semelhante a 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 executar operações irritantes em arquivos. Eu o uso como uma linguagem de cola para fazer com que os subprocessos se comuniquem: não tão poderosos quanto o bash para algumas tarefas fáceis, mas MUITO MAIS fácil se você precisar fazer mais do que apenas uma única linha de código.

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

4
Lorenzo Stella

Para mim Python tem sido um amigo querido. É uma linguagem decente de scripts e prototipagem. As principais coisas que consigo pensar são:

  • Sintaxe limpa, muito simplista e fácil de entender
  • Multi-paradigma, usá-lo como uma linguagem imperativa? Certo. OOP? Sem problemas. Ele também possui alguns recursos leves da linguagem funcional, por exemplo lambda, lista de compreensão, etc.
  • Para necessidades básicas de computação, possui suporte nativo para 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, metaprogramação, decoradores, geradores, etc.
  • Rico suporte de biblioteca
4
grokus

Muitos Python amantes que vejo acabaram de mudar do ambiente C e ficaram impressionados com coisas como "Hello "+ "World" é "Hello World". Então, eu diria que esta é a primeira linguagem de script que não coleta tags esotéricas/específicas e que se espalha entre as pessoas martirizadas, como o fogo em uma floresta seca. E assim a moda criada agora vive por conta própria.

3
mbq

Voltando à questão agora que estou um pouco menos cansado:

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

  • Um suporte bastante forte à comunidade significa que existem algumas bibliotecas robustas, e Python funciona como um substituto decente para o MATLAB e algumas das outras linguagens populares nesse campo.
  • Ele funciona bem com C quando você precisa precisa de velocidade, mas geralmente a velocidade não é tão necessária, então a natureza interpretada do Python não é tão importante assim.
  • Descobri que é uma linguagem bastante acessível, sem um grande número daquilo que, para pessoas de fora, parece regras de sintaxe estranhamente arbitrárias. É bonito Swift para traduzir entre pseudo-código e Python.
  • "Pegue ou deixe OOP". Muitos projetos de programação científica não se beneficiam muito com a extensa OOP. Alguns fazem. É bom ter um idioma que possa saltar entre os dois facilmente.
  • Forte suporte entre plataformas. Especialmente porque o que trabalho raramente envolve GUIs, posso confiar em poder enviar um programa Python para outra pessoa sem me preocupar com o SO que eles estão executando.

Não é a linguagem completa de programação, mas é uma linguagem decente "Sim, eu provavelmente tenho uma ferramenta para resolver qualquer problema que surgir", e é provavelmente por isso que está desfrutando de popularidade no momento.

2
Fomite

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

Para os desenvolvedores da Web que estão migrando apenas de um conjunto de habilidades HTML, CSS + JS (anedoticamente uma grande fonte de novos programadores nos últimos anos), acho que isso a torna uma proposta muito atraente (ao lado de Ruby).

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

1
Jon Hadley

Eu acho que uma das principais razões é que 90% do google é feito de Python.

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

O interpretador Python e a extensa biblioteca padrão estão disponíveis gratuitamente na forma de código-fonte ou binário para todas as principais plataformas do Python, http: //www.python.org/ , e pode ser distribuído gratuitamente.O mesmo site também contém distribuições e ponteiros para muitos terceiros gratuitos Python, além de outros documentação.

O interpretador Python é facilmente estendido com novas funções e tipos de dados implementados em C ou C++ (ou em outros idiomas que podem ser chamados de C).) Python também é adequado como um idioma de extensão para aplicativos personalizáveis.

0
blackhat