Começar a programa

Olá e seja bem-vindo ao clubcodebrasil.org.

O nosso objetivo é apresentar a programação de computadores passo a passo. Se você é totalmente iniciante, não tem nenhum problema, todo mundo já foi iniciante um dia, e espero que você aprenda muito aqui!

Nosso objetivo é ajudá-lo a iniciar na programação de computadores através de nossos arquivos, além das dicas, truques e dos nossos guias passo a passo.

Divirta-se conhecendo melhor as várias linguagens de programação!

SUMÁRIO:

As etapas para começar bem

Você é iniciante na Programação ou em Ciência da Computação em geral? Este artigo é para você.

Mais especificamente, nós vamos lhe fornecer as cinco etapas para começar a programar. Ou seja, como escolher a linguagem de programação certa, como aprender de forma rápida e correta e, finalmente, como usar boas práticas para atingir um nível adequado de programação.

Etapa 1: encontre as áreas que você gosta

Essa é sem dúvida uma etapa muito importante. Faça a seguinte pergunta para você mesmo:

Por que eu quero aprender a programar?

Anote as três principais razões que lhe vêm à mente e não prossiga até que você tenha realmente os três principais motivos.

Por que fazer isso?

Porque um programador fica mais motivado quando faz aquilo que gosta. Esta é uma das melhores maneiras de aprender e, portanto, começar a programar:

Faça o que quiser.

Ao fazer o que gostamos, desistimos menos e avançamos muito mais.

aprender a programar

 

Está tudo certo até aqui? Você já anotou os três motivos que realmente levam você a aprender sobre a programação?

Essas são as três razões que vão guiar você em todo esse processo. Esses motivos também vão servir para saber por onde você deve começar. Você pode simplesmente escolher de uma forma bem geral, mas apenas se certifique de que essas são de fato as áreas que você gosta (ou pelo menos por enquanto).

Aqui estão alguns exemplos dos motivos que podem te levar a começar:

Você deseja aprender a programar para:

  • Criar um Software
  • Entender melhor os Sistemas Operacionais
  • Criar Sites

Etapa 2: acrescente detalhes específicos para cada uma desses motivos

Se você quiser aprender a programar, seja porque parece legal ou porque parece na moda, então você não saberá muito bem o que fazer depois. Não estou dizendo que é inútil aprender a programar apenas porque está “na moda”, mas sim que você deve estar pronto para realizar seus objetivos durante essa segunda etapa.

Nesse momento, devemos especificar cada um dos motivos estabelecidos anteriormente. Então, pegue um por um e vá adicionando detalhes específicos. Entre esses detalhes, é essencial notar o tempo que você quer dedicar para a aprendizagem, bem como os sistemas que você quer aprender.

Vamos continuar com o nosso exemplo:

  • Criar software -> Criar um software utilitário rapidamente para Windows (limpeza, antivírus).
  • Entenda melhor os Sistemas -> Entender melhor como os Sistemas Operacionais (Windows e Linux) funcionam e como interagir com eles na visão do programador. Isso pode demorar o tempo que for necessário (mas não mais que três anos).
  • Criar sites -> Criar sites pessoais para deixar minha imaginação e criatividade livres sem pagar para um desenvolvedor. Aqui, o sistema operacional não muda nada, mas o site precisa funcionar em dispositivos móveis. Então, seu objetivo vai ser aprender rápido e o suficiente (em seis meses no máximo).

 

Observação: No começo, os seus motivos podem ser bem gerais, tais como “começar a utilizar computadores”, mas você deve especificá-los o máximo possível. Se os detalhes forem muitos, não escreva um parágrafo inteiro, mas encontre o mais importante para você, até ter algo concreto para de fato começar, como fiz no exemplo acima.

Etapa 3: Decidir com qual (quais) linguagem (linguagens) de programação começar

Agora que você sabe o motivo pelo qual você quer começar a programar, bem como quanto tempo você tem e qual sistema você quer, será muito mais fácil saber com qual (quais) linguagem (linguagens) começar.

Vamos voltar ao nosso exemplo.

Se eu quiser criar um software no Windows de maneira rápida, com certeza vou recorrer às linguagens “DotNet” (.NET), ou seja, Visual C++, C #, VB.NET.

Para chegar a essa conclusão, basta fazer uma pesquisa rápida como “programar no Windows” ou “linguagem de programação para Windows”.

