Notícia publicada por brain em julho 30, 2003 10:33 AM
| TrackBack
O Slashdot avisou sobre o lançamento do Python 2.3 final após uma gestação de 19 meses. Você pode conferir a lista completa de novidades, mas eu sugiro que comece por esta lista de destaques. Tenho visto uma série de projetos interessantes baseados nesta linguagem, algum desenvolvedor tem comentários a acrescentar?
Ah, se o Java fosse tão fácil como o Python...
Não sou desenvolvedor mas parece que a Python é muito boa pelos comentários que tenho ouvido.
Por falar nisso alguém pode me dizer se a python tá mais para java ou perl ?
Nunca vi perl nem java mas me parece que não se parece com nenhum dos dois.
Para fazer uma string aparecer na tela várias vezes o código fica assim:
for p in range[50]: print "texto repetido"
nada a ver com as outras né?
Obrigado Rodrigo Nishino , mas o que queria perguntar é em termos de "compilação", pelo que vi no site oficial parece com o Perl, ou seja é "texto interpretado".
Me parece uma ótima linguagem pena que não é tão difundida quanto o java, tenho simpatia por ela ser OpenSource.
Por falar em java alguém pode me falar se o gcj é bom ? Existe algum jvm Open Source bom também ?
Assim como o perl, na verdade o python passa por uma etapa de pré-compilação na memória e é executado deste jeito. Assim, a velocidade dele não fica muito longe da do Java. E dá até pra compilar python pra bytecode de JVM, através do Jython.
Quanto ao gcj, depende do que você entende como "bom". É usável? Bastante. Quem sabe java agora pode mostrar a língua para aqueles programadores de C/C++ que ficam fazendo utilitariozinhos de língua de comando ;) Mas o maior defeito do gcj na atualidade, que nem é mesmo dele e sim de sua biblioteca de apoio, é não ter as bibliotecas do toolkit gráfico do java (Swing) implementadas. Mas dá pra usar a SWT, uma biblioteca aberta da IBM. O Eclipse (http://www.eclipse.org) já até foi compilado usando gcj...
Cabe lembrar que um programa java compilado nativamente com o gcj não é necessariamente mais rápido que um programa em bytecode executado pela JVM, pois esta tem liberdade de fazer algumas otimizações de código que só existem em tempo de execução. E os diversos coletores de lixo especializados do java oficial da Sun podem fazer muita diferença na execução também, enquanto que o gcj tem tipos mais básicos.
Existem várias JVMs livres pra GNU/Linux, sendo que a primeira que me vem à cabeça é a kaffe - http://www.kaffe.org/.
@Daniel
Por falar nisso alguém pode me dizer se a python tá mais para java ou perl ?
Depende, depende :)
"Perl simples" (se é que isso existe) está perto de python. A sintaxe pode ficar parecida, mas a maneira de pensar não.
A maneira de pensar, de fluir os dedos pra bater tecla, aproxima o Python de Java. Em Python, tudo é um objeto, mas, digamos... mais simples que em Java. Por examplo:
Java Hello World:
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
Python Hello World:
print 'Hello World'
Bem mais simples, né? :)
Como tudo é um objeto, você poderia fazer algo do tipo:
var = ' Hello World '
var.strip()
Que também é bem legal. Claro que não apenas strings, mas desde números, métodos, listas/dicionários (arrays de PHP), bem, quase tudo :)
Quase tudo que Java tem, Python tem. Ou se bobear tudo. Não programei muito em Java pra saber dessas coisas, integração mais profunda com as bibliotecas, ou coisas de GUI/rede/database ao mesmo tempo.
Uma coisa eu sei, Python roda em mais plataformas que o Java, inclusive no próprio JVM :)
O grande lance do Python é a elegância. É possível fazer várias coisas 'complexas' com poucas linhas. E o código, na minha opinião, é o mais bonito de todas as linguagens. Aquela salada que o Perl pode ficar, em Python, por *DESIGN* da linguagem, é quase impossível de se fazer.
Claro que eu sou suspeito, porque sou um "xiita" do Python, mas fazer o que, amo mesmo ele :)
Quando falam que Python parece com Perl o Guido van Rossum deve ficar irado :) Ele praticamente criou o Python para que as pessoas não precisassem mais cripto... programar em Pêrl. :)
sei que parecido não é igual, mas q. o pynthon parece com perl, isso parece mesmo...
Ola Júlio,
Programo em C/C++ e clipper-likes, estou precisando me "apaixonar" por alguma linguagem de script, por vários motivos. Estou flertando com Python há algum tempo, mas não saio do lugar :(. Que dicas de sites/docs vc poderia passar?
ps.: tentei entrtar no seu inercia, mas o php não deixou (várias mensagens de erro).
Perl x Python:
Não querendo começar uma flamewar, mas Perl é simples e, IMVHO, mais prático que Python. A vantagem do perl é que você tem várias maneiras de fazer a mesma coisa. A desvantagem do perl é que você tem várias maneira de fazer a mesma coisa (sim, as duas são iguais. na verdade, a desvantagem é que pouca gente sabe fazer bom uso disso).
Talvez aqueles nomes de variáveis como $*, ou $! ou até $< seja a parte mais 'criptografada' do perl, mas nada que um 'use English;' não resolva. Python pode até ser mais elegante - em certos casos -, e eu concordo com isso. Entretando, vale lembrar que C também é write-only se você escrever mal, nem por isso é uma linguagem ruim - dependendo do caso, obviamente.
A vantagem do Python é ser puramente OO. Talvez Perl 6 ainda chegue lá, o que é bem provável. Mesmo assim, quando o negócio é praticidade, eu ainda prefiro Perl.
Java:
Poisé patola, vale lembrar também a SWT tomou uma direção muito melhor que a Swing, em termos de velocidade e compatibilidade. Eu recomendo a SWT pra colegas quando a conversa toma o rumo do Java. Pena que poucos programas usam essa biblioteca..
Sobre VMs: uma muito boa é a sablevm. Dizem que está num estágio inicial de desenvolvimento, mas comigo roda perfeita. E é muito rápida.
Ah, sim, e a maior desvantagem de compilar um código feito em java pra código nativo: perde-se a capacidade de reflexão. Ou seja, nada de 'Class.forName(nome_da_minha_classe)'.
É isso.
Sob o ponto de vista praticidade Python e PERL se tornam semelhantes.
Versatilidade me parece uma palavra interessante para definir Python. Python é OO, mas você pode usar a linguagem para a criação de scripts rápidos sem usar OO (sim, internamente vc está usando OO mas superficialmente isso não aparece). Já se você quer desenvolver um sistema de porte maior, um pouco mais complexo, utilizando fortemente OO, Python também serve. Já se você quer aprender uma linguagem de programação de forma rápida e descomplicada Python também serve (eu tenho uma idéia de usar python em cursos de ciências da computação. Por servir tanto para o ensino de programação estruturada quanto para o ensino de programação OO, mas ainda preciso elaborar melhor essa idéia).
Código ilegível é código ilegível em qualquer linguagem de programação. Isso não é uma exclusividade de PERL (claro que variáveis com $_, $*, @, %, o código tende a ficar ilegível mais facilmente, mas não é essa a questão). É possível se escrever código ilegível em Python também. Que o diga os lambda(), map() e reduce() da linguagem que são muito úteis mas que devem ser usados com cautela, senão....
(btw, já notaram como eu escrevo em exagero? ah! eu não gostava de PERL até descobrir o PHP)
Bom, então Perl e Python são muito semelhantes mesmo. Apesar de Perl não ser OO por natureza - até na versão 5 -, eu programo nele quase que exclusivamente utilizando OO, assim como os módulos que eu utilizo são, em grande parte, OO. O que não é OO normalmente são os scripts que fazem uso dos módulos.
Falando sobre área acadêmica, alguns amigos meus também possuem as mesmas idéias sobre como usar Perl em cursos de ciência da computação - inclusive pra substituir as 'malditas' aulas de Java ;-).
Pra encerrar, PHP nasceu do Perl, mas - na minha opinião - foi uma implementação frustrada. A linguagem lembra um C com coletor de lixo - não é aquelas coisas -, mas o pior é o interpretador: altamente não-modular. Ou seja, pesado e facilmente sucetível a falhas.
É isso.
Eu sinceramente acho que cada linguagem tem seu ponto forte. Não o que ela faz, mas o que ela facilita fazer.
Linguagem é só a sintaxe. Qual o problema entre Perl x Java x Python x PHP - alguém fugiu do assunto, são linguagens com focos diferente que podem ser usadas para a mesma coisa. Vou citar os principais pontos fortes NA MINHA OPINIÃO.
Java - seguro (apesar de falarem muito, é a mais segura)
Python - Linguagem de script que nasceu muito bem projetada, nasceu para ser simples (acho eu! ;-)) e para de certa forma, ser a primeira linguagem de programacão de muitas pessoas
Perl - Nasceu para facilitar muito as coisas, tarefas simples e até criar sistemas sofisticados. isso é bom.
PHP - nasceu para a web, é simples, funciona bem! e ao meu ver é a melhor para fazer uma página sofisticada ou não. ;-)
Claro q cada uma tem seu ponto fraco tb:
Java - ainda é lerda...
Python - falta crescer um pouquinho..
PHP - Muita coisa é meio gambi no PHP, quem olhar o código verá... mas na versão 5 vai melhorar.
Perl - o problema do perl naum é a sintaxe, as pessoas q reclamam da sintaxe é pq estão acostumadas com Pascal (hehehe, brincadeira!), mas acho que o problema está nela querer fazer tudo, atirar para todo lado.. há algum problema relativo ao uso de memória.. parce que vae ser solucionado na versão 6
Bom, eu sinceramente de todas estas prefiro o C. (hahahaha), é sério... apesar de ter tido contato com elas todas, algumas mais, outras menos... mas ainda sou do tempo do C, se precisar de algo rápido vou de Perl.
E quem comecar a reclamar e falar bobagem que va fazer coisas em Assembly, cobol, cliper ou Ada!!!
;-)
Um abraco galera!!
Estou começando a gostar dessa linguagem... Alguém poderia me informa qual programa utilizar para fazer a compilação ?!?!?
Thaks!
O python é de mais, eu vinha apanhando muito do C e depois que esperimentei o phyton ha... faço tudo nele....
Comentários desativados: Esta discussão é antiga e foi arquivada, não é mais possível enviar comentários adicionais.