Fazer download em docx, pdf ou txt
Fazer download em docx, pdf ou txt
Você está na página 1de 12

UNIVERSIDADE POLITÉCNICA

Instituto Superior Politécnico e Universidade de Nacala


ISPUNA

Curso: Engenharia Eléctrica

Cadeira: Informatica aplicada a engenharia

Conceito de linguagem de programação

Docente:
Obra Suzélio Cardoso

Nacala-porto, Maio de 2024

1
UNIVERSIDADE POLITÉCNICA
Instituto Superior Politécnico e Universidade de Nacala
ISPUNA

Discentes:
António Lopes
Amade Ussene
Edmilson Dionísio Nacarapa
Gildo janúario
Miguel Ernesto
Stelio Pfumo
Viriato David Júnior

Trabalho de carácter avaliativo a ser


entregue na cadeira de INFORMÁTICA
APLICADA Á ENGENHARIA 1 no
curso de Engenharia Eléctrica e
leccionado pelo: Obra Cardoso

2
Índice
1. Introdução..................................................................................................................................4
1.1.Objetivos.....................................................................................................................................5
1.1.1 Geral.....................................................................................................................................5
1.1.2 Especifico.............................................................................................................................5
2. Definição.......................................................................................................................................6
3. História e Evolução.......................................................................................................................6
4. Características das Linguagens de Programação................................................................................6
4.1. Sintaxe e Semântica....................................................................................................................6
4.2. Paradigmas de Programação.......................................................................................................6
4.3. Tipagem......................................................................................................................................7
4.4. Abstração....................................................................................................................................7
5. Classificação das Linguagens de Programação..................................................................................7
5.1. Nível de Abstração.....................................................................................................................7
5.2. Paradigmas Imperativas: Focam em mudanças de estado através de instruções sequenciais.
Exemplo: C........................................................................................................................................7
6. Exemplos de Linguagens de Programação........................................................................................7
6.1. C.................................................................................................................................................7
6.2. Java.............................................................................................................................................8
6.3. Python.........................................................................................................................................8
6.4. Haskell........................................................................................................................................8
6.5. JavaScript...................................................................................................................................8
7. Aplicações das Linguagens de Programação.....................................................................................8
7.1. Desenvolvimento de Software....................................................................................................8
7.2. Ciência de Dados........................................................................................................................8
7.3. Sistemas Embarcados.................................................................................................................8
7.4. Jogos Eletrônicos........................................................................................................................9
7.5. Inteligência Artificial..................................................................................................................9
8. Futuro das Linguagens de Programação............................................................................................9
Conclusão............................................................................................................................................10
Referências bibliograficas...................................................................................................................11

3
1. Introdução

No mundo moderno, onde a tecnologia permite quase todos os aspectos da vida cotidiana, as
linguagens de programação desempenham um papel fundamental. Elas são as ferramentas
que permitem aos seres humanos comunicar instruções de maneira precisa e estruturada aos
computadores, possibilitando a criação de software que varia desde simples aplicativos
móveis ate complexos sistemas operacionais e algoritmos de inteligência artificial.

Linguagens de programação são os meios pelos quais instruções são comunicadas a um


computador para executar tarefas específicas. Elas formam a base do desenvolvimento de
software e são essenciais para a implementação de algoritmos e estruturas de dados.

O estudo das línguas não se limita apenas ao aprendizado de uma ou outra linguagem
especifica, mas envolve a compreensão de conceitos fundamentais que transcendem qualquer
linguagem individual. Isso inclui a analise de paradigmas de programação, estruturas de
controle, gerenciamento de memoria, e princípios de design que tornam uma linguagem
adequada para certas tarefas e ineficaz para outras.

Este trabalho visa proporcionar uma visão abrangente sobre o conceito de linguagens de
programação. Inicialmente, exploraremos a definição e os objetivos das linguagens de
programação. Fornecendo um contexto histórico de sua evolução. Em seguida, discutiremos
as características essenciais que diferenciam as diversas linguagens, como sintaxe, semântica,
paradigmas de programação, tipagem, abstração e portabilidade.

4
1.1.Objetivos

1.1.1 Geral
 Fornecer uma compreensao abrangente das caracteristicas

1.1.2 Especifico
 Analisar os paradigmas de programação
 Compreende os fundamentos das linguagens de programação

5
2. Definição

Linguagem de programação é um sistema de notação para escrever programas, que são


