Categorias
Programação

Controle de Fluxo em Linguagem C: while (e do while)

Neste post vou continuar falando sobre estruturas de controle de fluxo, porém começaremos a falar sobre os loops (ou também chamados de laços em português).

Se você não viu o post anterior sobre condicionais, recomendo que veja antes aqui.

Os loops, ao contrário das condicionais, nos permitem executar uma ou várias tarefas de forma cíclica (ou repetitiva).

Para ir direto ao ponto.. segue a vídeo-aula:

Linguagem C: “while” e “do .. while”

Como não deu tempo neste vídeo, no próximo falaremos sobre o “for”.

Resolvi finalmente deixar os vídeos públicos lá no meu canal do youtube também, e pretendo colocar alguns outros vídeos sobre tecnologia, linux, etc. Como é um canal pessoal, minha idéia é colocar um pouco de tudo o que eu faço e me interesso. Pode ser que apareça de vez em quando coisas de música, viagem e assuntos não relacionadas com programação. Se tiver interesse só em programação mesmo, continuarei avisando por e-mail como já tenho feito. Nada muda para você. 🙂

Esta semana ainda postarei lá a minha palestra completa na QtCon Brasil, falando sobre as lições que aprendemos no desenvolvimento do ubuntu phone.

Se quiser “dar uma força” para o canal crescer, e ajudar a divulgar estes outros conteúdos, inscreva-se aqui: https://www.youtube.com/tiagosh

Muito obrigado!

Categorias
Programação

Controle de Fluxo em Linguagem C: If, Switch e Operador Ternário.

Hoje o assunto é sobre estruturas de controle de fluxo em Linguagem C: Nesta primeira parte vou abordar as condicionais.

Falarei sobre o if, o switch e o operador ternário.

São estas estruturas que permitem você controlar quais serão os próximos comandos (statements para ser mais técnico) a serem executados dentro do seu programa, de acordo com alguma condição ou expressão lógica específica.

Em outras palavras são estas as estruturas que permitem um programador de certa forma fazer um programa “pensar” por conta própria dependendo de certos valores e da interação do usuário.

Lembra-se do post sobre o fluxograma, explicando como um programa de computador funciona?

São as estruturas de controle de fluxo (em linguagem c ou de qualquer outra linguagem) que nos permitem de fato escrever a nossa “partitura computacional“.

Se ainda não assistiu a aula de Introdução à Lógica, sugiro que veja e compreenda bem ela antes de prosseguir aqui.

Segue a vídeo aula:

Controle de fluxo em Linguagem C:

Viu? Controle de Fluxo em Linguagem C (condicionais até o momento) não é tão difícil quanto parece.

É claro que, como tudo nesta vida, exige treino e estudo.

Minha sugestão para quem está iniciando é sempre copiar o exemplo que já funciona (o do vídeo por exemplo), e a partir dele ir alterando o código lentamente, compilando, testando e analisando o resultado.

Certamente este processo de análise pode ser chato de início, mas irá te ajudar muito a progredir nos seus estudos, e acima de tudo entender como as coisas funcionam, e acostumar com o que é aceito e o que não é aceito pela linguagem de programação.

Se você é novo por aqui e quer seguir os conteúdos de forma ordenada, sugiro que comece por aqui, e inscreva seu e-mail aqui no site.

Aos que ainda não são alunos do Curso de Terminal lá no Diolinux, e gostariam de ter ao menos uma introdução gratuita ao tema antes de decidir partir para um curso mais completo, podem acompanhar a série O Terminal aqui neste link.

Off-topic (será deletado em breve):

Uma opinião sua: Você gostaria de ver conteúdos no site que não fossem só sobre Linguagem C?

Pergunto isso pois recebo emails pedindo para falar de tópicos que não se enquadram em programação, e muitas vezes eu mesmo tenho vontade de criar conteúdos sobre outros assuntos de tecnologia, mas não quero que quem se inscreveu aqui no site por causa de programação acabe se chateando de ver outros conteúdos.

