Escolar Documentos
Profissional Documentos
Cultura Documentos
Universidade Rovuma
Nampula
2023
Linguagem de Programação
Universidade Rovuma
Nampula
2023
Índice
Introdução .................................................................................................................................. 4
Conclusão................................................................................................................................. 14
Introdução
O presente trabalho com o tema Linguagem de Programação vai fazer menção sobre a definição
da mesma que se refere a um conjunto de regras e instruções que um programador usa onde ele
constrói para gerar programas e softwares que serão processados por um computador,
dispositivo móvel ou outro equipamento. Por outro ado serão destacados alguns paradigmas,
os tipos e bem como a evolução da linguagem de programação
De um modo geral quando é estruturada ela forma o código fonte de um software e informa a
uma ferramenta quais ações ela deve tomar, por exemplo. A utilização da linguagem de
programação se popularizou porque ela gera mais produtividade para os programadores em
relação ao uso do código de máquina, que são as instruções que o computador compreende de
fábrica. Com isso, assim o dispositivo tem uma facilidade maior de compreender o que deve
ser feito, além de se tornar menos dependente de ambientes computacionais específicos. A
linguagem é composta por símbolos, palavras-chave, regras semânticas e sintáticas e são
classificadas em níveis.
5
Linguagens de Programação
É a linguagem de mais baixo nível de entendimento pelo ser humano e a única, na verdade,
entendida pelo processador (UCP). É constituída inteiramente de números, o que torna
praticamente impossível entendê-la diretamente. Cada UCP tem seu conjunto único de
instruções que definem sua linguagem de máquina, estabelecido pelo fabricante do chip. Uma
instrução típica em linguagem de máquina seria algo como: 0100 1111 1010 Essa linguagem é
também classificada como uma linguagem de primeira geração.
São as linguagens de programação que possuem uma estrutura e palavras-chave que são mais
próximas da linguagem humana. Tornando os programas mais fáceis de serem lidos e escritos.
Esta é a sua principal vantagem sobre as linguagens de nível mais baixo. Os programas escritos
nessas linguagens são convertidos para a linguagem de baixo nível através de um programa
denominado compilador ou de um interpretador. Uma instrução típica de uma linguagem de
alto nível é: if (A>10) then A:=A-7; 73.
Esta característica distingue uma linguagem de programação de, por exemplo, uma linguagem
de consulta a banco de dados (query languages). Alguns autores [Watt 1990 & 2004]
consideram ainda que uma linguagem deve permitir uma expressão natural de problemas em
um certo domínio de aplicação, apesar de este ser um critério subjetivo. A gramática de uma
linguagem é usualmente apresentada em termos de regras de formação que definem uma
sintaxe precisa, estabelecendo que programas são bem formados na linguagem, com relação a
aspectos estáticos. A notação padrão para se definir a sintaxe de uma linguagem é a BNF
(Backus-Naur form) [Backus 1978], conforme será extensivamente ilustrado neste texto. Uma
análise mais ampla da validade de um programa inclui, adicionalmente, aspectos dinâmicos,
como a definição de um sistema que permita verificação do uso coerente dos tipos de dados da
linguagem.
7
No mundo de TI existem várias linguagens usadas para diferentes propósitos. Veja algumas:
Marcação: é uma linguagem que serve para marcar elementos (conhecido também como nós
ou tags) e dados em um arquivo de texto. Ela pode ser usada para construir páginas web
(exemplo: a linguagem HTML) e também para transferir e armazenar dados (exemplo: a
linguagem XML).
Folha de Estilos: as páginas web são estilizadas com a linguagem CSS, usada para definir
folhas de estilos.
Programação: usada por um programador para conversar com sistemas e equipamentos. Em
geral, serve para desenvolver software.
Simulação: algumas linguagens de programação podem ser usadas para simulações físicas e
matemáticas (por exemplo, no software Matlab ou Maple), sem que o objetivo final seja gerar
um software.
Por outro lado a linguagem de baixo nível, utiliza comandos mais complexos e o código
binário, que são sequências combinadas dos números 0 e 1. Isso otimiza a comunicação com a
máquina, aumentando a agilidade do processo. Os diferentes tipos funcionam melhor de acordo
com o objetivo que se busca atingir.
Uma linguagem de programação pode fazer parte de diferentes classificações, mas existem
algumas que são essenciais para qualquer programador ou profissional de tecnologia. Segundo
um levantamento realizado pela consultoria de programação norte-americana RedMonk, as
8
linguagens de programação mais populares são JavaScript, Python, Java, PHP, CSS, C#, C++
e C. Ainda que existam inúmeras linguagens, entenda um pouco sobre as principais:
JavaScript
Phyton
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
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.
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.
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
9
HTML ou em XML é apresentado visualmente. É uma das principais linguagens da open web
auxiliando na estilização e organização de páginas web.
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.
Swift
A linguagem de programação Swift está entre uma das mais recentes a surgir no mercado.
Inicialmente, quando foi lançada, a Swift era uma alternativa à Objective-C – a principal
linguagem para produtos Apple.
Os desenvolvedores foram passando a utilizar a linguagem Swift porque ela oferece
recursos mais modernos, como programação simultânea ou concorrente, e gerenciamento
automático de memória. Também é muito mais rápido e simples de escrever em Swift do
que em Objective-C.
Como resultado, a linguagem de programação Swift é certamente a melhor opção para
desenvolvimento de produtos Apple e uma das alternativas de programação que mais
rapidamente cresce no mercado.
Go
A linguagem de programação Go, ou Golang, foi criada visando o desenvolvimento de
APIs, aplicações desktop baseadas em GUI, e aplicações web. Por mais que seja uma
10
linguagem jovem, que recentemente entrou no mercado, a Go é uma das linguagens que
mais rapidamente cresce no mundo da programação.
A programação simultânea ou concorrente (concurrent programming) é uma de suas
principais características. Este recurso permite que os programadores trabalhem com
CPUs de múltiplos núcleos e com uma base de códigos massiva.
Combinando essa funcionalidade com o excelente desempenho da Golang, ela se torna a
linguagem de programação perfeita para criar algoritmos, servidores web e funis de dados
(data pipelines).
A melhor notícia é que a linguagem de programação Go é relativamente mais simples que
outras linguagens de programação. Com o módulo leve chamado Goroutines e
suas threads, os programadores só precisam adicionar a sintaxe Golang para fazer uma
função rodar como um subprocesso.
Além disso tudo, a linguagem Go tem se tornado uma das mais populares na busca por
aprendizados em programação. Apesar de sua sintaxe ser baseada em C, a linguagem
Golang é mais fácil de ser compreendida devido à sua simplicidade.
Os quatro paradigmas mais estabelecidos são o imperativo [Watt 1990], o lógico [Kowalski
1985], o funcional [Bird 1998] e o orientado a objetos [Meyer 1988]. Cada um possui conceitos
e características que influenciam um estilo próprio de programação. Nos paradigmas
imperativo e funcional, o modelo computacional é o de uma função que, portanto, mapeia
entradas em saídas de forma determinística. Entretanto, enquanto em um programa imperativo
este mapeamento é direto, através de funções definidas como na matemática, em um programa
11
imperativo tal mapeamento é indireto, via estados explicitamente modelados por variáveis
globais e locais do programa em execução. A Figuras 1 ilustra o modelo computacional dos
dois paradigmas.
Estado
a)Paradigma Imperativo b)ParadigmaFuncional
Uma outra questão interessante, como discutido em [Watt 2004], é se concorrência deve ser
considerado um paradigma. Enquanto orientação a objetos (pelo menos do ponto de vista
seqüencial) enfatiza a distribuição do estado de um programa, concorrência está relacionada
com a distribuição do fluxo de controle da aplicação. Portanto, programas imperativos,
orientados a objetos e lógicos podem ser seqüenciais ou concorrentes. Em particular, o recente
paradigma de agentes [Shoham 1993] inclui elementos autônomos (agentes) que podem ser
considerados objetos ativos (com fluxo de controle independente). Neste paradigma, dados e
controle são distribuídos. O operador || representa a execução paralela dos diversos objetos
ativos
A linguagem Java surgiu a partir de uma pesquisa financiada pela Sun Microsystems em 1991,
iniciada sob o codinome de projeto Green.
Com o intuito de se tornar uma linguagem para dispositivos inteligentes destinados ao usuário
final e com a premissa de ser uma linguagem próxima as linguagens C e C++ e que pudesse
ser executado em diversos hardwares.
A princípio, o projeto não teve bons resultados devido à lentidão do crescimento da área de
dispositivos eletrônicos inteligentes, porém com a grande revolução da World Wide Web em
1993, logo se notou o potencial da linguagem para geração de conteúdo dinâmico, o que deu
nova força ao projeto.
Inicialmente Java foi batizada de Oak por seu criador (James Gosling), tempos mais tarde,
descobriu-se que já existia uma linguagem de programação chamada Oak. Com isso, em uma
visita da equipe de desenvolvimento a uma cafeteria local, o nome Java surgiu (nome do café)
e logo foi denominada a linguagem.
13
Em março de 1995 foi anunciado no evento SunWorld a tecnologia Java 1.0, inicialmente o
foco principal da tecnologia utilizado para divulgação foram os Applets, pequenas aplicações
que poderiam ser executadas via web através de um browser.
Em 1998 foi lançado a versão 1.2 (codinome “Playground”) da linguagem Java, está nova
versão trouxe uma quantidade muito grande de novas funcionalidades, essa alteração foi tão
grande que a pessoa do marketing começou a chamar de Java 2.
As versões 1.3 (codinome “Kestrel”) lançada em 2000 e 1.4 (codinome “Merlin”) lançada em
2002 continuaram sendo chamado de Java 2, pois houveram alterações e melhorias na
linguagem mas não tão grandes como na versão 1.2.
Na versão 1.5 lançada em 2004 o pessoal resolveu mudar novamente chamando de Java 5
(codinome “Tiger”), a partir desta versão foi padronizado as novas atualizações.
Java também é uma linguagem Open Source e não possui um único dono, todas novas
atualizações da linguagem são feitas através da JCP (Java Community Process), formada por
um conjunto de empresas.
14
Conclusão
O trabalho concluído ao longo do seu desenvolver pude perceber que sem a linguagem de
programação, a programação seria impossível porque não haveria regras (semânticas e
sintáticas), expressões (como a estrutura e o significado de todos os elementos que as
compõem) ou uma maneira estabelecida de como programador e máquina deveriam “falar”
entre si.
Além disso, algumas das funções que permitem ao programador criar essa linguagem são: criar
um site e fazê-lo funcionar, desenvolver aplicativos para sistemas operacionais e muitos outros.
Portanto, atualmente o conhecimento e o uso do mundo digital e computacional são duas das
principais armas de qualquer empresa.
15
Referencias Bibliográficas
Backus, J. (1978) “Can Programming be liberated from the von Neumann style?: a
functional style and its algebra of programs”, Communications of the ACM, Vol. 21,
No. 8.
Bird, R. Introduction to Functional Programming Using Haskell, Prentice Hall, 1998.
Bowen, J. (1993) “From Programs to Object Code and back again using Logic
Programming: Compilation and Decompilation”, Journal of Software Maintenance:
Research and Practice, 5(4):205-234..
Scott, Michael L (2006). Programming Language Pragmatics (em inglês) 2ª ed.
Boston: Morgan Kauffman. p. 14-15. 875 páginas.
Fischer, Alice E.; Grodzinsky, Frances (1993). The Anatomy of Programming
Languages (em inglês). Englewood Cliffs, Nova Jérsia: Prentice Hall. p. 3.
557 páginas. ISBN 0-13-035155-5