Linguagens de Programação
Introdução
Linguagens de programação
Programa
● Introdução
○ Motivação da disciplina
○ Princípios de Linguagens de Programação
○ Breve Histórico
● Paradigmas de Programação
○ Programação Imperativa (Parte I)
○ Programação Orientada a Objetos (Parte II)
○ Programação Funcional (Parte III)
○ Programação Lógica (Parte IV)
Linguagens de programação
Quem sou eu?
● Handrik Palmeira Magalhães
○ Trabalho com informática desde 1989
○ Já trabalhei em várias empresas (ITECI, Asfal,
ILPISA, Plan & Soft, Usina Cachoeira, IFAL)
○ Técnico em TI do IFAL desde 1997
○ Graduado em Sistemas de Informação pela
UFAL
○ Pós graduado em Governança de TI pela
Faculdade Estácio de Alagoas
Linguagens de programação
Com que já trabalhei?
● Linguagens de Programação
○ DBase III Plus
○ Dialog Plus C
○ Clipper
○ Assembly
○ COBOL
○ Pascal
○ Delphi
○ Visual Basic
○ C
● Linguagens de Programação
○ PHP
○ Java
○ Python
● Bancos de dados
○ SQL Server
○ Oracle
○ PostgreSQL
○ MySQL
○ Zim
Linguagens de programação
Como entrar em contato comigo?
82 - 98144-5053
handrikpalmeiramagalhaes
handrik@ifal.edu.br
Qual a finalidade deste curso?
● É a partir do estudo dos princípios e fundamentos de linguagens de programação
que características específicas de cada tipo de linguagem podem ser identificadas,
seus pontos fortes e fracos, seus domínios de aplicação.
● Isso possibilita que programas de maior qualidade sejam desenvolvidos. O aluno de
hoje será o projetista e usuário de linguagens de programação amanhã.
● Portanto, iremos conhecer as construções mais importantes de cada paradigma de
programação e discutir questões de projetos de linguagens, viabilizando
ferramentas necessárias para uma análise crítica.
Linguagens de programação
Vantagens de estudar esses conceitos:
● Aumento da capacidade de expressar ideias em código
○ Pessoas que possuem um fraco entendimento de linguagem natural (português,
inglês, etc…) são limitadas também na complexidade de seus pensamentos,
especialmente na sua capacidade de abstração e expressão de ideias.
○ Também na programação: conhecer uma maior variedade de recursos e
construções de linguagens de programação redu as limitações no
desenvolvimento de software e leva ao desenvolvimento de melhores
programas.
“Vocabulário” mais rico =melhor expressão das ideias
Linguagens de programação
Ter o conhecimento mas não conseguir expressá-lo
de forma clara não é melhor do que nunca ter ideia
alguma
Péricles
Linguagens de programação
Vantagens de estudar esses conceitos:
● Embasamento para escolher linguagens adequadas
○ Geralmente um programador sem formação mais profunda tende a escolher a
sua linguagem de preferência para todo e qualquer projeto em que participa,
mesmo que ela não seja a escolha mais adequada.
○ Ao conhecer uma faixa mais ampla de
linguagens, de paradigmas
diferentes, torna-se capacitado a
escolher a que mais se adequa,
mesmo que não seja a que lhe é mais
familiar.
Linguagens de programação
Vantagens de estudar esses conceitos:
● Aumento da habilidade para aprender novas linguagens
○ Nossa profissão exige estudo contínuo, e o aprendizado de uma nova
linguagem pode ser longo e custoso.
○ Ao conhecer bem os conceitos fundamentais das linguagens de programação,
esse processo é facilitado. Por exemplo, para alguém que já entende bem os
conceitos de POO, como classes, herança, etc…, é mais fácil aprender Java ou
C#.
○ O mesmo ocorre com linguagens naturais, uma pessoa que conhece bem a
gramática de seu idioma nativo, aprenderá com mais facilidade outra língua.
Linguagens de programação
Vantagens de estudar esses conceitos:
● Melhor utilização das linguagens já conhecidas
○ As linguagens atuais são complexas e cheias de recursos.
○ É incomum que um usuário conheça todos eles, mesmo depois de anos
trabalhando com uma determinada linguagem.
○ Ao estudar os conceitos de linguagens de programação, programadores
descobrem partes desconhecidas e não utilizadas de linguagens em que já
trabalham, e passam a utilizá-las quando necessário.
Linguagens de programação
Vantagens de estudar esses conceitos:
● Melhor utilização das linguagens já conhecidas
○ As linguagens atuais são complexas e cheias de recursos.
○ É incomum que um usuário conheça todos eles, mesmo depois de anos
trabalhando com uma determinada linguagem.
○ Ao estudar os conceitos de linguagens de programação, programadores
descobrem partes desconhecidas e não utilizadas de linguagens em que já
trabalham, e passam a utilizá-las quando necessário.
Linguagens de programação
Prática vs Teoria: Um dilema
● O poliglota iletrado
○ Fluente em diversos idiomas.
○ Desconhece assuntos de linguística.
○ Incapaz de generalizar e abstrair a partir das estruturas linguísticas presentes
nos idiomas que ele domina e, portanto, para ele, é sempre igualmente penoso
aprender um novo idioma. Tudo é sempre novidade.
Linguagens de programação
Prática vs Teoria: Um dilema
● O linguista teórico
○ Entende todas as estruturas linguísticas presentes em qualquer idioma.
○ Teoriza a respeito delas.
○ É incapaz, no entanto, de utilizar confortavelmente os idiomas estudados em
uma conversação fluente.
Nosso objetivo é alcançar um equilíbrio entre teoria e prática, para que
não sejamos nem um nem outro, mas aproveitemos as vantagens dos
dois.
Linguagens de programação
Prática vs Teoria: Um dilema
● Como sabemos, para que qualquer algoritmo realize seu objetivo em um
computador, é preciso que, primeiramente, ele seja transcrito em uma linguagem de
programação
● Vamos ver um breve histórico, partindo da época em que toda a programação era
realizada em linguagem de máquina, até as linguagens de alto nível que temos hoje.
Linguagens de programação
Prática vs Teoria: Um dilema
● No início, na década de 40, a única opção para fazer a programação de um
computador era em linguagem de máquina.
○ Expressa em forma numérica (binário ou hexadecimal);
○ Muito pouco expressiva para seres humanos;
○ Diferente para cada tipo de computador, uma vez que depende completamente
de sua arquitetura (instruction set);
○ Programação tediosa e passível de erros.
Linguagens de programação
Prática vs Teoria: Um dilema
● Por exemplo:
○ Uma instrução de adição deveria ser especificada por um código (digamos o
número 14), tornando a leitura difícil.
○ O endereçamento é absoluto, o que dificulta muito a programação: por
exemplo, a inclusão ou remoção de uma única instrução gera mudança em
todos os endereços dos dados e instruções que a sucedem ou a referenciam.
Linguagens de programação
Evolução
Linguagens de programação
Um cartão perfurado contendo código legível por máquina para um
computador IBM Antigo
Evolução
● Próximo passo: Linguagem simbólica ou Linguagem Assembly (de “montagem”)
● Instruções não são expressas por números, mas por letras e símbolos (mnemônicos),
que já são mais significativos para humanos (ADD, MOV, CMP).
● Posicionamento de dados e instruções na memória é, também, feito de forma
simbólica.
● Precisam ser traduzidos para linguagem de máquina, através do programa
Assembler (montador).
Linguagens de programação
Evolução
● Seu sucesso levou pesquisadores a criarem outras linguagens que, com uma notação
próxima à matemática e algumas palavras da língua inglesa, simplificam a tarefa de
programar um computador.
● Programa -> Linguagem de máquina: compilador
Linguagens de programação
Evolução
Linguagens de programação
Trecho de código escrito em linguagem assembly
Evolução
● Década de 50: Surgimento das HOLs (High Order Languages).
○ Independem da arquitetura da máquina.
○ São aceitos (talvez com algumas poucas alterações) por qualquer computador,
bastando para isso que o código seja compilado novamente.
● Em 1957 surge o FORTRAN (FORmula TRANslator)
○ Desenvolvido pela IBM (John Backus).
○ Ainda não tinha recursão em nível de usuário.
○ Utilizada até hoje (Fortran 2018), principalmente no meio científico.
Linguagens de programação
Evolução
● Outras linguagens que surgiram forma:
○ 1958 - LISP (LISt Processing) - Funcional, Interpretada, IA
○ 1959 - COBOL (Common Business Oriented Language) - Imperativa -
Comercial, banco de dados. Ainda em uso.
○ 1960 - ALGOL (ALGOrithmic Language) - Imperativa - Didática: Influenciou
Pascal, C++, Ada. Recursão para usuário.
● Gráfico de evolução das linguagens:
https://www.technolush.com/blog/evolution-of-programming-languages
Linguagens de programação
Evolução
● Uma das principais fontes de motivação para o desenvolvimento de linguagens nas
últimas décadas foi a rápida evolução da demanda de poder computacional,
funcionalidades mais específicas e novas aplicações por parte da grande e diversa
comunidade de usuários.
● Algumas comunidades que podem reivindicar participação:
○ Ciência e Engenharia
○ Inteligência Artificial
○ Aplicações Empresariais
○ Sistemas e Redes
○ Educação
Linguagens de programação
Evolução
● As necessidades de cada comunidade foram traduzidas em linguagens de
programação, que acabaram sendo desenvolvidas em torno delas.
Linguagens de programação
Ciência e Engenharia
● Possuem um papel fundamental, desde o início da história da computação:
○ Primeiros programas, na década de 40, foram escritos para a previsão de
trajetórias balísticas e outros fins militares, durante a segunda guerra mundial.
○ Escritos por matemáticos em linguagem de máquina e Assembly.
● A primeira linguagem de programação científica, o Fortran (“tradutor de fórmulas”),
foi projetada por John Backus na IBM em 1954. Também o ALGOL 60 foi
desenvolvido nesse sentido, mas não obteve sucesso (ainda que tenha influenciado
várias linguagens mais bem sucedidas…)
Linguagens de programação
Ciência e Engenharia
● Incluem a execução de cálculos complexos, que precisam ser realizados de forma
rápida e precisa.
● Seus cálculos são definidos por modelos matemáticos que representam fenômenos
científicos, de áreas como a bioinformática, ciências da terra e atmosféricas.
○ Geralmente possuem estrutura de dados simples, mas muita computação com
aritmética de ponto flutuante.
● Geralmente são linguagens IMPERATIVAS
● As mais utilizadas hoje são: Fortran, C/C++ e High Performance Fortran.
Linguagens de programação
Inteligência Artificial
● Ativa desde os anos 60, essa comunidade se preocupa com o desenvolvimento de
programas que modelam ou tentam reproduzir aspectos da inteligência humana, a
dedução lógica e a cognição.
● Seus objetivos centrais têm sido a manipulação de símbolos, as expressões
funcionais e o projeto de sistemas de prova lógica.
○ MAIS simbólica, MENOS numérica.
● Dois tipos de linguagem se desenvolveram bastante a partir dos esforços de
programadores de inteligência artificial: as Funcionais e as Lógicas.
● Em alguns casos, entretanto, programadores tem desenvolvido aplicações em
linguagens de uso geral, como C/C++ ou Python, para essa mesma finalidade.
Linguagens de programação
Inteligência Artificial
● A primeira linguagem funcional desenvolvida foi o LISP (Processador de Listas), que
motivou e/ou influenciou a criação de outras, como Scheme, ML e Haskell.
● Na área de programação lógica apenas uma linguagem, o Prolog, tem sido o maior
expoente, ainda que exerça pouca influência sobre o projeto de linguagem em outras
áreas de aplicação.
Linguagens de programação
Aplicações Empresariais
● As corporações perceberam, na década de 50, que poderiam otimizar a manutenção
de seus registros e aumentar a precisão e a confiabilidade de suas operações através
do uso de computadores e do desenvolvimento de alguns programas específicos.
○ Folha de pagamento, contabilidade, controle de estoque e produção, vendas
● Linguagens para aplicações empresariais são caracterizadas pela capacidade de
gerenciamento de grande quantidade de dados, produção de relatórios elaborados
e maneiras precisas para descrever e modificar os dados que gerenciam.
Linguagens de programação
Aplicações Empresariais
● No início da construção de aplicações comerciais, a linguagem mais utilizada
tradicionalmente é o COBOL, que usa a língua inglesa como base de sua sintaxe e
suporta o estilo de programação imperativo.
○ Normalmente, em conjunto com SQL, utilizada para especificação e manuseio
de informações de bancos de dados relacionais.
Linguagens de programação
Sistemas e Redes
● Programadores de sistemas projetam e fazem a manutenção do software básico
○ Componentes do sistema de operacional, software de redes, compiladores e
depuradores de linguagens de programação, máquinas virtuais e
interpretadores, sistemas embarcados e de tempo real (celulares, caixas
eletrônicos, aeronaves, etc…)
● Devem ser eficientes, são utilizados quse continuamente e precisam de acesso a
instruções de mais baixo nível, que permitam a comunicação mais direta com
máquinas e dispositivos.
Linguagens de programação
Educação
● Nas décadas de 60 e 70 algumas linguagens foram projetadas com a finalidade
principal de serem simples e servirem como porta de entrada para alunos de
programação.
● Entre elas destacam-se o BASIC e o Pascal (proveniente do ALGOL).
● O Pascal foi, durante muitos anos, a principal linguagem utilizada no início de cursos
de computação de nível superior, mas foi gradualmente substituída por linguagens
de maior “apelo comercial”, como C++, Python e Java, que são linguagens mais
complexas, mas de uso imediato no mercado de trabalho.
Linguagens de programação
World Wide Web
● A área mais dinâmica para novas aplicações de programação é a Internet.
● É o veículo que permite o comércio eletrônico e uma ampla gama de aplicações
acadêmicas, governamentais e industriais.
● A WWW é mantida por uma diversificada coleção de linguagens, que vão desde
linguagens de marcação, como HTML (que não é linguagem de programação), até
linguagens de programação de propósito geral, como o Java.
● Este tipo de programação tem u foco na interatividade, e as linguagens utilizadas
possuem suporte para a manipulação de eventos (sistema-usuário).
● Geralmente as linguagens utilizadas dão suporte, também, à programação orientada
a objetos.
Linguagens de programação
World Wide Web
● Exemplos: PHP, Java, Python, Ruby, Javascript.
● Muitos frameworks são utilizados, como: React e Angular (Javascript), Rails (Ruby),
Laravel (PHP), Django (Python).
Linguagens de programação
Linguagem de programação
Linguagens de programação

