O que é C?
C é uma linguagem de programação criada na década de 60 e utilizada largamente até os dias atuais. É comum se ouvir que “metade do Universo é escrito em C” e de fato é impressionante o número de aplicações de base escritas nesta linguagem. Exemplos incluem: Linux, Apache httpd, PHP, Java, Perl, Ruby, Python e a API do Windows.
Por que estudar C?
Acreditamos que o estudo da linguagem C é muito benéfico para o profissional que lida com computadores, independente da área. Estudar C nos obriga a focar nas bases da computação, entender como os dados são manipulados em memória pelo sistema operacional e pelo processador, suas limitações e condições para funcionamento. Algumas vantagens de se estudar C são:
- Pouca coisa "vem pronta" em C, nos forçando a implementar e entender as limitações da computação atual.
- O programador tem controle quase total do contexto do programa.
- É uma linguagem comercial, principalmente na era dos embarcados.
Mas C não é velho?
A linguagem foi criada há muito tempo, mas continua sendo atualizada e utilizada. Basta olhar o índice TIOBE, que mede as linguagens mais em alta no mundo, para comprovar o que dissemos. A última atualização na especificação padrão foi em 2011 mas os compiladores adicionam extensões periodicamente. O gcc (GNU Compiler Collection) e o Visual Studio, da Microsoft, são bem famosos, mas há também o clang que ganhou bastante espaço recentemente.
O curso
O curso Programação Moderna em C é gratuito aborda aspectos modernos da linguagem, bem como do ecossistema para desenvolvimento de aplicações em C, como o SO, editores de texto, IDE’s, etc.
O curso está no YouTube, no nosso canal Papo Binário. São 20 aulas em 23 vídeos.
O instrutor
@Fernando Mercês é Pesquisador de Ameaças na Trend Micro, onde atua como investigador de ciber crime, utilizando engenharia reversa e técnicas de inteligência de ameaças no time de Pesquisa de Ameaças Futuras (FTR). Criador de várias ferramentas livres na área, com frequência apresenta suas pesquisas nos principais eventos de segurança no Brasil e no exterior. É também professor e fundador da Mente Binária, uma instituição de ensino e pesquisa sem fins lucrativos comprometida com o ensino de computação no Brasil.
Aulas publicadas
- Aula 0: Preparando o ambiente
- Aula 1: Funções main() e printf()
- Aula 2: Variáveis booleanas e do tipo char
- Aula 3: Variáveis do tipo int
- Aula 4: Variáveis do tipo float
- Aula 5: Arrays
- Aula 6: Operadores aritiméticos
- Aula 7: Operadores lógicos
- Aula 8: Operadores bit-a-bit
- Aula 9: Condicional if
- Aula 10: Repetições (Parte 1/2)
- Aula 10: Repetições (Parte 2/2)
- Aula 11: Ponteiros (Parte 1/2)
- Aula 11: Ponteiros (Parte 2/2)
- Aula 12: Indexação de arrays e ponteiros
- Aula 13: Alocação dinâmica de memória
- Aula 14 - Estruturas e Uniões
- Aula 15 - Funções
- Aula 16 - Macros
- Aula 17 - Escopo e classes de armazenamento
- Aula 18 - Projeto readpe (Parte 1/3)
- Aula 19 - Projeto readpe (Parte 2/3)
- Aula 20 - Projeto readpe (Parte 3/3)
Pré-requisitos
- Máquina física ou virtual com Linux.
- Básico do shell do Linux.
- Lógica de programação é desejável.
- 5
- 1