• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

fnds

Porque é que o python tem poucos utilizadores?

133 mensagens neste tópico

Porque é que o python tem tão poucos utilizadores aqui no fórum?

Sendo uma linguagem com uma sintaxe tão "limpa", tão facil de aprender, porque não conquista mais utilizadores?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Porque... na minha faculdade aprende-se Java e .NET e além disso o mercado está a pedir é .NET e não Python...digo eu :hmm:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Porque é que o python tem tão poucos utilizadores aqui no fórum?

Sendo uma linguagem com uma sintaxe tão "limpa", tão facil de aprender, porque não conquista mais utilizadores?

Tenho uma ideia completamente oposta, isto é acho que tem, bastantes utilizadores... Não existem é tantos como de VB, C e afins. Na escolas/universidades não se costuma dar Python, salvo raras excepções.

Depois é aquilo que o vitortomaz disse, o mercado chama por Java/.NET.

Depois não é por ter a sitaxe limpa que chama mais utilizadores. :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Porque... na minha faculdade aprende-se Java e .NET e além disso o mercado está a pedir é .NET e não Python...digo eu :hmm:

Isto lança outra pergunta,

Porque o mercado (as empresas) não apostam no python?

Depois não é por ter a sitaxe limpa que chama mais utilizadores. :P

Para quem se inicia ajuda, é mais facil de ler o código.
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Python é uma excelente linguagem para progredires do print "ois" ao ''.join(map(str, if i % 2])), no doubts about that. No entanto, o Pascal é a linguagem que se ocupa actualmente de começar a preparar o raciocínio do pessoal, e Python ainda tem de seduzir umas quantas pessoas para começar a ser mais usado. A questão do mercado é outra que não ajuda o Python. Apesar de haver empresas que usam Python, tenho a ideia que 70% das empresas é Java, C# ou VB.NET. Conclusão, apenas autodidactas ou programadores já experientes que estão fartos de escrever 1981823719823712839 caracteres para um coisa simples ou alguns alunos de algumas universidades que adoptam o Python como uma linguagem de iniciação é que a usam para além do print "Hello World".

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
programadores já experientes que estão fartos de escrever 1981823719823712839 caracteres para um coisa simples

eu não conheço bem python, mas também não me parece que o que dizes seja muito realista...

e as potencialidades de uma linguagem .NET ou Java a comparar com Python? não serão bem maiores?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu não conheço bem python, mas também não me parece que o que dizes seja muito realista...

e as potencialidades de uma linguagem .NET ou Java a comparar com Python? não serão bem maiores?

Poderá ser, não trabalho com linguagens .NET. Mas dá-me aí um exemplo numa ling .NET, que logo fazemos comparações. Anyway, esses programadores a que me referi era programadores de C p.e.
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Python, não ganha mercado porque não tem plataforma para isso, plataforma que Java e .NET tem.

A nível de aplicações empresariais pelo menos Java que conheço melhor tem recursos quase infinitos cada dia que passa descubro mais novidades e parece que não tem fim.

Para além disso são linguagens com muita documentação e suporte e ferramentas de com extrema produtividade.

Poderá ser, não trabalho com linguagens .NET. Mas dá-me aí um exemplo numa ling .NET, que logo fazemos comparações. Anyway, esses programadores a que me referi era programadores de C p.e.

Pá não compares Java e .NET com C tirando a sintaxe parecida não tem nada a ver.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Python, não ganha mercado porque não tem plataforma para isso, plataforma que Java e .NET tem.

A nível de aplicações empresariais pelo menos Java que conheço melhor tem recursos quase infinitos cada dia que passa descubro mais novidades e parece que não tem fim.

Para além disso são linguagens com muita documentação e suporte e ferramentas de com extrema produtividade.

E Python não? A stdlib do Python é enorme e está extremamente bem documentada. Tens milhares de módulos pela internet fora, 80% deles com documentação excelente. Quando queres consultar a documentação de algum módulo no teu sistema, abres a shell do Python e fazes help('nome do modulo'), e ele dá-te, para além da documentação escrita pelo programador, as variáveis definidas, tudo tudo mesmo. Para desenho de interfaces gráficas tens, por exemplo, Glade para GTK, wxGlade para wxWidgets, isto só dos nomes mais soantes. IDEs? O único que uso e que me satisfaz completamente as necessidades é o Geany. Sintaxe highlighting, o equivalente ao intellisense, um browser de variáveis e objectos, atalhos todos xpto's para testar, para fazer debug, etc. Para debug temos, para além das exceptions que são bem informativas, o PDB (equivalente ao GDB do C, temos um tutorial aí do rolando2424 para o PDB).

