<p>Fundamentação teórica e prática nas origens matemáticas e nos conceitos centrais das linguagens de programação modernas. Inicia com a gênese formal da computação no Cálculo Lambda introduzido por Alonzo Church na década de 1930: termos lambda (variáveis, abstrações e aplicações), regras de alfa-conversão (renomeação consistente de variáveis ligadas), beta-redução (aplicação de funções por substituição de argumentos) e eta-conversão (extensionalidade funcional). Discute a tese de Church-Turing e a universalidade do cálculo lambda não tipado. Contrasta sistematicamente os paradigmas de programação imperativo (centrado em comandos, atribuições e modificação de estado na memória) e funcional (centrado na avaliação de expressões sem efeitos colaterais e na transparência referencial, onde expressões iguais produzem resultados idênticos em qualquer contexto). Apresenta a linguagem OCaml (Objective Caml), membro proeminente da família ML: ambiente de desenvolvimento, distinção crucial entre linguagens baseadas em comandos versus baseadas em expressões (onde tudo retorna um valor, incluindo condicionais 'if-then-else'). Detalha a vinculação de valores imutáveis com 'let' e 'let rec', a criação de funções anônimas com 'fun', o sistema de tipos estático forte e a genialidade do algoritmo de inferência de tipos Hindley-Milner (Damas-Milner), que deduz os tipos mais gerais possíveis em tempo de compilação sem necessidade de anotações explícitas. Finaliza com os tipos polimórficos com variáveis de tipo ('a, 'b), funções da biblioteca padrão e operações básicas de entrada e saída.</p>
2. Fundamentos & Conceito Central (Estudos)
Fundamentação teórica e prática nas origens matemáticas e nos conceitos centrais das linguagens de programação modernas. Inicia com a gênese formal da computação no Cálculo Lambda introduzido por Alonzo Church na década de 1930: termos lambda (variáveis, abstrações e aplicações), regras de alfa-conversão (renomeação consistente de variáveis ligadas), beta-redução (aplicação de funções por substituição de argumentos) e eta-conversão (extensionalidade funcional). Discute a tese de Church-Turing e a universalidade do cálculo lambda não tipado. Contrasta sistematicamente os paradigmas de programação imperativo (centrado em comandos, atribuições e modificação de estado na memória) e funcional (centrado na avaliação de expressões sem efeitos colaterais e na transparência referencial, onde expressões iguais produzem resultados idênticos em qualquer contexto). Apresenta a linguagem OCaml (Objective Caml), membro proeminente da família ML: ambiente de desenvolvimento, distinção crucial entre...
Desbloqueie o Conteúdo Completo
Quer praticar no Laboratório e emitir seu Certificado?
Faça sua matrícula para ter acesso à videoaula completa, áudio narrativo, roteiro de slides com controles, laboratório guiado com envio de evidência e certificado com código verificável de autenticidade.
Privacidade, cookies e mensuração (LGPD)Usamos cookies essenciais para sessão e segurança. Com sua permissão, ativamos análise (GA4/GTM) e mensuração de mídia (Meta Pixel / API de Conversões) para melhorar sua experiência. Política de Cookies