Article image
Marcio Prado
Marcio Prado13/11/2023 17:07
Share

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:

    image

    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.

    Share
    Comments (1)
    Marcos Vieira
    Marcos Vieira - 13/11/2023 17:28

    A linguagem "C" desempenhou um papel fundamental nos primeiros passos de muitos programadores, incluindo o seus né Marcio Prado rsrs. A complexidade inerente, como a alocação de memória e o uso de ponteiros, desafia os desenvolvedores, proporcionando um profundo entendimento do funcionamento interno do sistema. A menção da evolução do "C++" como uma linguagem separada que se originou do "C" mostra também como as linguagens crescem e se ramificam ao longo do tempo. Obrigado pelo texto!