Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

AngusYoung

Parar com C e começar com Python?

Mensagens Recomendadas

AngusYoung

Boas!

Comecei a programar com Java (devido à hype do minecraft na altura, pensava que ia ser um modder todo overpower, mas não é bem assim que as coisas funcionam) e como não fui muito longe (cheguei a um nível onde conseguia fazer o jogo do galo em texto, jogado a partir da linha de comandos (que me deu um 4 a TIC no 9º ano, enquanto duas raparigas mudaram duas imagens de um jogo do scratch literalmente roubado online e tiveram 5/5 :P ).

Mas bem, depois dessa fase comecei a aprender C com a "cabeça no sítio" mas devido a falta de motivação e à entrada no secundário (se calhar foi mesmo só a falta de motivação e o meu cérebro não quer consentir esse fato) fui parando aos poucos e de momento estou praticamente estagnado. Um colega meu também pretende entrar em Eng. Informática e há algum tempo anda com ideias de desenvolver um site. Eu, entretanto, descobri a Codecademy (www.codecademy.com) e o interesse pela programação parece ter voltado :D

O problema é que a única linguagem ensinada nesse site que é um pouco parecida com outras linguagens de desenvolvimento geral (não apenas web) é python. Não há C (nem ninguém da família), nem Java, nem isso. A minha dúvida é então se devo parar definitivamente com C e começar a estudar Python, e se essa mudança teria algum proveito ou não.

P.S: Pois é, fui parando de aprender por causa de "falta de motivação". Às vezes penso que se fosse mesmo feito para isto, estaria sempre motivado e não veria outra coisa, mas não sei. Também não quero desistir. É que não me vejo mesmo a fazer outra coisa que não seja relacionada com computadores e seja demasiado repetitiva e monótona. Até acho que esse problema de falta de motivação é geral (verhttp://www.reddit.com/r/getdisciplined/comments/19qonw/any_advice_on_how_to_get_remotivated_for_studying/ ), mas isso já é papel para outro livro.

TL;DR: Quero estudar pela Codecademy mas lá a única linguagem de desenvolvimento geral (a meu ver) é Python. Devo parar de estudar C e aplicar-me em Python, e traria isso algumas vantagens/desvantagens?

Muito obrigado desde já,

Cordias cumprimentos©,

Angus Young

Editado por thoga31

Isto porque, saber a composicão do granito, os estágios da evolucão psicológica humana ou as deambulacões do Sartre não indicam puto sobre as competências de alguém num determinado campo específico e muito menos sobre o que as pessoas gostam de fazer ou a sua capacidade de aprendizagem. - bubulindo, 15 de Fevereiro de 2013 - 02:01

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pwseo

Podes estudar ambas as linguagens em simultâneo, se te sentires à vontade com elas. Pelo que dizes já tens conhecimentos básicos de programação que provavelmente te permitiriam sentir bem em ambas, servindo de base para os conceitos avançados que cada uma delas tem.

O que te aconselho é que aprendas ambas, mesmo que aches melhor parar com C agora... não o esqueças :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
AngusYoung

Podes estudar ambas as linguagens em simultâneo, se te sentires à vontade com elas. Pelo que dizes já tens conhecimentos básicos de programação que provavelmente te permitiriam sentir bem em ambas, servindo de base para os conceitos avançados que cada uma delas tem.

O que te aconselho é que aprendas ambas, mesmo que aches melhor parar com C agora... não o esqueças :)

O que acontece é que eu pouco, ou mesmo quase nada sei de C...

E também é de destacar que preferiria estudar pela codecademy mas lá não têm nenhum curso de C.

Editado por AngusYoung

Isto porque, saber a composicão do granito, os estágios da evolucão psicológica humana ou as deambulacões do Sartre não indicam puto sobre as competências de alguém num determinado campo específico e muito menos sobre o que as pessoas gostam de fazer ou a sua capacidade de aprendizagem. - bubulindo, 15 de Fevereiro de 2013 - 02:01

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Gnrtuga

Olá, podes experimentar C# por exemplo..

No Channel 9 da Microsoft, tens vários vídeos... procura por lá que pode ser que encontres alguma coisa que te agrade.

Deixo aqui o primeiro video da série de C#.

http://channel9.msdn.com/Series/C-Sharp-Fundamentals-Development-for-Absolute-Beginners/Series-Introduction-01


Férias! Estou por aqui: http://maps.google.p...001549&t=h&z=20 (a bulir claro está!)

Nunca mais é verão outra vez.. :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
KTachyon

Epah, quando alguém sugere C# em substituição a C, só me apetece ganir e comer panquecas…

Mas que raio é que o C# tem a haver com o C?

Editado por KTachyon
  • Voto 1

“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

Olá, podes experimentar C# por exemplo..

No Channel 9 da Microsoft, tens vários vídeos... procura por lá que pode ser que encontres alguma coisa que te agrade.

Deixo aqui o primeiro video da série de C#.

http://channel9.msdn.com/Series/C-Sharp-Fundamentals-Development-for-Absolute-Beginners/Series-Introduction-01

Eu não digo que me dê vontade de ganir ou de comer panquecas, mas definitivamente concordo com o @KTachyon - não vejo C# como uma boa LP de seguimento a C. Não é tanto pelo facto de não terem nada a ver uma com a outra, mas tem logo à partida uma limitação que me desagrada: só tem um target em termos de OS, o Windows.

Os conhecimento do @AngusYoung são poucos, segundo ele, e estando a estudar programação como hobbie, eu recomendo muito mais linguagens que não seja puramente feitas para o desenvolvimento rápido e em massa - só criam maus hábitos.

Posto isto, agora para ti, @AngusYoung.

Não é incomum sentires-te desmotivado. Todos nós temos essa fase, incluindo quem está na área por amor à camisola. São momentos, e depende apenas de nós sair deles ou manter-se por lá.

Se estás decidido a avançar com programação, o que eu apoio em pleno :D , digo-te algo que vai de encontro ao que o @pwseo disse: não esqueças C, e mesmo que não lhe pegues já agora, volta a pegar nele a médio prazo (e não a longo).

Python é uma LP bastante interessante e que, pessoalmente, achei "motivadora" quando aprendi: não sou um especialista em Python, antes pelo contrário, mas tudo aquilo que sei aprendi numa semana e pouco, e já me permitiu fazer coisas muito interessantes (em termos teóricos; não sou propriamente um programador que se dedique a fazer aplicações para o quotidiano, limito-me neste momento a explorar as linguagens de uma perspectiva mais teórica e, de certa forma, matemática).

Não sei porque só estás a ver a Codeacademy, mas não te limites apenas a um site ou a uma fonte de informação. É uma tendência de muitos novatos que não é nada saudável. Considero a programação uma área que não se aprende bem só com aulas e livros tos catitas: tem que haver um lado de pesquisa e autoaprendizagem do próprio aprendiz e a vontade de saber e fazer cada vez mais e melhor.

Se estás num curso CCH-CT, Python terá mesmo as suas aplicações reais em certas disciplinas.

E vê também por outras linguagens. Repito, não te prendas a um site e a uma ideia fixa. Estás na altura perfeita e com o tempo perfeito para abrires bem os horizontes. Não cometas o mesmo erro que eu cometi :P

Editado por thoga31

Knowledge is free! | Occasional Fortnite player

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

eu acho que o pior problema não está a ser abordado : motivação.

se achas que esta virá só por mudares de linguagem, sim virá, mas será somente por duas semanas.

antes de pensares em trocar, pensa no que queres da programação. arranja um objectivo. diz aqui qual é que alguém aqui tentará te conduzir a ele seja ela qual a linguagem.

  • Voto 1

IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
AngusYoung

Objetivos, bem...

1º E mais importante seria certamente a possibilidade de trabalhar com computadores, que é o que eu mais gosto, e além disso criar programas, inventar, raciocinar, é algo que acho interessante e desafiante.

2º Os videojogos. Sei bem que jogar não tem nada a ver com criar, mas o mercado indie é algo que me tem fascinado ultimamente e gostaria, a médio ou longo prazo, de tentar fazer o meu próprio jogo :P (sozinho ou numa pequena equipa de amigos e colegas)

Realmente algo que me deixa a pensar é a questão dos objetivos. Porque para já, mesmo que dominasse algumas linguagens de desenvolvimento geral, não consigo pensar em mais nenhuma maneira de utilizar esses conhecimentos. Talvez a fazer programas? Não sei :D Realmente uma mais valia do desenvolvimento web é que ao menos assim vai-se fazendo uns sites. Mas prefiro fazer um software simples, ou um jogo básico (desenvolvimento de software/geral?) do que um site (desenvolvimento web"?").


Isto porque, saber a composicão do granito, os estágios da evolucão psicológica humana ou as deambulacões do Sartre não indicam puto sobre as competências de alguém num determinado campo específico e muito menos sobre o que as pessoas gostam de fazer ou a sua capacidade de aprendizagem. - bubulindo, 15 de Fevereiro de 2013 - 02:01

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

A generalidade dos teus objectivos aponta para linguagens general purpose. Como muitos novatos, estás a pensar já em longo prazo em termos de jogos - é normal -, e para tal é preciso traçar um caminho. C é bom, Python também.

Contudo, há aí um ponto dos teus objectivos que me chamou particularmente a atenção e que foi logo no 1º:

1º E mais importante seria certamente a possibilidade de trabalhar com computadores, que é o que eu mais gosto, e além disso criar programas, inventar, raciocinar, é algo que acho interessante e desafiante.

O que queres dizer com "raciocinar"? :P


Knowledge is free! | Occasional Fortnite player

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
AngusYoung

O que queres dizer com "raciocinar"? :P

Resolver problemas e afins, penso. Não será raciocinar a base da programação? :P


Isto porque, saber a composicão do granito, os estágios da evolucão psicológica humana ou as deambulacões do Sartre não indicam puto sobre as competências de alguém num determinado campo específico e muito menos sobre o que as pessoas gostam de fazer ou a sua capacidade de aprendizagem. - bubulindo, 15 de Fevereiro de 2013 - 02:01

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
AngusYoung

Nem por isso, pelo contrário, estou novamente inclinado para C. :P


Isto porque, saber a composicão do granito, os estágios da evolucão psicológica humana ou as deambulacões do Sartre não indicam puto sobre as competências de alguém num determinado campo específico e muito menos sobre o que as pessoas gostam de fazer ou a sua capacidade de aprendizagem. - bubulindo, 15 de Fevereiro de 2013 - 02:01

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

então, só para ter uma ideia do teu nível de C, qual for a aplicação mais complexa que fizeste até agora ?


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
AngusYoung

então, só para ter uma ideia do teu nível de C, qual for a aplicação mais complexa que fizeste até agora ?

printf("Hello World!"); :D


Isto porque, saber a composicão do granito, os estágios da evolucão psicológica humana ou as deambulacões do Sartre não indicam puto sobre as competências de alguém num determinado campo específico e muito menos sobre o que as pessoas gostam de fazer ou a sua capacidade de aprendizagem. - bubulindo, 15 de Fevereiro de 2013 - 02:01

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

então estás mesmo no início ...

estava a ver se me davas uma ajuda no meu código, mas parece que será demasiado para ti ...


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
AngusYoung

Sim, acho que sim. E esta tarde tenho de estudar as deambulações de Kant e Stuart Mill para filosofia, infelizmente.

Update @ 20:30 - A filosofia é uma cena que não me assiste

Editado por AngusYoung

Isto porque, saber a composicão do granito, os estágios da evolucão psicológica humana ou as deambulacões do Sartre não indicam puto sobre as competências de alguém num determinado campo específico e muito menos sobre o que as pessoas gostam de fazer ou a sua capacidade de aprendizagem. - bubulindo, 15 de Fevereiro de 2013 - 02:01

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Rui Carlos

Respondendo à questão inicial:

Devo parar de estudar C e aplicar-me em Python, e traria isso algumas vantagens/desvantagens?

Python parece-me um linguagem bastante razoável para iniciação.

Como vantagem em relação ao C terá o facto de te permitir ignorar detalhes da gestão da memória, por exemplo.

Se aprenderes Python, os conhecimentos que adquirires vão certamente ajudar-te a aprender C mais tarde (e outras linguagens).

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Gnrtuga

Epah, quando alguém sugere C# em substituição a C, só me apetece ganir e comer panquecas…

Mas que raio é que o C# tem a haver com o C?

Quando fizeres as panquecas chama-me que eu gosto. :)

