Engenharia de Software • Trabalho com desenvolvimento desde 2011 • Experiência em Php, Java, Python, Ruby, JavaScript • Transpetro, Petrobras, USP, SINE-AL, Beter Park … • https://github.com/vitoleandro • [email protected] # Sobre
ações bem específicas para funcionar. Estas ações, devem ser passadas para o computador em uma linguagem que ele possa entender, esta linguagem é chamada de linguagem de máquina. Esta linguagem, por sua vez, é composta apenas de números, representados de forma binária, que, sob o ponto de vista do computador, representam as operações e os operandos que serão usados no processamento do programa.
definidas e não ambíguas, cada uma das quais devendo ser executadas mecânica ou eletronicamente em um intervalo de tempo finito e com uma quantidade de esforço finita. fonte: wikpedia Um algoritmo não representa, necessariamente, um programa de computador, e sim os passos necessários para realizar uma tarefa. Sua implementação pode ser feita, por um computador, um autômato ou até por um ser humano
com se chama em ciência da computação uma linguagem com um nível de abstração relativamente elevado, longe do código de máquina e mais próximo a linguagem humana. fonte: wikpedia As linguagens de não estão diretamente relacionadas a arquitetura do computador. Desta forma o programador não precisa conhecer as características do processador, com instruções e registradores. Essas características são abstraídas na linguagem de alto nível.
que define a forma de uma linguagem, estabelecendo como são compostas as suas estruturas básicas (palavras) fonte: PUC-RIO A sintaxe de uma linguagem de programação é formada por regras léxicas e regras sintáticas.
válidas de caracteres que formam os tokens da linguagem de programação (palavras reservadas, identificadores, operadores …) fonte: PUC-RIO As regras sintáticas descrevem como os tokens podem ser combinados para formar instruções válidas (comandos, expressões, subordinas …)
construções sintáticas válidas. fonte: PUC-RIO Não existe uma notação padrão para a descrição da semântica das linguagens de programação. Diferentes formalismos foram desenvolvidos para atender diferentes objetivos. Geralmente uma linguagem de programação é descrita informalmente, utilizando-se linguagem natural (Inglês, português… )
traduz um programa descrito em uma linguagem de alto nível para um programa equivalente em um código de maquina para um processador. Em geral, um compilador não produz diretamente o código de maquina, mas sim, um programa em linguagem simbólica semanticamente equivalente ao programa em linguagem de alto nível.
se fosse um interprete, percorrendo as instruções de um programa escrito em uma determinada linguagem de programação e, a medida em que vai interpretando cada instrução vai traduzindo para o processador, que então executa cada ação correspondente.
programação interpretada multiparadigma, de tipagem dinâmica e forte, com gerenciamento de memória automático, originalmente planejada e desenvolvida no Japão em 1995, por Yukihiro "Matz" Matsumoto, para ser usada como linguagem de script. Matz queria uma linguagem de script que fosse mais poderosa do que Perl, e mais orientada a objetos do que Python.[4] Ruby suporta programação funcional, orientada a objetos, imperativa e reflexiva. Foi inspirada principalmente por Python, Perl, Smalltalk, Eiffel, Ada e Lisp, sendo muito similar em vários aspectos a Python.[5] Atualmente, Ruby é a 10ª linguagem de programação mais popular do mundo, de acordo com o Índice Tiobe.[6]