Linguagem "C" foi a primeira a combinar alto e baixo nível
Toda história tem um início, na área de programação não é diferente, quase sempre começamos por um curso de lógica de programação e para isso é escolhida uma linguagem, que a uns 10 anos atrás na sua grande maioria, utilizavam “C ou C++”. Com exceção de alguns cursos que usavam o “visualg30” e posteriormente o “Portugol Studio” linguagens pensadas especificamente para algoritmos.
Adoro “C” foi amor à primeira vista, é uma linguagem charmosa e claro tudo que é novo no começo, encanta. Acabamos gostando mesmo depois de descobrirmos a verdadeira complexidade dela:
- Malloc aloca um bloco de memória do tamanho especificado pelo argumento e free desaloca um bloco de memória alocado por malloc.
- Ponteiros marcam o início do bloco de memória alocado, eles são variáveis que armazenam o endereço de memória de outras variáveis. Eles podem acessar dados em diferentes partes da memória, podem fazer alocação dinâmica de memória e podem passar parâmetros por referência.
- Compilação é o processo de transformar o código fonte de um programa escrito em uma linguagem de programação de alto nível, em um código binário. Essas são algumas das coisas, que assustam em “C”.
A linguagem de programação "C" foi desenvolvida por Brian Kernighan e Dennis Ritchie, a partir de 1972 e esteve por muitos anos no topo dos rankings, das mais usadas no mundo. Abaixo ranking atual TIOBE:
A linguagem "C++" não é uma versão de "C", mas uma linguagem de programação separada que evoluiu a partir de "C". O "C++" foi desenvolvido por Bjarne Stroustrup na década de 1980, como uma extensão da linguagem "C". Embora "C++" compartilhe muitos conceitos e sintaxe com "C", há diferenças significativas entre as duas linguagens.
Apesar da linguagem “C” ter passado por três principais padrões ou revisões: "K&R C" (1972), "ANSI C" (1989), e "C99" (1999), ainda gostaria de ver uma atualização mais significativa, para aproximá-la das linguagens mais modernas e atuais, como: Java, Python, JavaScript, C#, Rust, Ruby.
Essas linguagens buscam eliminar ou minimizar, a necessidade de gerenciamento manual de memória e ponteiros, tornando-as mais acessíveis a desenvolvedores. Com certeza se a linguagem “C” seguisse esse caminho, ela voltaria a ser a 1ª do ranking por muitos anos ainda.
Vou torcer por isso e vocês o que acham? Compartilhem suas opiniões também.