Linguagens de Programação, introdução dos paradigmas

  • 1.
  • 2.
    Linguagens de programação Programa ●Introdução ○ Motivação da disciplina ○ Princípios de Linguagens de Programação ○ Breve Histórico ● Paradigmas de Programação ○ Programação Imperativa (Parte I) ○ Programação Orientada a Objetos (Parte II) ○ Programação Funcional (Parte III) ○ Programação Lógica (Parte IV)
  • 3.
    Linguagens de programação Quemsou eu? ● Handrik Palmeira Magalhães ○ Trabalho com informática desde 1989 ○ Já trabalhei em várias empresas (ITECI, Asfal, ILPISA, Plan & Soft, Usina Cachoeira, IFAL) ○ Técnico em TI do IFAL desde 1997 ○ Graduado em Sistemas de Informação pela UFAL ○ Pós graduado em Governança de TI pela Faculdade Estácio de Alagoas
  • 4.
    Linguagens de programação Comque já trabalhei? ● Linguagens de Programação ○ DBase III Plus ○ Dialog Plus C ○ Clipper ○ Assembly ○ COBOL ○ Pascal ○ Delphi ○ Visual Basic ○ C ● Linguagens de Programação ○ PHP ○ Java ○ Python ● Bancos de dados ○ SQL Server ○ Oracle ○ PostgreSQL ○ MySQL ○ Zim
  • 5.
    Linguagens de programação Comoentrar em contato comigo? 82 - 98144-5053 handrikpalmeiramagalhaes handrik@ifal.edu.br
  • 6.
    Qual a finalidadedeste curso? ● É a partir do estudo dos princípios e fundamentos de linguagens de programação que características específicas de cada tipo de linguagem podem ser identificadas, seus pontos fortes e fracos, seus domínios de aplicação. ● Isso possibilita que programas de maior qualidade sejam desenvolvidos. O aluno de hoje será o projetista e usuário de linguagens de programação amanhã. ● Portanto, iremos conhecer as construções mais importantes de cada paradigma de programação e discutir questões de projetos de linguagens, viabilizando ferramentas necessárias para uma análise crítica. Linguagens de programação
  • 7.
    Vantagens de estudaresses conceitos: ● Aumento da capacidade de expressar ideias em código ○ Pessoas que possuem um fraco entendimento de linguagem natural (português, inglês, etc…) são limitadas também na complexidade de seus pensamentos, especialmente na sua capacidade de abstração e expressão de ideias. ○ Também na programação: conhecer uma maior variedade de recursos e construções de linguagens de programação redu as limitações no desenvolvimento de software e leva ao desenvolvimento de melhores programas. “Vocabulário” mais rico =melhor expressão das ideias Linguagens de programação
  • 8.
    Ter o conhecimentomas não conseguir expressá-lo de forma clara não é melhor do que nunca ter ideia alguma Péricles Linguagens de programação
  • 9.
    Vantagens de estudaresses conceitos: ● Embasamento para escolher linguagens adequadas ○ Geralmente um programador sem formação mais profunda tende a escolher a sua linguagem de preferência para todo e qualquer projeto em que participa, mesmo que ela não seja a escolha mais adequada. ○ Ao conhecer uma faixa mais ampla de linguagens, de paradigmas diferentes, torna-se capacitado a escolher a que mais se adequa, mesmo que não seja a que lhe é mais familiar. Linguagens de programação
  • 10.
    Vantagens de estudaresses conceitos: ● Aumento da habilidade para aprender novas linguagens ○ Nossa profissão exige estudo contínuo, e o aprendizado de uma nova linguagem pode ser longo e custoso. ○ Ao conhecer bem os conceitos fundamentais das linguagens de programação, esse processo é facilitado. Por exemplo, para alguém que já entende bem os conceitos de POO, como classes, herança, etc…, é mais fácil aprender Java ou C#. ○ O mesmo ocorre com linguagens naturais, uma pessoa que conhece bem a gramática de seu idioma nativo, aprenderá com mais facilidade outra língua. Linguagens de programação
  • 11.
    Vantagens de estudaresses conceitos: ● Melhor utilização das linguagens já conhecidas ○ As linguagens atuais são complexas e cheias de recursos. ○ É incomum que um usuário conheça todos eles, mesmo depois de anos trabalhando com uma determinada linguagem. ○ Ao estudar os conceitos de linguagens de programação, programadores descobrem partes desconhecidas e não utilizadas de linguagens em que já trabalham, e passam a utilizá-las quando necessário. Linguagens de programação
  • 12.
    Vantagens de estudaresses conceitos: ● Melhor utilização das linguagens já conhecidas ○ As linguagens atuais são complexas e cheias de recursos. ○ É incomum que um usuário conheça todos eles, mesmo depois de anos trabalhando com uma determinada linguagem. ○ Ao estudar os conceitos de linguagens de programação, programadores descobrem partes desconhecidas e não utilizadas de linguagens em que já trabalham, e passam a utilizá-las quando necessário. Linguagens de programação
  • 13.
    Prática vs Teoria:Um dilema ● O poliglota iletrado ○ Fluente em diversos idiomas. ○ Desconhece assuntos de linguística. ○ Incapaz de generalizar e abstrair a partir das estruturas linguísticas presentes nos idiomas que ele domina e, portanto, para ele, é sempre igualmente penoso aprender um novo idioma. Tudo é sempre novidade. Linguagens de programação
  • 14.
    Prática vs Teoria:Um dilema ● O linguista teórico ○ Entende todas as estruturas linguísticas presentes em qualquer idioma. ○ Teoriza a respeito delas. ○ É incapaz, no entanto, de utilizar confortavelmente os idiomas estudados em uma conversação fluente. Nosso objetivo é alcançar um equilíbrio entre teoria e prática, para que não sejamos nem um nem outro, mas aproveitemos as vantagens dos dois. Linguagens de programação
  • 15.
    Prática vs Teoria:Um dilema ● Como sabemos, para que qualquer algoritmo realize seu objetivo em um computador, é preciso que, primeiramente, ele seja transcrito em uma linguagem de programação ● Vamos ver um breve histórico, partindo da época em que toda a programação era realizada em linguagem de máquina, até as linguagens de alto nível que temos hoje. Linguagens de programação
  • 16.
    Prática vs Teoria:Um dilema ● No início, na década de 40, a única opção para fazer a programação de um computador era em linguagem de máquina. ○ Expressa em forma numérica (binário ou hexadecimal); ○ Muito pouco expressiva para seres humanos; ○ Diferente para cada tipo de computador, uma vez que depende completamente de sua arquitetura (instruction set); ○ Programação tediosa e passível de erros. Linguagens de programação
  • 17.
    Prática vs Teoria:Um dilema ● Por exemplo: ○ Uma instrução de adição deveria ser especificada por um código (digamos o número 14), tornando a leitura difícil. ○ O endereçamento é absoluto, o que dificulta muito a programação: por exemplo, a inclusão ou remoção de uma única instrução gera mudança em todos os endereços dos dados e instruções que a sucedem ou a referenciam. Linguagens de programação
  • 18.
    Evolução Linguagens de programação Umcartão perfurado contendo código legível por máquina para um computador IBM Antigo
  • 19.
    Evolução ● Próximo passo:Linguagem simbólica ou Linguagem Assembly (de “montagem”) ● Instruções não são expressas por números, mas por letras e símbolos (mnemônicos), que já são mais significativos para humanos (ADD, MOV, CMP). ● Posicionamento de dados e instruções na memória é, também, feito de forma simbólica. ● Precisam ser traduzidos para linguagem de máquina, através do programa Assembler (montador). Linguagens de programação
  • 20.
    Evolução ● Seu sucessolevou pesquisadores a criarem outras linguagens que, com uma notação próxima à matemática e algumas palavras da língua inglesa, simplificam a tarefa de programar um computador. ● Programa -> Linguagem de máquina: compilador Linguagens de programação
  • 21.
    Evolução Linguagens de programação Trechode código escrito em linguagem assembly
  • 22.
    Evolução ● Década de50: Surgimento das HOLs (High Order Languages). ○ Independem da arquitetura da máquina. ○ São aceitos (talvez com algumas poucas alterações) por qualquer computador, bastando para isso que o código seja compilado novamente. ● Em 1957 surge o FORTRAN (FORmula TRANslator) ○ Desenvolvido pela IBM (John Backus). ○ Ainda não tinha recursão em nível de usuário. ○ Utilizada até hoje (Fortran 2018), principalmente no meio científico. Linguagens de programação
  • 23.
    Evolução ● Outras linguagensque surgiram forma: ○ 1958 - LISP (LISt Processing) - Funcional, Interpretada, IA ○ 1959 - COBOL (Common Business Oriented Language) - Imperativa - Comercial, banco de dados. Ainda em uso. ○ 1960 - ALGOL (ALGOrithmic Language) - Imperativa - Didática: Influenciou Pascal, C++, Ada. Recursão para usuário. ● Gráfico de evolução das linguagens: https://www.technolush.com/blog/evolution-of-programming-languages Linguagens de programação
  • 24.
    Evolução ● Uma dasprincipais fontes de motivação para o desenvolvimento de linguagens nas últimas décadas foi a rápida evolução da demanda de poder computacional, funcionalidades mais específicas e novas aplicações por parte da grande e diversa comunidade de usuários. ● Algumas comunidades que podem reivindicar participação: ○ Ciência e Engenharia ○ Inteligência Artificial ○ Aplicações Empresariais ○ Sistemas e Redes ○ Educação Linguagens de programação
  • 25.
    Evolução ● As necessidadesde cada comunidade foram traduzidas em linguagens de programação, que acabaram sendo desenvolvidas em torno delas. Linguagens de programação
  • 26.
    Ciência e Engenharia ●Possuem um papel fundamental, desde o início da história da computação: ○ Primeiros programas, na década de 40, foram escritos para a previsão de trajetórias balísticas e outros fins militares, durante a segunda guerra mundial. ○ Escritos por matemáticos em linguagem de máquina e Assembly. ● A primeira linguagem de programação científica, o Fortran (“tradutor de fórmulas”), foi projetada por John Backus na IBM em 1954. Também o ALGOL 60 foi desenvolvido nesse sentido, mas não obteve sucesso (ainda que tenha influenciado várias linguagens mais bem sucedidas…) Linguagens de programação
  • 27.
    Ciência e Engenharia ●Incluem a execução de cálculos complexos, que precisam ser realizados de forma rápida e precisa. ● Seus cálculos são definidos por modelos matemáticos que representam fenômenos científicos, de áreas como a bioinformática, ciências da terra e atmosféricas. ○ Geralmente possuem estrutura de dados simples, mas muita computação com aritmética de ponto flutuante. ● Geralmente são linguagens IMPERATIVAS ● As mais utilizadas hoje são: Fortran, C/C++ e High Performance Fortran. Linguagens de programação
  • 28.
    Inteligência Artificial ● Ativadesde os anos 60, essa comunidade se preocupa com o desenvolvimento de programas que modelam ou tentam reproduzir aspectos da inteligência humana, a dedução lógica e a cognição. ● Seus objetivos centrais têm sido a manipulação de símbolos, as expressões funcionais e o projeto de sistemas de prova lógica. ○ MAIS simbólica, MENOS numérica. ● Dois tipos de linguagem se desenvolveram bastante a partir dos esforços de programadores de inteligência artificial: as Funcionais e as Lógicas. ● Em alguns casos, entretanto, programadores tem desenvolvido aplicações em linguagens de uso geral, como C/C++ ou Python, para essa mesma finalidade. Linguagens de programação
  • 29.
    Inteligência Artificial ● Aprimeira linguagem funcional desenvolvida foi o LISP (Processador de Listas), que motivou e/ou influenciou a criação de outras, como Scheme, ML e Haskell. ● Na área de programação lógica apenas uma linguagem, o Prolog, tem sido o maior expoente, ainda que exerça pouca influência sobre o projeto de linguagem em outras áreas de aplicação. Linguagens de programação
  • 30.
    Aplicações Empresariais ● Ascorporações perceberam, na década de 50, que poderiam otimizar a manutenção de seus registros e aumentar a precisão e a confiabilidade de suas operações através do uso de computadores e do desenvolvimento de alguns programas específicos. ○ Folha de pagamento, contabilidade, controle de estoque e produção, vendas ● Linguagens para aplicações empresariais são caracterizadas pela capacidade de gerenciamento de grande quantidade de dados, produção de relatórios elaborados e maneiras precisas para descrever e modificar os dados que gerenciam. Linguagens de programação
  • 31.
    Aplicações Empresariais ● Noinício da construção de aplicações comerciais, a linguagem mais utilizada tradicionalmente é o COBOL, que usa a língua inglesa como base de sua sintaxe e suporta o estilo de programação imperativo. ○ Normalmente, em conjunto com SQL, utilizada para especificação e manuseio de informações de bancos de dados relacionais. Linguagens de programação
  • 32.
    Sistemas e Redes ●Programadores de sistemas projetam e fazem a manutenção do software básico ○ Componentes do sistema de operacional, software de redes, compiladores e depuradores de linguagens de programação, máquinas virtuais e interpretadores, sistemas embarcados e de tempo real (celulares, caixas eletrônicos, aeronaves, etc…) ● Devem ser eficientes, são utilizados quse continuamente e precisam de acesso a instruções de mais baixo nível, que permitam a comunicação mais direta com máquinas e dispositivos. Linguagens de programação
  • 33.
    Educação ● Nas décadasde 60 e 70 algumas linguagens foram projetadas com a finalidade principal de serem simples e servirem como porta de entrada para alunos de programação. ● Entre elas destacam-se o BASIC e o Pascal (proveniente do ALGOL). ● O Pascal foi, durante muitos anos, a principal linguagem utilizada no início de cursos de computação de nível superior, mas foi gradualmente substituída por linguagens de maior “apelo comercial”, como C++, Python e Java, que são linguagens mais complexas, mas de uso imediato no mercado de trabalho. Linguagens de programação
  • 34.
    World Wide Web ●A área mais dinâmica para novas aplicações de programação é a Internet. ● É o veículo que permite o comércio eletrônico e uma ampla gama de aplicações acadêmicas, governamentais e industriais. ● A WWW é mantida por uma diversificada coleção de linguagens, que vão desde linguagens de marcação, como HTML (que não é linguagem de programação), até linguagens de programação de propósito geral, como o Java. ● Este tipo de programação tem u foco na interatividade, e as linguagens utilizadas possuem suporte para a manipulação de eventos (sistema-usuário). ● Geralmente as linguagens utilizadas dão suporte, também, à programação orientada a objetos. Linguagens de programação
  • 35.
    World Wide Web ●Exemplos: PHP, Java, Python, Ruby, Javascript. ● Muitos frameworks são utilizados, como: React e Angular (Javascript), Rails (Ruby), Laravel (PHP), Django (Python). Linguagens de programação
  • 36.