Jump to content

Python vs C#


PaLobo

Recommended Posts

Antes demais, perdoem-me se já existe algo semelhante a este thread, mas a minha pesquisa rápida não revelou nada do que gostaria de abordar.

Este thread é o seguimento deste http://www.portugal-a-programar.pt/index.php?showtopic=2938 que se desviou um pouco.

Gostaria (preciso) de criar uma aplicação estilo windows forms. Neste momento sou um quadro em branco tendo em conta que apenas tenho uns conhecimentos rudimentares de C. A ideia inicial seria C#, mas dado que normalmente trabalho em linux, precisava de uma IDE para C# que desse em linux. Foi então que sugeriram antes Python.

Pelo que tenho estado a ver, posso criar a aplicação com um UI bastante apelativo utilizando o wxWidgets ou algo semelhante. Mas por outro lado, já li que python é mais lento que C#. Há tb a vantagem de que .NET posso utilizar várias linguagens e trabalharem todas bem umas com as outras. Dessa forma, poderia ter o melhor de todos mundos...

Gostaria de saber a vossa opinião.

Obrigado a todos,

P.

Link to comment
Share on other sites

Há por aí noticias de que já há Python em .NET...

Mas o .NET em Linux ainda anda atrasado...

Sim, é o IronPython. http://www.ironpython.com/

Já agora: http://www.jython.org

Eu comecei por aprender C# e depois mudei-me para Python e digo-te que é muito mais interessante, mas tudo depende do que queres fazer... se me perguntares se o C# é mais rápido que o Python, secalhar até é, e para grandes projectos com muitas forms, talvez seja mais apropriado para ti... agora tudo depende do que queres fazer.

Eu quis aprender Python porque tem uma sintaxe muito limpa, é fácil de entender, open source, funciona em todas as plataformas, tem um interpretador que te ajuda imenso. Além disso tem suporte para muitas coisas, como scripting, web applications (Django), jogos (PyGame), GUI's (wxPython) entre muitas outras coisas. Além disso tens muitas fontes de informação e tutoriais sobre a linguagem.

Uma das desvantagens do C# é o utilizador ter de sacar o .NET Framework.

<3 life

Link to comment
Share on other sites

Quanto ao meu projecto inicial, será algo para controlo e gestão de stocks. (Sei que existem imensos disponíveis, mas quero fazer à medida). Como tal, terá muitos forms... Ficha de artigo, local no armazem, fornecedor... etc. Parece-me que este software (http://www.tinyerp.org/) foi feito em python e pelo que me parece, é muito porreiro. Agradável à vista e funcional. Também existe BOO, e dado que a sua sintax é muito semelhante à do python, e corre em .NET e mono, teria portabilidade.

Estou francamente indeciso. Quanto ao grau de dificuldade de aprendizagem... com qual das duas poderei ficar mais produtivo em menos tempo? (Tendo em aonta que tenho que ler ainda muito sobre OOP e só depois aprender C# ou pthon).

Fico a aguardar o vosso excelente feedback.

P.

Link to comment
Share on other sites

  • 4 weeks later...

Viva! PaLobo

Não sou especialista mas tb ja passei pelo que tu estás a passar e talvez posso te ajudar.

Vou tentar fazer um comparativo entre as duas linguagens:

--1º  Portabilidade: Tanto Python como C# ambas funcionam em varias plataformas.

--2º  Facilidade: Python é mais fácil. exemplo: as variaveis são auto-tipadas, não e necessário {} ou ; é só identar o código e já está....

--3º  Rápidez: Python é interpretado, C# é Compilado mas precisa da framework, dependendo do tipo de programa o C# perde.

--4º  Python no linux é nativo, para instalar no windows o ficheiro é pequeno e não consome recursos da máquina como o .net

--5º  Python pode ser compilado para windows com py2exe e não precisa instalar o python2.4 no windows.

--6º  Python tem um parente proximo o BOO que é muito fixe e poderoso funciona com Mono e Mono é multiplataform

--7º  C# em Mono é mutiplataforma, C# em .Net Não.

--8º  Python é mais fácil que pascal.

Essa são apenas umas das diferenças que me lembro, assim que me lembrar de mais alguma eu digo.

Resumindo: aprende Python depois logo vê.... 😛

Link to comment
Share on other sites

Lembrei de outra coisa, voce pode fazer a interface do teu programa com o GLADE e codificar com Python. Um bom exemplo de como funciona é o programa Nicotine (clone do soulseek escrito em python para linux). Eu tenho no ubuntu e funciona lindamente e apanha as skins do gnome.

vou lhe dar um links sobre python e glade fixes:

http://www.linuxjournal.com/article/7421

http://www.pythonbrasil.com.br/moin.cgi/PythonBrasil

Link to comment
Share on other sites

Pela minha experiência, volto a referir que se é para correr em várias plataformas, aconselho o Java ou Python.

O C# não aconselho fora do Windows e também nunca encontrei reais mais valias no facto do .Net suportar várias linguagens.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

Boas pessoal. É como muito prazer que digo que já iniciei a minha aprendizagem em python. Já comecei a ler excelentes ebook s como o byte of python e beginning python. Em breve vou passar para wxpython (glade). Estou a trabalhar num mini projecto juntamente com o triton e com quem mais queira. De momento está a progredir muito lentamente, mas dados estarmos todos ainda a aprender é natural...

Assim que tivermos dados suficientes, iremos fazer um tutorial ou um wiki. Logo se vê...

Link to comment
Share on other sites

  • 1 month later...

Eu pyton só vi de alto, mas programa em Java, C e tou a aprender C#, penso que se o objectivo é aplicações multiplataforma java é a solução até porke pele ke andei a ler a proxima versar o java 1.6 vai ser 58% vais rapido do que a actual e a questao da velocidade era sem duvida a manxa negra no java. Aquanto a C# tou a gostar bastante, é muito simples, pelo menos para quem sabe java ou C, e pelo que testei até agora é bastante leve é verdade que é recomendado apenas para win, mas actualmente ja se pode programar para outras plataformas em C#.

I haven’t lost my mind; it’s backed up on DVD somewhere!

Link to comment
Share on other sites

Existe um tópico no fórum sobre o projecto: Proposta de projecto Python.

Por agora está parado, pois o PaLobo teve de aprender PHP temporariamente para fazer um trabalho, mas logo que ele despache o trabalho, vamos voltar ao projecto.

CONFIRMADO!!!

Se tudo correr bem, no fim deste mês já devo ter o projecto concluído e depois voltamos ao ataque a todo o vapor!!!

Até lá, quem tiver mais sugestões ou ideias para o projecto... é só dizer. 👍

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.