Exemplo recente: Eu tenho estudado muito sobre blockchain e criptomoedas (desde 2013 na verdade). E para não desvirtuar o objetivo aqui do site acabei criando no meu tempo livre um forum/comunidade para compartilhar o conhecimento e discutir de forma séria (e talvez um pouco mais técnica) sobre criptomoedas: TriboCrypto. (ainda não havia divulgado o site, mas se quiser entrar e participar para ajudar, será bem vindo. Já tem conteúdo lá.. só não tem nenhuma discussão ainda hehe).

Mas o que eu gostaria de saber mesmo é se vocês tem interesse de receber conteúdos que não sejam  desta série de programação, mas que seja voltado à tecnologia. Se sim, quais? Mais coisas de terminal? Criptomoedas? Dicas sobre administração de sistemas? Redes?

Se não quiserem, não tem problema. Focamos aqui só em programação mesmo. 🙂

Deixe sua opinião nos comentários aqui em baixo, ou se preferir me responda no e-mail mesmo.

Um abraço e bons estudos!

Categorias
Programação

Introdução à Lógica (de programação) – Você já sabe …

Lógica de programação é sem sombra de dúvida um dos temas mais “temidos” de quem começa a programar. Reconheço que o próprio nome é de certa forma algo intimidador.

Já comentei em outros posts que não gosto de falar “lógica de programação” já de cara, principalmente por parecer que lógica é algo que só existe na programação.

Eu explico no vídeo de hoje que lógica está presente na nossa vida em vários momentos, e se você entendeu esta exata frase aqui, então eu posso afirmar que você já sabe lógica (pelo menos até um certo nível).

Lógica não nasceu na programação, e quando começou a ser estudada, nem se imaginava que um dia computadores existiriam.

Lógica é simplesmente uma ferramenta que nós utilizamos na computação para conseguir, dentre outras coisas, controlar a forma como nosso programa é executado pelo processador, dando a impressão de que ele consegue tomar decisões.

Se você já viu o post em que comparo um programa de computador com um fluxograma, então você já sabia que em algum momento precisaríamos aprender lógica de programação, e acredito que este seja o momento de termos uma introdução.

Dividi o vídeo em duas partes. Na primeira vou mostrar como já utilizamos lógica quando falamos em Português, e na segunda iremos trazer o conhecimento de lógica para dentro da linguagem C.

Para acompanhar o conteúdo de hoje, os únicos conhecimentos prévios que você precisará ter são:

  • Saber falar Português 🙂
  • Saber efetuar as 4 operações básicas da matemática.

Este é um daqueles vídeos (de novo) que vão exigir a sua concentração, então peço que reserve um tempo para assistir com calma.

Disponibilizei o mapa mental que uso no vídeo aqui neste link.

Agora, que tal utilizar nosso conhecimento de lógica para descobrir se o pai vai levar a criança no parque ou não, ou se a pessoa vai continuar gastando o dinheiro com guloseimas nos exemplos que mostrei no vídeo?

Vamos substituir nossas condições por “variáveis” e atribuir valores para elas. Quando as condições forem verdadeiras, as variáveis terão 1, quando forem falsas, terão 0.

Exemplo 1:

Frase: Só vou levar você no parque se você se comportar E se você NÃO arrumar a sua cama.

Duas condições:

  • se comportar (usaremos uma variável chamada comportar)
  • NÃO arrumar a cama (condição com uma negação, nome: arrumar)

Operador lógico que interliga as condições: E lógico

Expressão completa em linguagem C:
(comportar && !arrumar)

Situação proposta 1: Garoto se comporta e arruma a cama.
Portanto variável comporta será 1 e arruma será 1:

  • (1 && !1)
  • (1 && 0)
  • 0

Resultado: Como o resultado é falso (0), o garoto não irá ao parque.

Situação proposta 2: Garoto se comporta e não arruma a cama.
Variável comporta será 1 e arruma será 0:

  • (1 && !0)
  • (1 && 1)
  • 1

Resultado: Como o resultado é verdadeiro (1), o garoto irá ao parque.

Utilizando a estrutura if:

if (comportar && !arrumar) {
    levar_no_parque();
}

Exemplo 2:

