Jump to content

Recommended Posts

Posted

Boas,

Estou com ideias de começar a programar então surge a dúvida em que linguagem começar sem que haja um objectivo/aplicação a criar.

Neste momento estou entre Python ou C mas gostava da vossa opinião.

Posted

@Astuto,

Depende muito do que pretendes fazer como primeira aplicação. Python e C são duas linguagens muito diferentes com ênfases em elementos da programação também eles muito distintos. Se o teu objectivo é prototipagem rápida de aplicações sem perder muito tempo com detalhes de baixo nível como a gestão de memória e/ou performance, e se pretendes ter ao teu dispor várias ferramentas que te permitem escrever código sem teres que implementar muitas estruturas de dados / algoritmos manualmente, então Python é a escolha mais acertada.

Regra geral, nunca podes errar começando com Python.

C, por outro lado, já implica um desejo de conhecer melhor a máquina, como a memória funciona, e paciência para implementar muita coisa à mão que antes até poderia parecer trivial.

  • Vote 1
Posted

Como disse, depende do que pretendes, mas caso não saibas bem o que pretendes, Python é uma opção muito segura (a mais segura), por diversos motivos: é uma linguagem de fácil compreensão, funciona nas plataformas mais utilizadas e traz imensos módulos consigo que te facilitam bastante o desenvolvimento de aplicações.

Posted (edited)

Há inúmeros tópicos sobre o mesmo assunto espalhados pelo fórum 🙂

Cada um vai dar-te uma resposta diferente, tipicamente mais próxima daquilo que gosta de fazer ou com o qual tem experiência. Pessoalmente acho que depende tanto da linguagem do de ti mesmo. C é uma linguagem que, pelas características, te pode expor a mais áreas e coisas mais complexas, Python por outro lado é mais simples de usar e esconde muito do que é importante para um programador, isto inicialmente, no fundo as duas são boas para ensinar a programar.

Já leccionei módulos introdutórios para iniciar a programação em C, em Java e em PHP; das três, aquela onde vi os alunos a aprenderem mais depressa a "montar" um pequeno programa foi em Java, mas principalmente porque ao ensinar abstraí muito do que era necessário saber e forneci vários módulos de coisas já feitas e, muito importante, forneci parte de código para que pudessem "ver" aplicações com interface gráfica (janelas, botões, etc); Em C fazer uma aplicação com do mesmo tipo exige saber mais e é difícil para iniciantes, ou usar uma ferramenta de desenho mais complexa, sendo também mais difícil para iniciantes.

No entanto, aprender o básico é igual em qualquer das duas linguagens que indicas, até porque se estás a iniciar há coisas em C que não deves ver e há coisa em Python que só deves usar quando perceberes como funcionam. Por exemplo, acho que só deves usar listas se já souberes o básico de programação (estruturar programas, entender bem diferença entre código e execução, funções, básico de recursividade, ciclos bem percebidos, básico de funcionamento de memória); em Python podes usar listas logo de início sem saberes nada de como é suposto essa estrutura funcionar, a função que te deixa usar uma lista ligada é de acesso trivial, em C tens de implementar tu as listas ou ir buscar uma biblioteca (neste  caso é também tão simples como em Python, só tem o passo de instalar a biblioteca).

Depende de ti, se te consegues manter motivado para gastar várias semanas (meses?) a fazer aplicações em linha de comandos, se consegues perceber a parte importante e lidar com mensagens de erro obscuras (algumas exigem saberes exactamente o que se passa, o que não é fácil para iniciantes); por outro lado se pretendes fazer um pequeno jogo, uma aplicação gráfica, e ir aprendendo daí, tendo o cuidado de ir aprofundando os conhecimentos, então Python é uma opção melhor. Se estás a aprender sozinho ou não tens a certeza se gostas de programação, sugeria Python; se tiveres alguém que te possa apoiar C oferece uma boa base.

Quando tenho possibilidade de escolher como vou leccionar níveis introdutórios uso uma abordagem mista: começo com C (código, compilação, runtime, funções, recursividade, gestão básica de memória, acesso a ficheiros de texto e implementação de listas), depois com isso como base passamos para Java (e Slick2D, um pouco antigo mas serve), e avançamos no resto com desenvolvimento de jogos; Se tiver de explicar acesso a bases de dados, aplicações de gestão, cliente/servidor, tipicamente prefiro o PHP.

Mais confuso? 🙂

Edited by Knitter
typos.

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.