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

Tempo de leitura: 2 minutos

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!

Summary
Programação em C: Seu primeiro programa em 7min e 40s
Article Name
Programação em C: Seu primeiro programa em 7min e 40s
Description
Vídeo-aula sobre programação em C: Como escrever, compilar e executar seu primeiro programa em menos de 8 minutos, sem precisar instalar nenhuma ferramenta.
Author
Publisher Name
Tiago Salem
Publisher Logo
  • Daniel Trigo

    belo presente de natal =], ansioso pelo próximos capítulos.

    • haha, Fala aí, Daniel!
      Valeu por acompanhar aqui. O próximo post já está no forno. 🙂

      Abraço!

  • Felipe dos Santos

    Parabéns pela aula, e muito obrigado, pois me tirou a grande duvida de por onde começar, eu queria(quero) aprender c++ mas não tinha noção de ter o básico do C. Muito obrigado e aguardo a sequencia do post.

    Obs: Concordo com o Daniel, belo presente de natal!

    • Valeu Felipe!

      Eu gosto de passar pelo menos o básico de C antes de C++ porque todo mundo que programa em C++ uma hora ou outra acaba se deparando com código em C. Aconteceu comigo semana passada inclusive.

      Abraço!

  • marusero

    Ótimo conteúdo, obrigado por desperdiçar seu tempo nos proporcionando algo de útil

    • Olá! Obrigado pelo comentário.
      Se o conteúdo foi útil para alguém, então o tempo que eu usei pra gravar já valeu a pena 🙂
      Abraço!

  • Luis Cafori

    Fala Tiago!
    Como sempre ótimo conteúdo e aula, de fato é uma grande duvida para muitos, imagino, “por onde começar?”, exitem muitas linguagens e seus defensores, nessa aula a duvida foi sanada de vez.
    Da mesma forma que no curso do bash, que é ótimo e recomendo, essa “mão na massa”, já tira aquela impressão que a coisa é assustadora ou como você diz um bicho de 7 cabeças.
    Obrigado pela da aula bônus “Gravador e Transmissor de Podcast”, do curso de bash, muito, muito legal mesmo.
    Hoje acabou sendo o Professor Noel.
    Agradeço as ótimas aulas, disposição e empenho.
    Um abraço!

    • E aí Luis!
      Sem dúvida. O mar de linguagens de programação hoje em dia acaba confundindo qualquer pessoa. E como não existe regras sobre por onde é melhor começar, o pessoal às vezes acaba se perdendo, o que é natural.

      Que bom que gostou da aula bônus. Resolvemos gravar pra agradecer os alunos e também pra complementar o curso, mostrando como é possível só em linha de comando fazer coisas fantásticas juntando todo o conteúdo ensinado. No bash, com conhecimento e criatividade dá pra fazer quase “mágica” no terminal 🙂

      Muito obrigado pelo apoio!
      Abraço!

  • Mauro Marssola

    E ae Tiago, blz?
    Cara, posso falar por experiencia própria, aprender C é uma das melhores coisas que eu fiz em programação…
    Estou refazendo um software que fiz (inicialmente em PHP e um módulo em PYTHON) em C, e aprendi muita coisa legal… as ferramentas Autotools para compilação e tals…
    Estou aprendendo C++ também com uma apostila de 600 págs, muito boa… e se não tivesse aprendido C antes, não conseguiria entender bem o conteúdo da apostila… E o meu interesse em C++ é para o Ubuntu Phone, já mexi um pouco com QML pelo Ubuntu SDK, agora quero usar o C++ também… Estou aguardando exemplos pra ele hein… kkkkk

    • Fala @mauromarssola:disqus, tudo beleza e por aí?
      Concordo plenamente! Aprender C vai além de só aprender a programar. Ajuda inclusive a entender como o computador armazena os dados em memória, strings, ponteiros e outros conceitos. O mais interessante é que a sintaxe do php em muitos casos se assemelha ao C e C++.
      Eu só não pretendo me aprofundar demais em C porque os frameworks que nos permitem progredir mais rápido na grande maioria são em C++ (especialmente por causa da orientação a objetos). Daria pra passar uma vida toda aprendendo C. 🙂

      Sobre o autotools, eu pessoalmente só sei o básico (não sou muito fã na verdade hehe). Acabei me especializando mais em CMake, que eu acho mais “clean” e mais moderno. Todos os nossos projetos hoje usam CMake.

      Que legal que está mexendo com Ubuntu Phone. Eu uso pouco o SDK. Quando começamos a escrever o dialer-app e o messaging-app há uns dois anos atrás ainda não existia o ubuntu-sdk-ide, então acostumamos a fazer tudo na mão. Mas já vi gente que usa bastante e sei que ajuda muito quem está começando. Quando chegar em C++ talvez eu consiga passar uns exemplos em Qt e Qml aqui pro pessoal que gosta de ubuntu :p

      Abraço!

      • Mauro Marssola

        Tudo de boas tbm…

        Realmente, a sintaxe do PHP é quase idêntica ao C…
        E foi muito bom mesmo aprender C, porque somos obrigados a gerenciar o tanto de memória que precisamos… Coisa que não consegui fazer muito bem com um Módulo de relatório que fiz em Python, e o PHP nem deu a chance de terminar o Módulo, não supria a necessidade de jeito nenhum. Tive que aprender protocolos de Rede no C, e em breve vou ter que ver esses protocolos com criptografia também… E são muitas coisas na unha mesmo… sei que com Qt seria até mais simples, mas é interessante ver à fundo como funciona os protocolos, e tals.

        Cara, eu até que gostei do Autotools… achei bem legal… até porque o software que estou fazendo agora, estou tentando me enquadrar ao máximo ao padrão GNU. E para distribuir para outras distribuições / sistemas é até “simples”…
        Agora mesmo estou utilizando ele para o FreeBSD, usando o PORTS (Ferramenta fantástica para instalar o Software do Código-Fonte) para gerar o Pacote PKG…
        Até para criar o pacote RPM o padrão do Autotools foi até “fácil”…

        Mas só fiz com o Autotools porque foi o que eu vi primeiro, quem sabe eu aprenda o CMake tbm… kkkkk

        • Ah sim, se no caso você está tentando fazer tudo no padrão GNU, autotools é o mais indicado mesmo.

          Aprender a gerenciar memória (alocar e liberar) é essencial. As linguagens mais modernas conseguem fazer parte do garbage collection automaticamente, o que facilita muito a vida.

          O autotools é consagrado, então boa parte dos formatos de pacotes (deb, rpm) sabem lidar com ele por padrão. Não mexo com rpm desde que saí da Mandriva, mas eu tenho boas lembranças de rpm.

          A hora que tiver um tempo dê uma olhada no cmake só por curiosidade. Sem querer bancar o evangelizador, mas não conheço ninguém que usou e voltou atrás 🙂 haha

          Abraço!

          • Mauro Marssola

            Na verdade, querendo ou não eu vou ter que ver o CMake, já que tudo para o Ubuntu Phone é feito CMake… então não vai ter como fugir mesmo kkkkkkk

            Mas vou dar uma olhadinha sim… talvez me ajude no progresso do Software… 🙂
            Em breve vamos lançar uma versão Beta, desde sua primeira versão, foi disponibilizado como Open-Source…

            Abraços! Vlw

          • Que legal! Quando tiver o lançado o beta manda o link pro pessoal ver 🙂

  • Zé Doreto

    Ótimo conteúdo e didática incrível. Você está me ajudando muito. Obrigado Tiago.

    • Valeu @zdoreto:disqus!
      Fico feliz de saber que está ajudando! 🙂
      Abraço!

  • Ed B Alves

    Valeu Tiago, como sempre ótima didática, assim fica simples aprender programação!

  • guilherme daniel

    O vídeo deveria estar aparecendo…

  • Bruno Andrade

    Simples e objetivo, muito bom.

    • Obrigado Bruno!
      Fico feliz que está acompanhando os posts 🙂
      Abraço!

  • Jose Avelar

    Muito bom Tiago. Simples e direto. Gostei muito. Muito bom.