Frase: Enquanto eu estiver empregado OU eu estiver com vontade de comer, vou continuar gastando meu dinheiro em guloseimas

Duas condições:

  • estar empregado (nome: empregado)
  • vontade de comer (nome: vontade)

Operador lógico que interliga as condições: OU lógico

Expressão completa em linguagem C:
(empregado || vontade)

Situação proposta 1: Pessoa empregada e sem vontade de comer.
Variável empregado será 1 e vontade será 0:

  • (1 || 0)
  • 1

Resultado: Como o resultado é verdadeiro (1), a pessoa continuará gastando o dinheiro com guloseimas.

Situação proposta 2: Pessoa desempregada e com vontade de comer.
Variável empregado será 0 e vontade será 1:

  • (0 || 1)
  • 1

Resultado: Como o resultado é verdadeiro (1), significa que a pessoa irá continuar gastando o dinheiro em guloseimas.

Utilizando a estrutura while:

while (empregado || vontade) {
    comprar_guloseimas();
}

Veja que basta alterar o conteúdo das variáveis que representam as condições para refletir uma determinada situação, efetuar então a operação lógica remanescente e o seu programa conseguirá “decidir” se deve ou não executar a ação que está dentro do bloco entre chaves, que neste caso é uma chamada de função, mas poderia ser qualquer outra ação.

Espero que o conteúdo de hoje tenha ajudado a esclarecer um pouco de como é possível fazer um programa de computador “tomar uma decisão” baseado em uma expressão lógica, e nos próximos posts abordaremos um pouco mais de como utilizar estas expressões para fazer algo mais elaborado.

Não esqueça de deixar sua opinião nos comentários.

Um abraço!

Categorias
Programação

Linguagem C: Os 3 Estágios da Compilação

Hoje teremos mais um daqueles posts em que não falamos diretamente de programação, mas sim dos estágios da compilação de um programa em linguagem C.

Talvez de momento você possa imaginar que isto é desnecessário, já que o compilador faz todo o processo pela gente, mas na realidade, dominar os procedimentos é um passo essencial, e eu vou explicar melhor o porquê:

Tudo é divertido enquanto as coisas dão certo. Concorda?

  • Você escreve seu programa;
  • O GCC compila e gera um arquivo executável;
  • Você executa o arquivo gerado.

Só quem já tentou programar alguma vez na vida sabe que nem sempre isto sai como o esperado.

É comum que no começo a gente sempre pense que o problema está no código em si. Procuramos por horas e horas e o problema, no final das contas, era só alguma opção que faltava passar para o compilador poder fazer a coisa certa.

Existe código que “compila”, mas ainda assim não funciona, exatamente por ter dado algum erro no processo posterior ao da compilação, e que nem sempre é lembrado ou até mesmo conhecido pelo programador.

Por isso que sempre digo que precisamos entender as ferramentas e os processos, e não só a programação em si. Quanto mais você entende do processo, melhor você programa, e quanto melhor você programa, melhor você entende o processo.

É um via de mão dupla, e por isso hoje separei este conteúdo pra você desde já ir se acostumando.

O processo de compilação pode ser dividido em diversos estágios, e é de extrema importância pelo menos entender os 3 principais:

  1. Pré-processamento
  2. Compilação propriamente dita (traduzir código de alto nível em código de baixo nível: saiba mais aqui)
  3. Linking (ou “ligação”, mas pra ser sincero nunca ouvi ninguém falando assim em português)

No vídeo eu mostro o que é o pré-processamento, o que acontece com o seu código por debaixo dos panos depois que ele é processado, e explico a importância do estágio de Linking, que tem tudo a ver com as #include‘s, que já vimos nas aulas sobre bibliotecas.

Se você gostou da ideia de poder incluir bibliotecas escritas por outras pessoas no seu código, então você precisa entender o que é esse tal de Linking.

Algo que esqueci de comentar no vídeo e que é legal de saber: O pré-processador também é responsável por remover todos os comentários do seu código antes de passar para o estágio de compilação. Abordaremos o assunto de comentários um pouco mais para a frente.

E agora que você já conheceu o comando ldd, que tal passar para o ldd outros programas aí do seu computador e ver quais bibliotecas eles estão usando por debaixo dos panos?

