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 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.
0x09
, você provavelmente não faria objeção e provavelmente usaria recuo consistente na largura de recuo preferida. É a mesma coisa que o Python permite.Respostas:
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).
fonte
len
?__double_underscore_names__
, misturaalllowercasefunctionames
commixed_underscore
emixedCamelCase
nomes. Requer um:
no final dedef
ou loops. Ele usa um monte de abreviatura estranhostr
,dict
,islice
. Parece que não havia nenhuma convenção. É um caos puro. Peps, pips, zens ... é mais como uma religião de python do que uma linguagem. Pode ter alguns recursos interessantes, mas não explica por que tantas pessoas estão tão empolgadas com isso. Não há nada de especial em pyhon. Apenas outro produto mal projetado.def
? Por que defino uma função com adef
e não afunc
? Não há outra língua que não seja tão intuitiva quanto a python.Eu descobri que o Python é a linguagem de programação mais natural em que já escrevi código. Eu codifiquei várias linguagens antes e depois do Python e, em maior ou menor grau, você precisa lutar contra a linguagem para faça o que você quiser. Python reduz essa luta maciçamente. 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 idiomas apresenta muitas rugas. Mas com o Python, até os principais recursos da linguagem (decoradores vêm à mente) são adicionados o tempo todo, sem parecer feios.
fonte
Espero que isso não pareça cínico, mas o 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 línguas, mas porque cada uma delas tem um patrocinador corporativo capaz de produzir muita publicidade, muita publicidade e muitas bibliotecas e suporte para o idioma preferido.
fonte
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 PHP / Visual Basic / C ++ / Java / C # padrão para algo mais exótico (comercial / profissional), como Python, Ruby, Haskell e até perl (por causa do seu enorme valor de hack e obscuridade).
Não me entenda mal, há programadores C # / VB.net muito experientes que se orgulham de seu trabalho e código (os caras do StackOverflow são um exemplo muito bom), mas você não se torna um programador python apenas porque foi 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.
fonte
Comparado ao Ruby, que é realmente legal e produz incríveis códigos de golfe, o Python tem essa filosofia central de que "deveria haver uma - e de preferência apenas uma - maneira óbvia de fazer [coisas]", significando a maneira idiomática do Python. Eu descobri que essa é uma grande vantagem em comparação ao Ruby.
fonte
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 projetar código na minha cabeça.
Aprender a ser um bom programador Python me tornou um programador C # muito melhor. Isso facilitou muito a compreensão do LINQ. Eu poderia nunca ter adotado um tipo como
Dictionary<string, Func<T>>
, ou me acostumado a usaryield return
, se 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.fonte
Em primeiro lugar, a linguagem insignificante peculiaridade como recuo forçado no 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 por ela.
Para entender as razões pelas quais tantas pessoas pensam que o Python é ótimo, tente e aprenda a linguagem. Os motivos são basicamente os mesmos que o Perl. Acho que gosto da sintaxe no Python (por exemplo, compreensão de lista, sintaxe OOP, etc.), mas isso é realmente subjetivo e sua opinião pode ser diferente. Prefiro o Python para projetos maiores, enquanto ainda uso o Perl para scripts menores.
E essa é a resposta para sua pergunta. Você compara Python a 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 o código bem escrito é difícil de encontrar 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.
fonte
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 muito bem para muitos programadores. Mas parece que não me encaixo no modelo dele de como programar.
É por isso que acredito que Perl é uma linguagem superior.
[1] Veja o blog dele sobre remoção
reduce
.fonte
Eu acho que até certo ponto o 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, aplicativos científicos, ferramentas de sistema operacional, aplicativos Web, aplicativos GUI, incorporação etc. etc., é portátil, gratuito e amplamente utilizado. Nenhuma outra linguagem de programação cobre realmente todos esses campos na prática. É realmente um bom investimento estratégico para uma pessoa e uma empresa.
fonte
Desde 2004, eu uso o Python para desenvolver:
Em 2004, o Python era a linguagem de escolha, porque os scripts do Python são portáteis no Windows, Linux e Mac com muito poucas modificações.
fonte
Para mim, Python tem sido um amigo querido. É uma linguagem decente de script e prototipagem. As principais coisas em que consigo pensar são:
fonte
É 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.
fonte
Muitos amantes de Python que acabei de ver mudaram do ambiente C e ficaram impressionados com coisas do tipo
"Hello "+ "World"
is"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.fonte
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:
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.
fonte
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 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 ....
fonte
Eu acho que uma das principais razões é que 90% do google é feito de Python.
No entanto, o 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 e a digitação dinâmica do Python, juntamente com sua natureza interpretada, o tornam uma linguagem ideal para scripts e desenvolvimento rápido de aplicativos em muitas áreas da maioria das plataformas.
O intérprete 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 site do Python, http://www.python.org/ , e podem ser distribuídos gratuitamente. O mesmo site também contém distribuições e ponteiros para muitos módulos, programas e ferramentas Python gratuitos de terceiros 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.
fonte