Professional Documents
Culture Documents
1) Por que til para um programador ter alguma experincia no projeto de linguagens,
mesmo que ele nunca projete uma linguagem de programao?
Porque as ferramentas e linguagens de programao evoluem constantemente e aprend-las
pode ser dispendioso e complexo. Conhecer os conceitos auda a aprender novas linguagens.
2) Como o conecimento de linguagens de programao pode !ene"iciar toda a comunidade
da computao#
! conhecimento de linguagem de programao "eneficia o desenvolvimento de arquiteturas
de computadores e # fundamental para que se alcance os o"etivos tecnologias eficientes e r$pidas%
sem maiores custos.
$) %ue linguagem de programao tem dominado a computao cient&"ica nos ltimos '(
anos?
&ortran.
)) %ue linguagem de programao tem dominado as aplica*es de neg+cios nos ltimos '(
anos?
C!'!L.
') %ue linguagem de programao tem dominado a ,nteligncia
-rti"icial nos ltimos '( anos?
L()P.
.) /m que linguagem o 0nix escrito?
*uase todo em C.
1) %ual a des2antagem de ter muitas caracter&sticas em uma linguagem?
+ificuldades de legi"ilidade em determinada linguagem% facilidade com a qual os programas
podem ser lidos e entendidos. ,s caractersticas que mais contri"uem para a legi"ilidade de uma
linguagem so as seguintes- simplicidade% ortogonalidade% tipos de dados e estruturas de dados e
proeto da sintaxe. .ma linguagem que possui um grande n/mero de constru0es "$sicas # mais
difcil de aprender do que uma com poucas1 programadores que precisam aprender linguagens
extensas ou longas frequentemente usam um su"conunto da linguagem e ignoram outros recursos%
da advindo pro"lemas de legi"ilidade que podem ocorrer quando diferentes programadores
tra"alham com diferentes su"conuntos.
23Como a so"recarga de operador definida pelo usu$rio pode preudicar a legi"ilidade de um
programa4
3) Cite um exemplo da "alta de ortogonalidade no projeto da linguagem C#
Como exemplos da falta de ortogonalidade em um linguagem de alto nvel% considere as
seguintes regras e exce0es em C.
,pesar de C ter duas formas de tipos de dados estruturados% vetores e registros 5structs3% os registros
podem ser retornados por fun0es% mas os vetores no. .m mem"ro de uma estrutura pode ser de
qualquer tipo de dados% exceto void ou uma funo. Par6metros so passados por valor% a menos que
seam vetores% o que fa7 com que seam passados por referncia 5por que a ocorrncia de um nome
de um vetor sem um ndice em um programa em C # interpretada como o endereo do primeiro
elemento desse vetor3.
Como um exemplo da dependncia do contexto% considere a seguinte expresso em C.
a 8 "
Ela significa que os valores de a e " so o"tidos e adicionados untos. Entretanto% se a for um
ponteiro% afeta o valor de ". Por exemplo% se a aponta para um valor de ponto flutuante que ocupa
quatro "9tes% o valor de " deve ser ampliado : nesse caso% multiplicado por ; : antes que sea
adicionado a a. Logo% o tipo de a afeta o tratamento do valor de ". ! contexto de " afeta seu
significado.
4) 5 que signi"ica para um programa ser con"i62el?
Pag. <=. 5C!>&(,'(L(+,+E3 .m programa # dito confi$vel quando est$ de acordo com suas
especifica0es em todas as condi0es. ,s seguintes su"se0es descrevem diversos recursos de
linguagens que tm um efeito significativo na confia"ilidade dos programas em uma linguagem.