Se você caiu aqui “de paraquedas”, clique aqui para assistir/ver os posts na ordem em que foram lançados.

Nota: O pessoal da QtCon me avisou que ainda tem ingressos para os dois dias de palestras (para os treinamentos já se esgotaram). Para o pessoal de São Paulo que tiver interesse em Qt, dê uma olhada no site oficial do evento: br.qtcon.org. Minha palestra falando do Ubuntu Phone a princípio está marcada para o Sábado dia 19 de Agosto de 2017. Apareça lá pra gente bater um papo 🙂

E antes de fechar o post, uma pergunta para você: tá com um tempo livre? Então deixa um comentário aqui em baixo (ou lá no youtube mesmo se preferir).

Um abraço!

Categorias
Programação

Funções em linguagem C, Bibliotecas e Libc – Parte 2

Finalmente está no ar a segunda parte do conteúdo de funções e bibliotecas!

Se você ainda não assistiu a primeira parte, o post anterior está aqui neste link.

Hoje vamos aprender como utilizar algumas funções matemáticas fornecidas pela glibc através da “math.h” e algumas funções de uso geral da “stdlib.h”.

De quebra vamos aprender rapidamente o tipo de variável “double”, que nos permite representar um número “real” (com casas decimais), e veremos como pedir para o printf() formatar este tipo de valor adequadamente quando impresso na tela.

Talvez você perceba que o ritmo da aula foi meio acelerado, mas logo voltamos à nossa “programação normal” 🙂

Caso tenha curiosidade de olhar tudo o que a Glibc oferece para você usar no seu programa, vou deixar o link da documentação abaixo. Não se assuste com a quantidade de informação. Realmente é bastante coisa, mas de passo em passo a gente chega lá.

Como exercício você pode procurar no documento as funções que aprendemos hoje na aula, e talvez descobrir outras funções semelhantes.

https://www.gnu.org/software/libc/manual/html_mono/libc.html

Eu sei que olhar documentação nem sempre é um processo divertido, mas pense assim: Melhor gastar 2 minutos do seu tempo olhando e entendendo a documentação de algo que já existe do que gastar 1 hora programando algo do zero e que já havia sido feito por outra pessoa.

Para finalizar, tenho dois avisos:

  1. Nos dias 18, 19 e 20 de Agosto de 2017 estará acontecendo a primeira QtCon do Brasil em São Paulo. Farei uma palestra sobre o que aprendemos no desenvolvimento do Ubuntu Phone usando o framework Qt. A programação do evento está muito legal e terá diversas palestras interessantes. Algumas pessoas que acompanham aqui já me avisaram que comparecerão e será um prazer conversar pessoalmente com vocês.
  2. Para os alunos do curso de terminal: Neste domingo lançamos o Curso de Shell Script e alunos do curso anterior recebem 50% de desconto. Um cupom foi enviado no mesmo e-mail utilizado no cadastro do EAD. Se por qualquer motivo você não recebeu o seu, por favor entre em contato com o EAD do Diolinux. Caso ainda deseje fazer o curso anterior, ao final você também receberá o desconto para prosseguir no de Shell Script.

Um abraço e até mais.

Categorias
Programação

Funções em linguagem C, Bibliotecas e Libc – Parte 1

Já imaginou você emprestar um livro e adquirir instantaneamente todo o conhecimento sem nem precisar ler? Parece bom demais pra ser ver verdade, não é? Mas esta é a mágica das bibliotecas em linguagens de programação, e que vamos aprender um pouco melhor no vídeo hoje. Vamos também entender o que são funções em linguagem C.

Para você não se assustar muito, já adianto que o vídeo de hoje é o maior vídeo que já gravei aqui pro site. Um combo de uma hora de duração.