Em relação à substituição de C por C#, acho que não percebeste qual era a minha ideia. O que eu estava a querer dizer, é que se estás a começar a aprender e ainda estás com dúvidas sobre que linguagem escolher, que podes começar com uma que dê para várias plataformas, e que tenha boas fontes de aprendizagem. Não disse que C , C++ e C# são a mesma coisa.

P.S é natural que não tenhas percebido, até eu, quando volto a ler os meus posts fico confuso! ;)


Férias! Estou por aqui: http://maps.google.p...001549&t=h&z=20 (a bulir claro está!)

Nunca mais é verão outra vez.. :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

Quando fizeres as panquecas chama-me que eu gosto. :)

Em relação à substituição de C por C#, acho que não percebeste qual era a minha ideia. O que eu estava a querer dizer, é que se estás a começar a aprender e ainda estás com dúvidas sobre que linguagem escolher, que podes começar com uma que dê para várias plataformas, e que tenha boas fontes de aprendizagem. Não disse que C , C++ e C# são a mesma coisa.

P.S é natural que não tenhas percebido, até eu, quando volto a ler os meus posts fico confuso! ;)

Continuo a considerar que C# não é uma LP muito indicada para iniciação por uma mão cheia de razões. Entre C e C#, recomendo sem dúvida C (e logo eu, que não acho C nada boa para iniciação). Mas entre C e Python, recomendo definitivamente Python. ;)

