1. INTRODUCCIÓN
1.4. Aplicaciones de los polímeros supramoleculares
As linguagens de programação são ferramentas que permitem estruturar a forma como o computador e seu usuário irão interagir. Como exemplo, ao ligar o computador, e após todo o processo de inicialização, o computador está pronto para executar diversos programas aplicativos, entre eles: o sistema operacional (Windows, Linux), um navegador (Internet Explorer, Chrome), um processador de texto (Word), uma planilha eletrônica (Excel) e outros. As linguagens de programação são usadas exatamente para desenvolver estes aplicativos.
Existem diversas linguagens de programação. Alguns exemplos são as diversas linguagens de máquina, utilizadas para programar microprocessadores (também chamadas de Assembly), assim como linguagens chamadas de ―alto nível‖, tais como BASIC, Pascal, Delphi, PHP, Java, e, principalmente, o C e o C++. O C é uma sucessão da linguagem B, que, por sua vez, sucedeu outra linguagem chamada de BCPL. O C nasceu na década de 70 do século passado, tendo sido inventado por um sujeito chamado Dennis Ritchie, que o implementou pela primeira vez em um computador DEC PDP-11, rodando o sistema operacional UNIX. O C acabou se tornando quase um padrão de programação, tendo sido implementado em diversos computadores e sistemas operacionais. É muito provável que os aplicativos que você mais usa tenham sido desenvolvidos em C ou C++.
A principal razão para o sucesso do C é a capacidade de ―mexer‖ com o hardware sem, no entanto, se afastar muito do programador. No próximo período vocês estarão programando em Assembly e vão perceber que, antes de programar, é preciso conhecer profundamente o hardware para o qual pretendem programar. Por hardware deve-se entender, além do microprocessador, todos os componentes da placa com o microprocessador, e como estes componentes estão interligados. Conclusão: o Assembly não é, de forma alguma, uma linguagem genérica.
114 Outras linguagens de programação sequer se preocupam com a existência ou não de hardware... É o caso do HTML que cria páginas para Internet. Algum desavisado pode chegar até a imaginar que, ao especificar uma cor de fundo de uma página, não haja nenhuma interação com o equipamento em uso. No entanto não é assim: o HTML usa recursos do navegador, que usa recursos do sistema operacional, que, finalmente, usa recursos do hardware (computador, placa de vídeo e monitor).
O C está no meio do caminho. Graças à sua estrutura de bibliotecas e funções, permite que você comande o hardware, praticamente no nível de detalhe que você quiser. Se você quiser programar em nível muito alto, o Dev C++ (que vamos usar, disponível em: http://www.bloodshed.net/dev/devcpp.html) deixa você pensar que está programando em algo parecido com a abstração do BASIC ou PASCAL... Se você quiser influenciar o hardware (conteúdo de um byte da memória ou escrever na porta paralela do PC, por exemplo) então bem vindo ao C. Ele foi feito pra isso!
Além disso, um programa que você escreve pode ser compilado para virtualmente qualquer sistema operacional como, por exemplo: o mundo Windows (Windows NT, Windows XP, Windows 7, Windows 8 – ao contrário do que você imaginava são sistemas operacionais DIFERENTES que mantém ALGUMA compatibilidade entre eles), o mundo UNIX (incluindo o Linux e as suas diversas distribuições Red Hat, Ubuntu, Debian, etc...), o Mac OS e outros. Além disso, o mesmo programa (com pouca ou nenhuma alteração) vai rodar em praticamente qualquer computador (PC, Mac, Workstations, computadores de grande porte, etc...).
Estas características tornaram o C uma linguagem conhecida e utilizada por dez entre dez programadores. Quase toda a programação de sistemas envolvendo aplicações de hardware é feita em C ou dele se utiliza em algum grau. Praticamente tudo que foi programado inicialmente para a Internet, ou estava em C ou usava alguma rotina em C. Diversas linguagens mais novas se baseiam na mesma estrutura do C. Se considerarmos que o ―empacotamento tecnológico‖ da nossa sociedade é muito recente (menos de 30 anos), que o boom da Internet foi quase ontem (a partir de 1995) e que os serviços e sistemas que vamos utilizar nos próximos 15 anos sequer foram inventados, estudar uma linguagem de programação, como o C, significa, de alguma forma, participar de tudo isso. As grandes oportunidades estão à disposição daqueles que têm uma boa idéia e que são capazes de pô-las em prática. Estudar o C pode abrir uma porta para os mais ousados!
115 Basicamente, a estrutura do programa em C consiste em um conjunto de palavras (na verdade, funções e comandos, a princípio estranhos) escritas em algum arquivo do tipo texto. Este arquivo será processado em um compilador, que é um aplicativo que tem como objetivo receber uma série de comandos e transferi-los para a linguagem de máquina (Assembly), de forma a serem executados pelo processador. Após a compilação, o seu programa, que antes era um arquivo tipo texto, se transforma em um outro arquivo, do tipo executável, ou seja, entendido pelo sistema operacional como um aplicativo. No caso do Windows, o programa compilado terá a extensão .EXE e será reconhecido como um aplicativo.
A série de comandos contidas no arquivo tipo texto é denominada programa ou arquivo fonte. A partir deste programa o compilador gera o executável, que possui instruções em Assembly apropriadas para realizar aquilo que havia sido definido no programa.
Ao compilar o programa em C, o executável gerado pode ser utilizado de forma independente do compilador. Desta forma pode ser distribuído, em flash drive, por e-mail, CD, em algum site. Se for o caso pode até ser vendido... para isso basta que o programa execute alguma tarefa pela qual as pessoas estejam dispostas a pagar algum valor... O limite é sua capacidade de imaginar!
---X----X--- O curso está estruturado de forma a estudar a linguagem através de programas exemplo, passando imediatamente a tarefas práticas, a serem desenvolvidas em aula.
É importante entender que o aproveitamento do curso será proporcional a sua dedicação, dentro e fora do laboratório. Esta apostila não deve ser entendida como a única fonte de referência para a linguagem. Existe vasta bibliografia de C disponível na Internet. Da mesma forma, existem diversos cursos on-line de bom nível, gratuitos ou não, e que podem ser usados como complemento e/ou aprofundamento deste curso.
Você pode usar em casa o compilador:
http://sourceforge.net/projects/orwelldevcpp/files/Portable%20Releases/Dev-Cpp%205.11%20TDM- GCC%20x64%204.9.2%20Portable.7z/download
Ao fim do primeiro módulo, introduz-se o projeto Arduino, que permite a implementação de aplicativos práticos, programando uma placa padrão com interfaces de entrada e saída.
A recomendação é que se considere este curso como uma oportunidade para aprender esta importante linguagem de programação!
116