Tópicos abordados:

  • Programar direto na linha de comando (opcional) do seu computador;
  • Instalar o compilador de linguagem C da GNU (gcc);
  • Aprender a compilar seu programa com o gcc manualmente no terminal;
  • Aprender o que são funções usando o exemplo da minha cafeteira italiana;
  • Fazer um paralelo entre funções em linguagem C e funções da matemática;
  • Aprender o que são bibliotecas e como elas vão facilitar sua vida na programação;
  • Mostrar exemplos de bibliotecas open source que você pode usar no seu programa.
  • Aprender o que é a libc e a glibc;
  • Aprender o que exatamente significa “#include <stdio.h>”, e o que isso tem a ver com o Neo do Matrix.
  • Aprender a usar as funções puts(), putchar() e printf().

Como você deve ter visto, é bastante conteúdo e por isso recomendo que você reserve uma hora do seu dia para assistir e executar os procedimentos da aula no seu computador.

Segue aqui os links que citei durante a aula:

Como nesta aula não consegui vencer todo o conteúdo que tinha preparado, dividi o post em duas partes.

Na próxima aula veremos algumas outras funções em linguagem C oferecidas pela libc: funções matemáticas e funções de uso geral.

Agora me diga aí nos comentários sua opinião pra eu poder ir adequando as aulas aos poucos e achar a melhor forma de trazer o conteúdo pra você.

Um abraço e nos vemos na parte 2.

Categorias
Programação

Programação em C: Raio-X na Memória RAM

Se você tem curiosidade de saber como os dados são armazenados na memória RAM do computador, o vídeo de hoje é pra você.

Este é um conhecimento que muitas vezes é ignorado por quem estuda programação, mas que eu considero extremamente necessário.

A Memória RAM é um dos componentes da nossa dupla dinâmica, e é um dos elementos com quem a gente mais interage na nossa vida de programador.

Independente da linguagem de programação que você for aprender, entender o mecanismo usado pelo computador pra guardar os dados na memória RAM irá te ajudar a progredir mais rápido.

No post passado eu mostrei rapidamente como declarar variáveis (Gavetas!) e mudar seus conteúdos.

No vídeo de hoje você vai entender como que estes dados vão se acomodando (alocando) internamente na memória RAM conforme a gente vai manipulando as variáveis dentro do nosso programa.

De quebra você já vai entender de forma resumida o que são os famosos (e tão temidos) “ponteiros” em linguagem C.

E aí? Curtiu? Deixe um comentário aqui em baixo pra eu saber se esse tipo de conteúdo é relevante para você.

Abraço!

Categorias
Programação

Gavetas! Introdução à Variáveis em Linguagem C

No post de hoje você vai ver uma breve introdução à variáveis em linguagem C.

Vou começar com uma pequena história:

Quando eu ainda era pré-adolescente (sim, eu comecei cedo nessa vida computacional) eu perguntei para o meu pai o que eram variáveis.

Eu já programava alguma pouca coisa em BASIC e estava querendo me aprofundar no assunto (antes que você me pergunte: não! não dava pra pesquisar no google. Internet só surgiu alguns anos depois).

A explicação que ele me deu me deixou intrigado e simplesmente nunca saiu da minha cabeça, e hoje vou passar ela adiante, e espero que ela faça sentido pra você também.

Gavetas!

A resposta foi curta e simples: “Variáveis são gavetinhas”.

Na hora eu confesso que não entendi completamente. Faltava conhecimento de algumas outras coisas e conceitos de computação que só fui aprender alguns anos depois.

Já te adianto que quando um programa está rodando, essas gavetas são colocadas dentro de um armário que fica dentro do seu computador, e que eu já expliquei lá no post da dupla dinâmica.

Além disso, descobri que eram as variáveis que, além de outras coisas, ajudariam a controlar aquele nosso fluxograma computacional (que expliquei no vídeo passado), ou seja, sem variáveis não existe programa de computador.

Então no vídeo de hoje vou explicar na prática o básico sobre variáveis em linguagem C (mas que conceitualmente serve para outras linguagens), e no próximo vídeo será a parte técnica e que eu considero necessária para conseguir progredir em programação.

Se você é realmente iniciante em programação, pode já começar a desenvolver sua fluência em ler código *mesmo* sem entender o que o código faz.

Este arquivo seguinte está escrito em linguagem C (parte de um projeto antigo meu).