Anyway, quando dizes que "uma que dê para várias plataformas", a que plataformas te referes? É que C# é um exclusivo de Windows.


Knowledge is free! | Occasional Fortnite player

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
KTachyon

Não é exclusivo... mas os ports para as outras plataformas são 3rd party. De facto, quem já correu software desenvolvido utilizando Mono, sabe que é uma valente m#rd$.


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

Não é exclusivo... mas os ports para as outras plataformas são 3rd party. De facto, quem já correu software desenvolvido utilizando Mono, sabe que é uma valente m#rd$.

Pois, é por isso mesmo que considero um exclusivo, os ports ainda deixam muito a desejar. É uma boa iniciativa, mas ainda está longe do objectivo mínimo. ;)


Knowledge is free! | Occasional Fortnite player

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pwseo

Não é exclusivo... mas os ports para as outras plataformas são 3rd party. De facto, quem já correu software desenvolvido utilizando Mono, sabe que é uma valente m#rd$.

Não tenho grande queixa. É certo que nunca utilizei grandes aplicações feitas em Mono (mas já joguei jogos a correr em Mono), mas penso que a implementação actual sirva perfeitamente para quem está a começar a programar. IO simples, talvez uma janela aqui e ali. Não vejo problema.

Por isso, a menos que estejamos a falar de aplicações altamente dependentes de APIs disponíveis apenas para Windows, não me parece que seja relevante estarmos a colocar C# em causa no contexto de alguém que apenas quer aprender (é 1000x melhor que aprender Java (por exemplo), isto porque C# é 1000x superior a Java em termos de linguagem).