especificações de um conjunto de ações a serem realizadas por um computador. O
principal objetivo de uma linguagem de programação é facilitar a comunicação entre
humanos e máquinas, permitindo que os desenvolvedores descrevam operações
complexas de maneira estruturada e compreensível.

3. História e Evolução

As linguagens de programação evoluíram significativamente desde a criação dos


primeiros computadores. Aqui estão alguns marcos históricos importantes:1950s:
Introdução de linguagens de baixo nível como Assembly, que traduziam diretamente para
código.

 1957: Lançamento do Fortran (Formula Translation), a primeira linguagem de


programação de alto nível, focada em computação científica.
 1960: Desenvolvimento do COBOL (Common Business-Oriented Language),
projetado para aplicações comerciais.
 1970: Criação de C por Dennis Ritchie, que combinou a eficiência de baixo nível
com abstrações de alto nível
 1980: Introdução de C++ por Bjarne Stroustrup, adicionando conceitos de
programação orientada a objetos a C.
 1990s: Surgimento de linguagens como Python e Java, que enfatizavam a
simplicidade, portabilidade e orientação a objetos.
 2000s em diante: Desenvolvimento de linguagens como JavaScript (para web),
Rust (foco em segurança e desempenho), e Swift (para desenvolvimento de
aplicativos iOS).

4. Características das Linguagens de Programação

4.1. Sintaxe e Semântica


 Sintaxe: Conjunto de regras que define a estrutura correta das instruções em uma
linguagem. Exemplo: em Python, indentação é crucial para definir blocos de código.
 Semântica: Conjunto de regras que define o significado das instruções. Exemplo: a
atribuição x = x + 1 aumenta o valor de x em 1.

6
4.2. Paradigmas de Programação
 Imperativo: Programas são sequências de instruções que alteram o estado do sistema.
Exemplo: C, Pascal.
 Orientado a Objetos: Programas são organizados em objetos que encapsulam dados
e comportamento. Exemplo: Java, C++.
 Funcional: Computação é tratada como a avaliação de funções matemáticas, evitando
estado e mutabilidade. Exemplo: Haskell, Lisp.
 Lógico: Programação baseada em lógica formal, onde a resolução de problemas é
feita através de inferências. Exemplo: Prolog.

4.3. Tipagem
 Tipagem Estática: Tipos são verificados em tempo de compilação. Exemplo: Java,
C.
 Tipagem Dinâmica: Tipos são verificados em tempo de execução. Exemplo: Python,
JavaScript.
 Tipagem Forte: Proíbe operações inválidas entre tipos diferentes. Exemplo: Haskell.
 Tipagem Fraca: Permite operações entre tipos diferentes, possivelmente com
coerções implícitas. Exemplo: JavaScript.

4.4. Abstração
 Abstração de Dados: Uso de estruturas de dados como listas, árvores e hash tables.
 Abstração de Controle: Uso de estruturas de controle como loops, condicionais e
recursão.
 Modularidade: Separação do programa em módulos ou funções reutilizáveis.
 4.5. Portabilidade
 Portabilidade: Capacidade de uma linguagem ser executada em diferentes ambientes
sem modificações substanciais. Java é um exemplo clássico devido ao Java Virtual
Machine (JVM).

5. Classificação das Linguagens de Programação

5.1. Nível de Abstração


 Linguagens de Baixo Nível: Como Assembly, são diretamente mapeadas para
instruções de máquina e são específicas para hardware.

7
 Linguagens de Alto Nível: Como Python e Java, fornecem abstrações que facilitam a
programação independente de hardware.

5.2. Paradigmas Imperativas: Focam em mudanças de estado através de instruções


sequenciais. Exemplo: C.
 Orientadas a Objetos: Organizam o código em objetos que encapsulam dados e
métodos. Exemplo: Java.
 Funcionais: Tratam computação como avaliação de funções sem alterar o estado.
Exemplo: Haskell.
 Lógicas: Baseadas em lógica formal e regras de inferência. Exemplo: Prolog.

6. Exemplos de Linguagens de Programação

6.1. C
 História: Desenvolvida por Dennis Ritchie na Bell Labs nos anos 1970.
 Características: Baixo nível, eficiência, controle preciso de memória.
 Aplicações: Sistemas operacionais, software de sistema, drivers.

6.2. Java
 História: Criada por James Gosling e lançada pela Sun Microsystems em 1995.
 Características: Orientada a objetos, portabilidade via JVM, segurança.
 Aplicações: Desenvolvimento web, aplicações empresariais, Android.