Se não era a isto que te referias, explica-te melhor. :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Resumindo: com Python até podes escrever menos código, mas isso por si só não é nenhuma vantagem...

imagino um cenário: vou desenvolver um projecto em python, questões:

1- consigo fazer tudo o que conseguia se usa-se, por exemplo, C# ?

2- ligações a base de dados como é? da mesma forma? tem alguma coisa parecida com LINQ?

3 - depois quem é que faz manutenção se "ninguém" sabe python? vou estar o resto da vida "agarrado" a esse projecto?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Python é perfeitamente capaz de fazer praticamente tudo o que o .NET faz. Mas é 10-20x mais lento. Embora isto cada vez importe menos, sempre é um factor a ter em conta...

As empresas gostam de usar plataformas suportadas por empresas por trás, exemplos do .NET e do Java.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Python, não ganha mercado porque não tem plataforma para isso, plataforma que Java e .NET tem.

A nível de aplicações empresariais pelo menos Java que conheço melhor tem recursos quase infinitos cada dia que passa descubro mais novidades e parece que não tem fim.

Para além disso são linguagens com muita documentação e suporte e ferramentas de com extrema produtividade.

Se o python n tiver suporte para determinada coisa basta fazer um modulo em c e está feito, é muito facil "expandi-la"...

Resumindo: com Python até podes escrever menos código, mas isso por si só não é nenhuma vantagem...

imagino um cenário: vou desenvolver um projecto em python, questões:

1- consigo fazer tudo o que conseguia se usa-se, por exemplo, C# ?

2- ligações a base de dados como é? da mesma forma? tem alguma coisa parecida com LINQ?

3 - depois quem é que faz manutenção se "ninguém" sabe python? vou estar o resto da vida "agarrado" a esse projecto?

1 - Não conheço C, mas de certeza que consegues fazer tudo o que fazes em C# com python, nem que para isso tenhas de criar um modulo em C.

2 - Um dos modulos standard do python é o sqlite.

3 - É isso que esta-mos a discutir aqui...

Python é perfeitamente capaz de fazer praticamente tudo o que o .NET faz. Mas é 10-20x mais lento. Embora isto cada vez importe menos, sempre é um factor a ter em conta...

Para mim este é um dos poucos pontos contra o python, apesar de que se o programa for bem feito pode passar-se esse 10-20x para umas 5x.
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

1- consigo fazer tudo o que conseguia se usa-se, por exemplo, C# ?

Se me disseres o que vais fazer, é mais simples responder...

2- ligações a base de dados como é? da mesma forma? tem alguma coisa parecida com LINQ?

Não sei o que é link, mas tens ligações a uma dúzia de SGBDs, desde MySQL a SQlite, passando pelo PostgreSQL, etc.

3 - depois quem é que faz manutenção se "ninguém" sabe python? vou estar o resto da vida "agarrado" a esse projecto?

Isso é o mesmo que dizeres que desenvolver para Linux é perca de tempo porque "ninguém" sabe administrar sistemas Linux.

Mas é 10-20x mais lento. Embora isto cada vez importe menos, sempre é um factor a ter em conta...

Right, aí tens razão. :P

As empresas gostam de usar plataformas suportadas por empresas por trás, exemplos do .NET e do Java.

Não percebo que segurança é que isso lhes dá...

Se o python n tiver suporte para determinada coisa basta fazer um modulo em c e está feito, é muito facil "expandi-la"...

Isso é complicar demasiado, mas sim, é uma possibilidade. Sem contar que isso ajuda em termos de performance...

1 - Não conheço C, mas de certeza que consegues fazer tudo o que fazes em C# com python, nem que para isso tenhas de criar um modulo em C.

Python + C não é solução, como já disse. Besides, há a questão de integração com o SO.

2 - Um dos modulos standard do python é o sqlite.