Também aprendemos que as linguagens Java ou Python também podem ser usadas independentemente do sistema operacional. As linguagens DotNet são simplesmente mais adequadas. Isso ocorre porque elas são criadas pela própria Microsoft, o editor do Windows.

Digamos que há uma escolha a ser feita aqui entre o DotNet e os outros: Java e Python são portáteis, ou seja, você pode usá-los posteriormente para programar em outros sistemas, como Linux ou Mac. Por outro lado, as linguagens DotNet são direcionadas apenas para Windows (não estou contando também os testes de portabilidade por meio de programas de terceiros) e, portanto, permitem programar com mais facilidade e rapidez, principalmente através do ambiente de desenvolvimento integrado do Visual Studio. Se eu preferir aprender uma linguagem que seja menos portátil, mas que me permita criar um programa facilmente para Windows e em menos de uma hora, escolherei uma linguagem DotNet. Por outro lado, se eu quiser que meu programa rode em outros sistemas, escolheria o Python.

Então, vamos dizer aqui que eu escolhi o VB.NET ou C #, porque eu não tenho em vista outros sistemas além do Windows.

saber programar

Com relação ao meu objetivo de conhecer os sistemas operacionais em cada detalhe e no meu próprio ritmo, eu terei que adotar uma linguagem de programação comum aos sistemas operacionais e que me permita ter o domínio sobre eles.

A linguagem C é a mais adequada, pois permite conhecer o sistema e, além disso, é portátil. Mas o Python será mais fácil de dominar e me dará mais flexibilidade no futuro. Então, começarei com C para entender o funcionamento básico dos sistemas e depois chegarei ao Python como uma linguagem “cotidiana”. Faço isso de novo porque quero dedicar algum tempo para entender tudo. Observo, ao mesmo tempo, que o Python é a linguagem comum entre esse objetivo e os anteriores! Parece, portanto, ser uma linguagem para escolher. Ao mesmo tempo, você pode ver que não precisamos permanecer para sempre em uma determinada linguagem.

Nota importante: Você pode muito bem aprender outras linguagens não mencionadas ou até mesmo aprender linguagens em diferentes domínios, como o C para aplicativos com janelas no Windows. Mas tudo depende dos seus objetivos. Para mim, no exemplo, como eu queria criar programas para Windows rapidamente, a linguagem C também funciona, mas chegarei lá muito mais devagar que o C#. Se eu tiver tempo de sobra para fazer isso, e caso essa portabilidade seja importante para mim e, ainda, caso eu queira dominar o sistema, então posso escolher C em vez de uma linguagem DotNet.

Finalmente, no que diz respeito aos websites, digamos que eu não tenho tantas dificuldades para escolher, porque não apenas existem muitas linguagens diferentes, mas eles também são automaticamente adaptados a todos os sistemas, devido à própria web.

O problema de adaptação é mais entre navegadores. A escolha inteligente nesse caso é aprender duas linguagens em paralelo: uma linguagem do lado do cliente e uma linguagem do lado do servidor. É assim que funciona. O par de linguagens cliente/servidor típico é Java Script/PHP.

Nota sobre HTML: Não sei qual é a origem do mito de que é preciso começar a programar com HTML, mas isso é totalmente falso. Lembre-se novamente do que eu disse anteriormente: tudo depende de seus objetivos e “aprender a programar” não é um objetivo muito específico. HTML é uma linguagem de marcação, que não é semelhante às outras linguagens que estamos falando aqui. E, pessoalmente, penso que aprender HTML (que é rápido por si só) não ensinará como programar e não lhe dará noções básicas úteis se você não quiser ser um desenvolvedor da Web depois.

Para resumir:

C/C++, etc.: aprendizado aprofundado de sistemas e redes, robusto, mas que exige tempo para dominá-los.

.NET/Java/Python, etc.: versáteis e fáceis de dominar. Eles são muito populares. Observe que a programação para Android requer conhecimento de Java.

HTML, Java Script, PHP: os grandes clássicos da web. Observe que aprender uma linguagem para consulta de banco de dados como SQL (Structured Query Language) será útil mais tarde.

Assembler, Perl, Go, Swift, etc.: apenas se for necessário, de acordo com os seus objetivos. Por exemplo, para trabalhar no Google, será necessário aprender a linguagem Go e, para programar aplicativos iOS, será necessário conhecer o Swift da Apple.

