28. > p = criarPessoa(“João", “Silva"); > nomeCompleto(p) João Silva > nomeCompletoInvertido(p) Silva, João Apesar de funcionar, não é uma solução interessante . Provavelmente, logo existirá dezenas de funções no global namespace.
29.
30. > s = criarPessoa(“João", “Silva") > s. nomeCompleto() João Silva > s. nomeCompletoInvertido() Silva, João
Assembler é uma línguagem de baixo nível, aonde o programador é obrigado a lidar com detalhes de máquina. Cada linha programada geralmente corresponde a uma linha de máquina register allocation and procedure calling sequences
Lidar com detalhes de máquina deixava a programação mais complexa e lenta. Sugiram linguagens que abstraiam este problema do programador. Estas linguagens geralmente tinham forte tipagem, e delas derivaram linguagens tais como C, C++ e java
Estas linguagens são um pouco mais lenta quando comparada a linguagem Assembler, mas ofereciam um velocidade de desenvolvimento melhor. Cada linha de çódigo fonte geralmente geravam cinco linhas de máquinas. Geralmente cada programador programa uma mesma quantidade de linhas de código, independente da linguagem. Então para cada linha de máquina programada em Assembler, uma linguagem de alto nível geraria 5 linhas.
Um pouco depois do surgimento de linguagem para programar sistemas, surge a linguagens scripting. Eles geralmente tinha fraca tipagem, eram interpretadas
Tipos ajudam a gerenciar complexidade, possuem um melhor desempenho pela ausência de necessidade de verificação runtime e lidam melhor com estruturas e algoritimos complexos.
Linguagem de scripting possuem maior flexibilidade, menor complexidade e maior velocidade de desenvolvimento. São perfeitas para unir dois componentes. Porém, são um pouco mais lentas…
faster machines, better scripting languages, the increasing importance of graphical user interfaces and component architectures, and the growth of the Internet, have greatly increased the applicability of scripting languages GUIs now account for half or more of the total effort in many programming projects. GUIs are fundamentally gluing applications: the goal is not to create new functionality, but to make connections between a collection of graphical controls and the internal functions of the application. I am not aware of any rapid-development environments for GUIs based on a system programming language.
Para o usuário, javascript já ajudava muito ao evitar chamadas desnecessários ao servidor, numa época de conexões discadas