Lembro-me de ouvir dizer que Mono tinha alguns problemas no Mac OS, não sei se isso contribuiu para a tua má experiência, mas também não estou a dizer que o Mono é tão bom quanto .NET; estou apenas a defender que para este caso não me parece haver mal nenhum.

Uma questão diferente é se concordo ou não que deva aprender-se C# em vez de C... Depende. Não gosto de encorajar que se comece logo por uma linguagem orientada a objectos, mas se o OP se sentir à vontade com isso e até se sentir mais motivado, não vejo motivo pelo qual não deva fazê-lo.

Eventualmente poderá descer a um nível mais próximo da máquina, se assim o desejar (mas quanto mais cedo, melhor, claro)

Idealmente começar-se-ia com Python.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
AngusYoung

Então o ideal seria começar com python? Podem por favor enunciar as vantagens/desvantagens de começar com C/Python?


Isto porque, saber a composicão do granito, os estágios da evolucão psicológica humana ou as deambulacões do Sartre não indicam puto sobre as competências de alguém num determinado campo específico e muito menos sobre o que as pessoas gostam de fazer ou a sua capacidade de aprendizagem. - bubulindo, 15 de Fevereiro de 2013 - 02:01

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pwseo

Começar com Python é bom porque podes mergulhar directamente na parte algorítmica da programação sem grande preocupação com detalhes como a gestão de memória. Além disso, Python permite-te começar a programar num estilo procedural e lentamente evoluir para algo mais orientado a objectos, com alguns rastos de programação funcional.

Além disso, graças ao elevado nível de abstracção desta linguagem, mais rapidamente conseguirás fazer programas funcionais (e com funções mais complexas) que em C. O senão de começar com Python é que é uma linguagem com grande nível de abstracção, o que significa que não aprenderás muito sobre como funciona realmente o teu programa ao nível do processador e da memória.

Começar com C é o oposto de Python, ou seja: vais ficar com boas noções de como funciona a memória, etc, mas isso a custo de demorar muito mais a chegar ao nível dos programas que farias em Python.

Se procurares pelo fórum certamente haverá mais threads que falam do assunto. Dá também uma olhadela nos quadros de C e Python para veres o tipo de programas que tens em cada uma.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Gnrtuga

Pois em relação ao C# ser uma porcaria a nível de ports pensava que com ferramentas tipo Xamarin (http://xamarin.com/) isso estivesse resolvido. Mas eu pouco sei, por isso acredito na palavra de quem percebe mais que eu.

Em relação ao Python deixo aqui dois links bons (pelo menos na minha opinião). Frequentei ambos e achei divertido.

O primeiro é uma iniciação:

https://www.coursera.org/course/programming1

O segundo é uma introdução à programação interativa, vais fazer uns jogos, o ultimo projeto é o mais interessante (na minha opinião).

https://www.coursera.org/course/interactivepython

Boa sorte, e independentemente da linguagem que escolhas o que interessa é divertires-te .


Férias! Estou por aqui: http://maps.google.p...001549&t=h&z=20 (a bulir claro está!)

Nunca mais é verão outra vez.. :)

Partilhar esta mensagem


Ligação 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

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.