https://sourceforge.net/p/rnat/code/HEAD/tree/rnat_router/rnat_router.c

É parte do netfilter (código do kernel linux que lida com os pacotes de rede) com algumas modificações que eu fiz, então não se preocupe em entender o que são todas estas coisas…

De momento somente procure no código o local aonde é criada a variável “is_rnat” (que em termos técnicos chama-se: declarar a variável), descubra qual é o tipo dela e o valor que é colocado lá dentro inicialmente, e depois procure no código a linha em que o conteúdo desta variável é alterado.

Lembre-se que o importante aqui é você se acostumar a ler o código e identificar variáveis dentro de um programa em linguagem C, e não o de entender o que o código está fazendo. Isto vem com o tempo, Ok?

Espero que o conteúdo de hoje tenha te ajudado.

Como sempre, comenta aqui em baixo o que você achou.

*** EDITADO – Atenção – Este aviso será removido em breve*** : Como vários de vocês sabem, eu tenho um curso específico sobre terminal lá no EAD do Diolinux (aliás muitos alunos começaram a acompanhar o site aqui depois de finalizar o curso lá, muito obrigado!).

Coloquei no ar recentemente aqui no site uma série gratuita pra ajudar iniciantes a dar pelo menos os primeiros passos no terminal, e quem sabe ao final da série decidir se juntar aos outros alunos lá do curso. Só pra avisar, no final vai ter um momento jabá do curso.. spoiler alert 🙂 Mas mesmo que não tenha interesse no curso  (ou mesmo se já fez o curso), assista à série, pois a gente sempre pode aprender algo novo. Fechado?

Ainda não decidi se vou deixar a série no ar.. então fica aqui o meu convite pra você assistir ao primeiro episódio, e se achar que ela é pra você, cadastre-se para receber os próximos episódios e o material que uso nas explicações.

Se você gostar do conteúdo e achar que conhece alguma pessoa que quer (ou precisa) aprender mais sobre terminal, fique à vontade para compartilhar o link com ela.

PS: se você já é cadastrado aqui no site e quiser acompanhar a série, peço que se cadastre lá também, pois não vou enviar conteúdo sobre terminal para quem está cadastrado só pra receber conteúdo de programação, certo? Eu sei que é chato ficar se cadastrando, mas no momento é o único jeito que eu tenho de entregar o conteúdo com uma certa efetividade e segmentar quem quer receber cada tipo de conteúdo (pra evitar spam), além do que sou fã de carteirinha de e-mail. Sei lá, deve ser coisa de saudosista 🙂

Abraço!

Categorias
Programação

Como Funciona Um Programa de Computador? A Explicação é Lógica.

Quantas vezes você já se perguntou como funciona um programa de computador? Se você é assim como eu (curioso e adora tecnologia), aposto que a resposta seja: várias.

Em um dos posts passados (em que eu falo do modelo orquestra) comparamos um programa de computador com uma partitura musical, porém agora precisamos expandir um pouco esta explicação.

Se você já tentou ao menos espiar dentro de um código qualquer para tentar entender o que estava acontecendo, muito provavelmente você se deparou com o que eu chamo no vídeo de hoje de “fluxograma computacional”.

Talvez você já tenha ouvido falar em lógica de programação.

Eu sei que é um termo um pouco intimidador pra quem nunca ouviu falar, mas na verdade não é nada muito diferente da lógica que nós seres humanos usamos para tomar decisões no nosso dia a dia (veremos isso mais adiante).

Na verdade, eu nem gosto muito deste termo “lógica de programação”, e no momento apropriado eu explicarei o motivo.

Parte de como funciona um programa de computador deve-se à lógica.

A Explicação é “lógica”

Sim! Programas de computador dependem de lógica de programação (que por sinal você já sabe, e eu vou explicar o porquê disso em outro momento).

Eu gosto muito de fazer um paralelo entre fluxogramas e programas de computador. Sabe o motivo?

Fluxogramas são ferramentas que nos permitem demostrar de forma visual e simples um processo lógico de tomadas de decisões.

Basicamente é uma sequência de condições, e o resultado destas condições levam o fluxo para uma direção ou para outra, que pode então ser uma outra condição, ou alguma outra tarefa a ser executada.

