terça-feira, 6 de agosto de 2019

Diferenças nos tipos de computação em nuvem

Software como serviço — O IaaS inclui servidores e armazenamento, firewalls e segurança de rede, além do datacenter (planta/edifício físico). O PaaS abrange elementos de IaaS e sistemas operacionais, ferramentas de desenvolvimento, gerenciamento de banco de dados e análise de negócios. O SaaS inclui elementos de PaaS, além de aplicativos hospedados.
Percebi que uma das coisas que mais chamou atenção na apresentação foi a funcionalidade dos SaaS e os outros estilos de computação em nuvem. Que como eu falei, é difícil explicar apenas com palavras. A computação em nuvem não se diferencia por grandes diferenças, mas sim por pequenos detalhes. Como visível no infográfico, apenas poucos serviços adicionais diferenciam os tipos de computação em nuvem. Por exemplo, num IaaS não é possível hostear um aplicativo, numa plataforma como o GitHub, contudo, um SaaS consegue administrar uma infraestrutura e os firewalls, que são características do IaaS, o que torna algo não substituível, mas sim, complementável e aperfeiçoável. Talvez no futuro tenhamos o SaaS como algo ultrapassado, já pensaram uma computação em nuvem sem internet? Parece difícil, mas não vamos subestimar a tecnologia!


TETRIS EM HASKELL

Resultado de imagem para HASKELL programa



A linguagem pode ser COMPILADA OU INTERPRETADA.

Segue o vídeo do joguinho TETRIS, COMPILADO em linguagem HASKELL

Lembre-se de que, durante as aulas, a utilizamos da forma interpretada !!






COMPILADORES X INTERPRETADORES

Como dito nas postagens anteriores, explicarei agora o que são e quais as diferenças existentes entre os compiladores e interpretadores.

  • Compiladores

Puramente, são softwares destinados a traduzir um código-fonte escrito em linguagem de alto nível para uma linguagem de baixo nível. A compilação normalmente gera, ao final, um arquivo executável que se não for escrito devidamente durante a elaboração do programa, pode comprometer o resultado final. Delphi, Rust, C++ e Swift figuram na lista de tipicamente compiladas.


Resultado de imagem para compilar ou interpretar


  • Interpretadores 

Um interpretador também é um programa, só que ele não converte o código inteiro para linguagem de máquina, de imediato. O que ele faz, na verdade, é ler o código linha a linha para rodar no momento da leitura. Geralmente, os interpretadores usam uma das seguintes estratégias para a execução do código: 1) executar o código fonte diretamente ou 2) traduzir o código fonte em alguma representação intermediária e depois executar este código.Temos MATLAB, Lisp, Perl e PHP, apontadas tipicamente como interpretadas.


Resultado de imagem para interpretador





Curiosidade: Existe um compilador JIT que é a mescla de compilador e interpretador. Ou seja, não exclusivamente compila nem exclusivamente interpreta. O compilador Just-In-Time (JIT) atua em tempo de execução, isso melhora o desempenho de aplicativos. Esse é aplicado nos compiladores de Java, por exemplo, em que primeiro compila bytecodes (código intermediário) para depois serem interpretados por um JVM (Java Virtual Machine), durante a execução do programa. Isso significa que o melhor dos dois tradutores é pego e usado em um só programa.