Contents

C ainda é relevante como linguagem de programação?

,

Aria Beingessner Ela já foi membro das equipes responsáveis ​​pela implementação das linguagens Rust e Swift, então sua opinião sobre desenvolvimento de software não é algo que possamos descartar sem maiores considerações, mesmo quando ela a mantém em seu blog ** uma teoria tão controversa quanto a de que"a linguagem C não é mais uma linguagem de programação"**.

Em primeiro lugar, acusa C de fragmentação (“C é na verdade terrivelmente mal definido devido aos seus bilhões de implementações.”) e de ter “uma hierarquia de números inteiros totalmente falhada” ; Este último refere-se ao fato de que, de acordo com o modelo de dados utilizado —LP32 para Win16, ILP32 para Win32 e Unix de 32 bits, LLP64 para Win64 ou LP64 para Unix de 64 bits— o valor dos números inteiros varia , o que podem ser traduzidos em dados’int’de 16 ou 32 bits, dados’longos’de 32 ou 64 bits, equivalências entre int e long ou entre long e ponteiro, etc.).

No entanto, para Beingessner ambos os detalhes são apenas acessórios: não é aí que reside a sua principal preocupação…

Um olhar sobre… A carreira do programador em 2017 e no futuro (com Javier Santana)

A’lingua franca’que limita os nativos

“O meu problema é que desde que C foi elevado a uma posição de prestígio, o seu reinado revelou-se tão absoluto e eterno que acabou por distorcer completamente a forma como falamos uns com os outros. Rust e Swift não podem apenas usar suas línguas, nativas e confortáveis… mas devem se vestir com uma fantasia grotesca da pele de C e fazer sua carne ondular da mesma forma que C faz.”

O que Beingessner está se referindo aqui em sua linguagem floreada é o fato de que C não é uma mera linguagem de programação porque se tornou algo mais do que isso: em um"protocolo"aquele que"toda linguagem de programação de uso geral precisa falar".

Neste site Nove sites e canais do YouTube para aprender C do zero ao nível de especialista

Ou seja, qualquer linguagem que queira acessar a entrada de dados do usuário, gravar na saída do sistema, manipular arquivos, etc., precisa interagir com a interface do seu sistema operacional. E para isso, Como a maioria dos sistemas operacionais são desenvolvidos em C, cada linguagem é forçada a chamar APIs C através de interfaces de funções estrangeiras.

Resumindo, mesmo que nunca escrevamos código C em nossas vidas, um desenvolvedor deve lidar com variáveis ​​C, combinar estruturas de dados e layouts com aqueles de C , etc. E não apenas ao comunicar o software com o sistema operacional: também ao tentar comunicar dois programas entre si.

“C é a ‘língua franca’ da programação.”

Na realidade, este papel de C visto como’API’do resto das linguagens de programação está intimamente relacionado com declarações recentes de Bjarne Stroustrup (criador de C\+\+) sobre como’linguagens de programação seguras’que * *Eles procuram substituir C/C\+\+… na realidade continuam a depender deles**.

E mesmo que fosse uma linguagem de programação, não seria de baixo nível

Além disso, se formos precisos, embora não concordemos com a opinião de Beingessner, não podemos considerar C uma linguagem de programação de baixo nível, que é como foi categorizada durante toda a sua vida.

Uma linguagem de baixo nível é aquela que está ‘próxima do hardware’, em que suas instruções são condicionadas pela estrutura física dos computadores que as executam. Mas C. foi desenvolvido na década de 70 pensando nos gigantescos computadores PDP-1 1, não em nossos pequenos computadores Intel ou ARM.

Conforme divulgado na publicação de 2018 emitida pela Association for Computing Machinery e intitulada “C não é uma linguagem de programação de baixo nível”,

0

“A causa original das vulnerabilidades Spectre e Meltdown reside no fato de que os arquitetos de processadores não estavam tentando construir processadores rápidos, mas processadores rápidos que expõem a mesma máquina abstrata de um PDP-11. Isto é essencial porque permite que os programadores C continuem acreditando que sua linguagem está próxima do hardware subjacente “.

“[…] Talvez seja hora de parar de tentar fazer o código C rodar rápido e, em vez disso, pensar em como seriam os modelos de programação de um processador projetado para ser rápido.”

Uma iteração anterior desta peça foi lançada no ano de 2022.

Imagem | Pixabay

Neste site, a linguagem de programação Hare é apresentada como a escolha ideal para o desenvolvimento de sistemas operacionais. Os desenvolvedores do Hare pretendem simplificar e agilizar o processo de programação, fornecendo uma alternativa mais amigável ao C, uma das linguagens de programação mais utilizadas na indústria atual de desenvolvimento de software.

1

*️⃣ Link da fonte:

mantém em seu blog , o modelo de dados usado , este artigo ,