Um programa de computador não é muito diferente disso.

Independente da linguagem de programação que você for aprender na sua vida, você precisará pelo menos saber o básico de lógica.

Lógica é a base para escrever as condições que precisamos que o nosso programa avalie durante sua execução.

No seu dia a dia você avalia diversas condições também, e toma uma ação baseada nelas.

Exemplo: Você vai sair de casa e precisa decidir se leva junto um guarda-chuva.

A condição aqui é: “Está chovendo?”. Caso esteja chovendo, você pega um guarda-chuva. Se não estiver, você não pega.

Uma condição em um programa de computador pode ser algo como: avaliar se um número é maior que outro, se uma palavra é diferente de outra, se um determinado botão foi apertado, etc.

E uma ação poderia ser algo como imprimir um texto na tela, mostrar uma imagem, um botão, dentre outras coisas.

Em linhas gerais, assim é como funciona um programa de computador, e eu explico mais detalhadamente no vídeo abaixo. Inclusive coloquei na apresentação uma figura de você escrevendo seu fluxograma computacional… confere lá 🙂

Lembre de se inscrever aqui no site para continuar acompanhando esta série de conteúdos sobre programação, e deixe aí em baixo um comentário pra eu saber o que você achou do post. Fechado?

Se está chegando aqui no site pela primeira vez, aqui embaixo tem uma lista dos posts mais antigos. Assiste lá pra gente em breve poder debulhar uns códigos juntos!

Abraço!

Categorias
Programação

Programação em C: Seu primeiro programa em 7min e 40s

Talvez eu seja suspeito para falar, mas sou de carteirinha de programação em C (e C++ também).

Em toda a minha carreira a linguagem C esteve presente. Mesmo quando ainda não trabalhava diretamente com programação, mas queria simplesmente alterar o funcionamento de um programa, volta e meia caía um código em C ou C++ nas minhas mãos.

Bom, C não foi a primeira linguagem que eu aprendi. Eu comecei com “Basic” quando era ainda um pré-adolescente, e alguns anos depois aprendi algo com “Visual Basic”.

Passei por diversas outras linguagens (shell, python), até que na faculdade finalmente encarei a programação em C, que para minha surpresa não era aquele bicho de 7 cabeças que muita gente dizia por aí.

Sem falar que depois de aprender C entendi muitos “porquês” de coisas que eu fazia nas outras linguagens, mas não entendia muito bem o motivo.

Programação em C e C++ no mundo real

Ainda hoje ouço gente falar que aprender programação em C e C++ é bobagem, porque existem outras linguagens mais modernas, mas isso está longe de ser verdade. Quer alguns exemplos?

  • O kernel Linux é todo feito em C;
  • No Ubuntu o Unity8 é todo feito em C++ (usando Qt e Qml);
  • Desenvolvemos todos os componentes da pilha de telefonia do Ubuntu Phone em C++;
  • O Unity7 foi escrito em C++;
  • O Kde é escrito em C++ (Usando Qt também);
  • O aplicativo do Telegram para desktop é feito em C++ (E Qt);
  • E a lista aqui poderia continuar indefinidamente…

C e C++ são aquelas linguagens que nunca ficam velhas.

Os anos passam e elas continuam lá, firmes e fortes. E mesmo que você pretenda atuar em ramos dominados por outras linguagens (como páginas web ou aplicativos para Android e iOS), ainda assim boa parte dos conceitos que você aprende em C e C++ continuam valendo para outras linguagens: PHP, javascript, java, objective-c, python, shell scripting, etc.

Então recomendo que aprenda C (ou pelo menos o básico da linguagem) de começo e depois as coisas vão ficar mais fáceis quando você precisar aprender outras linguagens.

E por falar em começo… gravei esta vídeo-aula explicando como você pode dar o seu passo inicial e escrever o seu primeiro programa em linguagem C.

Este é o menor programa possível de ser criado, e em menos de 8 minutos você já vai ter escrito, compilado, executado e entendido o que ele faz.

Diz pra gente aí nos comentários o que você achou.

Abraço!