6.3. Python
 História: Desenvolvida por Guido van Rossum e lançada em 1991.
 Características: Simplicidade, legibilidade, tipagem dinâmica.
 Aplicações: Desenvolvimento web, ciência de dados, automação, inteligência
artificial.

6.4. Haskell
 História: Lançada em 1990, é uma linguagem funcional pura.
 Características: Funções de alta ordem, imutabilidade, tipagem forte e estática.
 Aplicações: Pesquisa acadêmica, compiladores, sistemas críticos.

8
6.5. JavaScript

 História: Desenvolvida por Brendan Eich e lançada em 1995.


 Características: Dinâmica, baseada em eventos, usada principalmente em
desenvolvimento web.
 Aplicações: Desenvolvimento front-end e back-end (Node.js), aplicações web
interativas.

7. Aplicações das Linguagens de Programação

7.1. Desenvolvimento de Software


 Desktop: Aplicações nativas para sistemas operacionais.
 Mobile: Aplicações para Android (Java, Kotlin) e iOS (Swift).
 Web: Aplicações web dinâmicas utilizando JavaScript, HTML, CSS e frameworks
como React ou Angular.

7.2. Ciência de Dados


 Análise de Dados: Uso de linguagens como Python e R para análise estatística e
visualização de dados.
 Machine Learning: Desenvolvimento de modelos preditivos e algoritmos de
aprendizagem automática com bibliotecas como TensorFlow e PyTorch.

7.3. Sistemas Embarcados


 Microcontroladores: Programação de dispositivos embarcados com C ou Assembly.
 Automação Industrial: Desenvolvimento de sistemas de controle e automação
utilizando linguagens específicas de PLC como Ladder Logic.

7.4. Jogos Eletrônicos


 Motores de Jogo: Desenvolvimento de jogos com Unity (C#) ou Unreal Engine (C+
+).
 Gráficos e Física: Implementação de gráficos avançados e simulações físicas.

7.5. Inteligência Artificial


 Redes Neurais: Implementação de redes neurais e deep learning com Python e
bibliotecas como Keras e TensorFlow.

9
 Processamento de Linguagem Natural: Desenvolvimento de sistemas de
compreensão e geração de linguagem natural.

8. Futuro das Linguagens de Programação


O futuro das linguagens de programação é moldado por várias tendências emergentes:

 Inteligência Artificial: Integração de IA para assistentes de codificação e automação


de tarefas repetitivas.
 Computação Quântica: Desenvolvimento de novas linguagens específicas para
programação quântica, como Q# da Microsoft.
 Interfaces Naturais de Usuário: Linguagens que suportam interfaces de voz e
gestos.
 Maior Abstração e Produtividade: Ferramentas que permitem maior abstração,
como linguagens de domínio específico (DSLs) e programação visual.

10
Conclusão
Linguagens de programação são componentes essenciais da ciência da computação e
desenvolvimento de software. Elas evoluíram para atender a diversas necessidades, desde o
controle de hardware até a criação de sistemas complexos e interativos. Com a contínua
evolução tecnológica, novas linguagens e paradigmas surgem para enfrentar desafios futuros,
mantendo a programação como uma habilidade central na era digital.

Ao longo do estudo, vimos que as linguagens de programação evoluíram significativamente


desde os seus primórdios, refletindo mudanças nas necessidades e tecnologias da sociedade.
Desde as primeiras linguagens de baixo nível, como assembly, ate as linguagens de alto nível,
como Pynthon e Java, cada uma trouxe inovações que facilitaram a escrita de código,
melhoraram a eficiência e aumentaram a segurança dos programas.

Exemplos de linguagens especificas com C, java, Pynthon, Haskell e Javascript, ilustram a


diversidade de abordagens e aplicações das linguagens de programação . Cada uma dessas
linguagens foi projectada com objetivos distintos e é utilizada em áreas especificas, desde o
desenvolvimento de sistemas operacionais até a criação de aplicações web interativas

11
Referências bibliograficas
Sebesta, R. W. (2012). Concepts of Programming Languages. Pearson.

Kernighan, B. W., & Ritchie, D. M. (1988). The C Programming Language. Prentice Hall.

Lutz, M. (2013). Learning Python. O'Reilly Media.

Abelson, H., & Sussman, G. J. (1996). Structure and Interpretation of Computer Programs.
MIT Press.

Gosling, J., Joy, B., Steele, G., & Bracha, G. (2005). The Java Language Specification.
Addison-Wes

12

Você também pode gostar