Enquanto tentava fazer com que o bochs imprimisse em um arquivo o valor escrito para a porta paralela, habilitei todas as opções de debug. Em menos de cinco minutos praticamente travou o HD e apareceu o arquivo na imagem abaixo:
Compreensão de Listas (List Comprehension)
Julho 4, 2006 · Deixe um comentário
Hoje pela manhã apresentei o trabalho sobre Erlang. Foi algo bem curto, apenas apresentando superficialmente a linguagem e sua história. Como exemplo, usamos o código abaixo, extraído da entrada na Wikipedia:
%% quicksort:qsort(List)
%% Sort a list of items
-module(quicksort).
-export([qsort/1]).
qsort([]) -> [];
qsort([Pivot|Rest]) ->
qsort([ X || X <- Rest, X < Pivot]) ++ [Pivot] ++ qsort([ Y || Y <- Rest, Y >= Pivot]).
Logo após passar para o próximo slide o professor interrompe e diz: “Pessoal, esse assunto será questão da prova 1″. Na hora o pessoal acordou (hehehe) e pediu para explicar novamente. =)
O que deve cair especificamente é o que chamamos de “List Comprehension” (Compreensão de listas), uma técnica utilizada para o processamento de listas de maneira análoga às regras de construção de conjunto, do tipo que [ X || X <- Rest, X < Pivot] significa algo como “Pegue os elementos X tal que X pertença a Rest e X é menor que Pivot”. O que segue ao “||” são as condições para que um elemento pertença à lista.
Categorias: programação
Troca (parcial) de linguagem
Julho 4, 2006 · Deixe um comentário
Após algumas experiências inciais com Ruby, eu tive que parar um pouco, por causa de um projeto da faculdade, e aprender pelo menos algunas noções iniciais sobre Erlang, uma linguagem inventada pela Ericsson para usar em seus sistemas de telefonia.
Pelo menos a princípio, Erlang parece ser bem interessante, completamente diferente de qualquer linguagem na qual eu tenha feito alguma coisa “não-trivial” (Java, C, etc…). Outro ponto positivo é que ela foi aberta pela Ericsson em 1998 e continuou tendo suporte da empresa, além de um bom pacote de bibliotecas.
Categorias: programação · ruby



