Escolar Documentos
Profissional Documentos
Cultura Documentos
Linguagem de Programação
Discente: Docente:
Paulo Joaquim
1.1.1. Geral..........................................................................................................................1
1.1.2. Específicos.................................................................................................................2
1.2. Metodologia......................................................................................................................2
2. Linguagens de programação.....................................................................................................3
3. Conclusão...............................................................................................................................14
4. Bibliografia.............................................................................................................................15
1. Introdução
A linguagem de programação é um dos pilares fundamentais que sustentam a revolução
tecnológica em curso. À medida que avançamos cada vez mais para uma sociedade altamente
digitalizada, as linguagens de programação desempenham um papel central na criação de
soluções tecnológicas inovadoras que afetam todos os aspectos de nossas vidas. Essas
linguagens, que evoluíram significativamente ao longo das décadas, permitem que
desenvolvedores de software comuniquem suas ideias e intenções aos computadores, instruindo-
os a realizar tarefas complexas, desde processar enormes volumes de dados até controlar
sistemas automatizados.
No contexto atual, onde a tecnologia permeia todos os aspectos da sociedade, a compreensão das
linguagens de programação se torna cada vez mais relevante. Elas são o alicerce sobre o qual a
transformação digital e a inovação tecnológica estão construídas. Nesta introdução, exploraremos
o papel crucial da linguagem de programação, sua evolução histórica e sua influência profunda
em nossa era digital, destacando como essas linguagens capacitam a criação das ferramentas e
sistemas que moldam nosso mundo contemporâneo.
1.1. Objectivos
1.1.1. Geral
1
1.1.2. Específicos
1.2. Metodologia
2
2. Linguagens de programação
Para aprofundar esse conceito, podemos citar o renomado cientista da computação Alfred Aho,
que descreveu uma linguagem de programação como:
"Uma linguagem de programação é uma notação para descrever algoritmos e estruturas de dados
de forma que esses possam ser interpretados por um computador. É uma ferramenta que permite
aos programadores expressarem suas intenções e direções para uma máquina."
Ora, temos que uma linguagem de programação é uma notação formal para descrição de
algoritmos que serão executados por um computador. Como todas as notações formais, uma
linguagem de programação tem dois componentes: Sintaxe e Semântica. A sintaxe consiste em
um conjunto de regras formais, que especificam a composição de programas a partir de letras,
dígitos, e outros símbolos. Por exemplo, regras de sintaxe podem especificar que cada parêntese
aberto em uma expressão aritmética deve corresponder a um parêntese fechado, e que dois
comandos quaisquer devem ser separados por um ponto-e-vírgula. As regras de semântica
especificam o “significado” de qualquer programa, sintaticamente válido, escrito na linguagem.
Para entender melhor a profundidade desse tópico, vamos explorar algumas citações e
referências que destacam sua importância:
A revolução digital que vivemos hoje é alimentada por linguagens de programação. Como
declarado por SCHMIDT, E. (2014), ex-CEO da Google:
Essa revolução digital afeta todos os aspectos da sociedade, desde a forma como nos
comunicamos até como trabalhamos, aprendemos e nos entretemos.
5
Para compreendermos mais profundamente esse tópico crucial, vamos explorar citações e
referências que destacam essa classificação e sua importância.
Linguagens de alto nível são projetadas para serem mais compreensíveis e próximas da
linguagem humana. Pois, essas linguagens facilitam a expressão de algoritmos e ideias.
Exemplos incluem Python, Java e C++. Elas se destacam pela sua capacidade de expressar
algoritmos complexos e ideias de maneira mais natural. Segundo KNUTH (1974), um dos
pioneiros na ciência da computação, enfatiza que linguagens de alto nível têm o poder de elevar
o pensamento do programador a um nível superior.
Isso significa que essas linguagens permitem que os programadores se concentrem na solução de
problemas e na lógica subjacente, em vez de se preocuparem com detalhes de baixo nível da
máquina, como gerenciamento de memória ou manipulação de registradores.
Por outro lado, linguagens de baixo nível estão mais próximas da linguagem de máquina e, como
tal, requerem um entendimento mais profundo da arquitetura do hardware. Segundo
KERNIGHAN e RITCHIE (1978), os criadores da linguagem C, observam que C é um projeto
de linguagem que combina expressividade de alto nível com controle de baixo nível.
Isso destaca como linguagens de baixo nível fornecem um alto grau de controle sobre o
hardware, permitindo que os programadores otimizem algoritmos e utilizem recursos específicos
da máquina. No entanto, também significa que o desenvolvimento em linguagens de baixo nível
pode ser mais complexo e propenso a erros (KERNIGHAN e RITCHIE, 1978).
A escolha entre linguagens de alto ou baixo nível é uma decisão crítica no desenvolvimento de
software e depende do contexto do projeto. Como destacado por BROOKS (1975), autor de "The
Mythical Man-Month", infere que a primeira regra da otimização é: não a faça. A segunda regra
da otimização (somente para especialistas) é: ainda não a faça, a menos que seja absolutamente
necessária.
6
Essa observação ressalta que linguagens de alto nível são frequentemente preferíveis devido à
sua produtividade e facilidade de manutenção. No entanto, em situações de otimização extrema,
linguagens de baixo nível podem ser necessárias para atingir o desempenho desejado.
Existem muitos tipos de linguagens de programação, e elas podem ser classificadas de várias
maneiras com base em diferentes critérios. Uma das classificações mais comuns é quanto ao
paradigma de programação que a linguagem segue. Aqui estão alguns dos principais tipos de
linguagens de programação:
7
Linguagens de Alto Nível: Essas linguagens são mais próximas da linguagem humana,
facilitando a expressão de algoritmos complexos. Exemplos incluem Python, Java e C#.
Linguagens Específicas de Domínio (DSLs): São linguagens criadas para resolver
problemas específicos em um domínio particular. Exemplos incluem linguagens de
consulta de banco de dados específicas para um sistema.
Linguagens de Interface de Comando (CLI): São usadas para criar scripts de automação e
interagir com sistemas operacionais e aplicativos. Exemplos incluem Bash (no Linux) e
PowerShell (no Windows).
Essa é apenas uma visão geral das diferentes categorias de linguagens de programação. Cada tipo
de linguagem tem suas próprias características, aplicações e vantagens, e a escolha de qual
linguagem usar depende dos requisitos do projeto e das preferências do programador.
a) JavaScript
b) Phyton
c) Java
Ao contrário do que o nome pode levar a crer, Java e JavaScript não são linguagens que derivam
uma da outra ou similares. É uma linguagem de alto nível projetada para ter o menor número
8
possível de dependências de implementação. Dessa forma, os programadores escrevem o código
uma única vez e ele pode ser executado em qualquer plataforma que comporte essa linguagem de
programação.
d) PHP
É uma linguagem de uso geral e livre distribuição voltada para a criação de sistemas web. Como
utiliza o código aberto, os desenvolvedores conseguem mexer nela e aprimorar suas
funcionalidades. Possui funções similares à linguagem C, que também pode ser utilizada para
extensões na PHP. Além disso, pode ser utilizada para o controle de drones.
e) CSS
O nome é uma abreviação de Cascading Style Sheets (ou Folhas de Estilo em Cascata, em
português) e é uma linguagem estilística que atua na forma como um documento escrito em
HTML ou em XML é apresentado visualmente. É uma das principais linguagens da open web
auxiliando na estilização e organização de páginas web.
f) C#, C++ e C
Apesar de utilizarem a mesma letra, estas são três linguagens diferentes. A C# é uma linguagem
de programação simples e de propósito geral que auxilia no desenvolvimento de princípios de
engenharia de software. É utilizada para escrever aplicativos para sistemas hospedados e
incorporados. Já a C++ é de uso geral criada como uma extensão da linguagem C para
programação de sistemas e softwares incorporados, com recursos limitados e grandes sistemas. É
bastante utilizada em aplicativos de desktop, videogames e servidores.
9
2.4. Tradução de HLL
A tradução de linguagens de alto nível (HLL) para código de máquina envolve o uso de
compiladores ou interpretadores. Compiladores traduzem o código fonte inteiro para código de
máquina de uma vez, enquanto interpretadores traduzem e executam o código linha por linha.
A tradução de alto nível para baixo nível (HLL - High-Level to Low-Level) é um processo
complexo que envolve a conversão de código escrito em uma linguagem de programação de alto
nível (como C, Python, Java) em código de baixo nível ou código de máquina diretamente
executável pelo hardware do computador.
10
É importante notar que a tradução de HLL para LLL é uma tarefa desafiadora, pois diferentes
arquiteturas de computador e linguagens de programação de alto nível têm características
distintas. Portanto, os compiladores desempenham um papel crucial na automação desse
processo e na geração de código eficiente e funcional.
Vantagens:
Desvantagens:
11
i. Overhead de Desempenho: Podem ser mais lentas em comparação com linguagens de
baixo nível devido à camada de abstração adicional.
ii. Limitações de Controle: Em algumas situações, você pode ter menos controle sobre os
recursos do sistema.
iii. Uso Ineficiente de Recursos: Podem consumir mais recursos do sistema do que
linguagens de baixo nível em alguns casos.
Vantagens:
Desvantagens:
c) Linguagens de Script:
Vantagens:
12
Desvantagens:
i. Desempenho Limitado: São geralmente mais lentas que linguagens compiladas devido à
interpretação em tempo de execução.
ii. Menos Controle: Oferecem menos controle sobre o hardware e recursos do sistema do
que linguagens de baixo nível.
iii. Segurança: Podem ser mais vulneráveis a ameaças de segurança devido à execução de
código em tempo de execução.
13
3. Conclusão
As linguagens de programação desempenham um papel crucial na indústria de tecnologia. Elas
são as ferramentas que os desenvolvedores utilizam para criar software, aplicativos e sistemas.
Uma das características mais marcantes desse campo é a sua diversidade. Existem centenas de
linguagens de programação disponíveis, cada uma projetada com finalidades específicas em
mente.
Algumas linguagens de programação se destacam pela sua popularidade e ampla adoção. Python,
por exemplo, é conhecida por sua simplicidade e versatilidade, sendo amplamente utilizada em
ciência de dados, desenvolvimento web e automação. Java é uma escolha sólida para aplicativos
móveis e sistemas empresariais. JavaScript é a linguagem essencial para desenvolvimento web
front-end.
14
4. Bibliografia
ABELSON, H.; SUSSMAN, G. J.; SUSSMAN, J. "Structure and Interpretation of Computer
Programs." MIT Press, 1985.
CHISNALL, D. "The Early History of Smalltalk." ACM SIGPLAN Notices, vol. 47, no. 8, 2012,
pp. 13-23.
WIRTH, N. "A Plea for Lean Software." In: 20 Years of ACM SIGPLAN Notices, ACM, 1996,
pp. 13-15.
15