As opiniões sobre as várias linguagens de programação geralmente são subjetivas, portanto, você sempre pode procurar exemplos de programas criados com determinadas linguagens de programação para ver se a linguagem parece ser a melhor para você.

Observe também que não há grandes problemas em começar com “a melhor linguagem”. Você pode aprender várias linguagens ao mesmo tempo ou, se preferir, pode mudar caso descubra que não gosta ou que não funciona para você. A ideia aqui é dar o primeiro passo, pesquisar e começar, em vez de esperar para encontrar “a melhor linguagem”.

Etapa 4: Adquira um e-book, um livro ou vídeo aulas e pratique

Ao contrário do que se possa pensar, não há nada de mágico na programação, todos seguem um processo de aprendizagem. A programação leva tempo e prática.

Agora vem a fase mais longa, mas também a mais emocionante se você começar sua aventura: é a hora de aprender e praticar. Você sabe o que quer fazer, sabe qual linguagem usar e tem um computador ou um dispositivo para programar. Então, você tem tudo ao seu dispor, basta procurar os recursos certos e começar a praticar.

No codebrasil.org, oferecemos diversas apresentações para as várias linguagens de programação e pretendemos falar sobre todas elas à medida que vão surgindo.

Comece pequeno, leia o código de outras pessoas, escreva seu próprio código, inicie novos projetos e vença seus desafios.

Observe que a leitura é muito importante para entender como escrever um programa, mas você só poderá escrevê-lo quando tiver praticado e realmente tiver escrito o programa por você mesmo.

Essa aprendizagem através da prática é a melhor forma de estudar programação e é esse modo de aprendizado que proponho no guia Aprender a Programar em C, C# e Python, para aqueles que gostariam de dominar um sistema operacional durante a sua aprendizagem.

Nesse sentido, se você decidiu aprender melhor os sistemas operacionais e, portanto, entender como os computadores funcionam, recomendamos que você aprenda mais sobre o Linux, que tem a vantagem de ser mais “aberto” que o Windows e, assim, ajuda a entender melhor “como funciona por dentro”.

Mas quais são os princípios básicos para saber ANTES de programar? O que eu preciso saber para começar?

Excelente pergunta!

Isso se encaixa perfeitamente na etapa em que você vai para a prática, porque você poderá fazer uma transição perfeita entre a teoria e a prática!

Até agora, vimos como encontrar os objetivos certos, a linguagem certa, etc. Mas existem competências muito específicas que todo programador que se preze deve conhecer (tanto nos computadores, quanto nas redes ou na web em geral).

 

Etapa 5: publique seus programas e continue aprendendo

Essa etapa é um pouco aquela em que você se aprimora. E ela dura indefinidamente porque nunca aprendemos realmente tudo sobre programação.

Na verdade, vou lhe contar um pequeno segredo: você pode saber como programar em apenas um dia.

Toda a ambiguidade da frase está na expressão “saber programar”.

O que “saber programar” significa para você? O que essa expressão significa para o seu (futuro) cliente?

Saber como escrever um programa “Hello World” em C é “saber programar”?

Por outro lado, saber depurar um erro vinculado à pilha de execução de duas funções do mesmo protótipo denominado sucessivamente com as mesmas variáveis significa “saber programar”?

É por isso que geralmente fazemos a diferença nos currículos entre “competências em C” e “conhecimento de C”.

Na verdade, há uma espécie de escala de programadores, todos eles sabem programar relativamente bem, e não há, de fato, nenhum nível nessa escala onde alguém teria alcançado o status de “programador”.

Seu objetivo é, portanto, subir essa escala até um estágio em que você se sinta à vontade o suficiente e que esteja de acordo com os seus desejos.

Para subir nessa escala com facilidade e rapidez, recomendamos que você escreva os seus próprios tutoriais, crie e compartilhe os seus próprios programas. Isso fará com que você obtenha algum reconhecimento na comunidade e tenha opiniões de pessoas mais acima na hierarquia.

Por outro lado, ensinando você aprende muito e, ao compartilhar seu trabalho, você também recebe opiniões interessantes de diferentes usuários da Internet (clientes, colegas, especialistas, etc.).

Você também pode participar de fóruns, bem como de outros programas de código aberto etc. para obter a aprovação da comunidade e talvez até fazer o seu próprio.

Se você sentir esse impulso em você, se quiser começar, faça isso agora. Você não vai se arrepender de tal decisão!