In fact, o Python já traz desde há muitas versões uma engine para DBs.

Para mim este é um dos poucos pontos contra o python, apesar de que se o programa for bem feito pode passar-se esse 10-20x para umas 5x.

Isso é o mesmo que dizeres que um programa em C é 10x mais lento que o mesmo programa em Assembly, mas se usares inline assembly podes levar a diferença a apenas 5x.
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Python + C não é solução, como já disse. Besides, há a questão de integração com o SO.

Então qual é a solução?

Isso é o mesmo que dizeres que um programa em C é 10x mais lento que o mesmo programa em Assembly, mas se usares inline assembly podes levar a diferença a apenas 5x.

:P
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Então qual é a solução?

A solução é submeter-se à velocidade que tem ou procurar outra linguagem se a velocidade for um factor crítico.
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu falo de minha justiça. No meu projecto de licenciatura usei Python em vez de C# (era a linguagem de opção caso não fosse eu a programar) e fiz tudo o que era preciso e ainda mais. Além disso, nunca tive um problema do género: "bolas.. .não se consegue fazer isto em python..ainda não fizeram módulos para isto..".

Acho é que como é uma linguagem nova, há pouca gente a começar a adaptar. Linguagens mais antigas (C, Java), ficaram com posição dominante, mas acho que daqui a uns anitos, este panorama mudará-

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho é que como é uma linguagem nova, há pouca gente a começar a adaptar. Linguagens mais antigas (C, Java), ficaram com posição dominante, mas acho que daqui a uns anitos, este panorama mudará-

Python já existe desde 1991. Java só apareceu em 1995. :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O python tem outra vantagem que é a portablilidade, acho, repito, acho que não se pode executa uma aplicação Java sem ter JVM nem C# sem ter .net fW.

Quanto á comparação do código, se não se importarem, escrevam um programa em java e outro em c# que faça o mesmo que este (é este por ser o primeiro do armazem de código)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O python tem outra vantagem que é a portablilidade, acho, repito, acho que não se pode executa uma aplicação Java sem ter JVM nem C# sem ter .net fW.

Assim como não podes executar um programa em Python sem o runtime, quer instalado ou distribuido em forma de DLL com o programa.

Quanto á comparação do código, se não se importarem, escrevam um programa em java e outro em c# que faça o mesmo que este (é este por ser o primeiro do armazem de código)

Este tipo de comparações não fazem sentido nenhum.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Assim como não podes executar um programa em Python sem o runtime, quer instalado ou distribuido em forma de DLL com o programa.

Triton o que eu queria dizer é que podes distribuir uma aplicação python sem teres de instalar nada. O C# e o Java permitem isso?
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Triton o que eu queria dizer é que podes distribuir uma aplicação python sem teres de instalar nada. O C# e o Java permitem isso?

Isso não tem nada a ver com portabilidade. E sim, também podes distribuir os DDLs da JVM e do .NET com o teu programa, mas ninguém faz isso...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu acho que o python até é uma linguagem bastante usada pelo pessoal por aqui.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O python tem outra vantagem que é a portablilidade, acho, repito, acho que não se pode executa uma aplicação Java sem ter JVM nem C# sem ter .net fW.

Ai sim? Então não precisas de instalar o python para correr programas escritos em Python?

Até digo mais, aposto que raras são as pessoas que não têm as Frameworks .NEt e o J2SE instalados, já o mesmo não se pode dizer em relação ao Python...

Quanto á comparação do código, se não se importarem, escrevam um programa em java e outro em c# que faça o mesmo que este (é este por ser o primeiro do armazem de código)

E? Em C# e Java também tens milhões de classes implementadas desse tipo, que poupa muitas linhas aos programadores.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Java também dá para criar um exe com a jvm integrada mas isso raramente é usado, assim estás a forças a utilização de determinadas versões da plataforma e para além disso se tem 100 programas escritos em Java e ou Python ou C# e fazer isso vais ter 100 VMs instalados quando apenas precisas de uma.

@tirácio

Quando falei em funcionalidade referia-me a arquitectura empresariais como é o caso dos EJB do Java http://en.wikipedia.org/wiki/Enterprise_JavaBean, outro exemplo é a Java Persistence API e mais uma carrada de coisas que até desconheço.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora