Browsing All posts tagged under »CodeAsData«

Functional Programming (Higher-Order Functions) com JavaScript

novembro 13, 2011

0

Olá pessoal. Tudo certo?! No post anterior, mostrei como aplicar alguns princípios fundamentais (map e reduce) de programação funcional em JavaScript. Hoje, mostrocomo implementar Higher-order functions. Live demo: http://users.cjb.net/livedemoelemarjr/higherorderfunctions.htm Gist: https://gist.github.com/1363062 O que são Higher-Order Functions?! Uma “higher-order function” recebe uma ou mais funções como parâmetro e devolve uma nova função como retorno. Um exemplo… [Read more…]

Functional Programming (Map e Reduce) com JavaScript

novembro 11, 2011

2

Olá pessoal. Tudo certo?! No post de hoje, continuo explorando as potencialidades do JavaScript. JavaScript não é uma linguagem de programação funcional como Lisp, F# ou Haskell. Mas, o fato de permitir a manipulação de funções como objetos permite que usemos algumas técnicas desse paradigma. No post de hoje, exploramos algumas possibilidades. O exemplo que… [Read more…]

DLR Binding Actions

julho 31, 2011

2

Já sabemos que DLR oferece suporte forte para interoperabilidade entre linguagens. Também já sabemos que essa interoperabilidade é garantida, em grande parte, pelos mecanismos de binding fornecido pela DLR. Hoje, mostro um pouco mais do que acontece nos bastidores. Dynamic Language Runtime (DLR) provê doze ações diferentes executadas tanto pelos Binders quanto pelos “objetos dinâmicos”… [Read more…]

DLR Binders e Interoperabilidade de linguagem

julho 31, 2011

0

Olá pessoal, como estamos?! No último post mostrei que a DLR facilita a interoperabilidade entre linguagens. Hoje, começo a explicar como. Objetos estáticos e objetos dinâmicos Uma coisa importante a notar no post anterior está na diferenciação entre objetos estáticos e dinâmicos. Para o contexto da DLR, objetos estáticos são aqueles que não possuem qualquer… [Read more…]

DLR e a interoperabilidade entre linguagens

julho 31, 2011

1

Olá pessoal, como estamos?! Dias atrás escrevi um pouco sobre os DLR Binders. Na ocasião, mencionei que as duas principais funções destes eram o mecanismo de caching e o suporte a interoperabilidade entre linguagens. Neste post, falo um pouco mais sobre a segunda função. Interoperabilidade entre linguagens Nesse post, assumo que interoperabilidade entre linguagens está… [Read more…]

Modificando ou “traduzindo” DLR Expressions usando Visitor pattern

maio 6, 2011

2

Olá pessoal, como estamos? Há alguns dias mostrei alguns conceitos relacionados à utilização de DLR Expressions. Na ocasião, apresentei técnicas relacionadas à criação dessas expressions e alternativas para “compilação e execução”. Naquele mesmo post, destaquei que DLR Expression é uma estrutura de dados capaz de representar um programa inteiro. Como disse, trata-se de uma linguagem… [Read more…]

DLR Expression

maio 1, 2011

2

Olá pessoal, como estamos? Há alguns dias, apresentei alguns conceitos fundamentais para DLR. Hoje, pretendo abordar aquilo que considero ser a “espinha dorsal” dessa tecnologia: DLR Expression. Já falei sobre Expressions aqui no Blog. Entretanto, hoje, falo isso pensando em DLR (ênfase diferente). DLR Expression como uma linguagem Acredito que fica mais fácil entender o… [Read more…]

Lambdas e Expression Trees – parte 1/2

setembro 30, 2010

4

Olá pessoal, tudo certin? Não sei o que você pensa sobre LINQ. Para mim, LINQ é um recurso fantástico que permite que pensemos de forma menos “imperativa” (dizendo como queremos que as coisas sejam feitas) e comecemos a pensar de forma mais declarativa (sobre o que queremos, ou seja, mais orientados ao objetivo). Em termos… [Read more…]

Faça você mesmo o seu framework para Mocks e Proxies–Parte 10–Suporte básico a eventos

setembro 5, 2010

1

Olá galera, tudo certin? Essa semana foi quase temática aqui no blog. Falei sobre eventos quase todos os dias . E hoje não vai ser diferente! Como já disse na semana passada, estou realmente orgulhoso com os resultados dessa série. Tenho aprendido um bocado e tenho achado aqui um ótimo caminho para compartilhar o pouco… [Read more…]

Um pouco mais sobre Rx (Linq to Events)

setembro 3, 2010

2

Olá galera. Tudo certin? Depois de receber um ótimo feedback para o meu primeiro post sobre Rx, hoje, retorno ao assunto. A intenção é, em breve, iniciar uma série “101” (nos mesmos moldes que estou fazendo para Intermediate Language). Entretanto, por enquanto, pretendo mostrar mais umas coisinhas legais … Go code! Abaixo as strings mágicas… [Read more…]

Reactive Extensions (Rx)–Linq to Events

setembro 1, 2010

10

Olá galera, tudo certin? Depois de um passeio pelo mundo da Intermediate Language, resolvi voltar a abordar assuntos mais “altos”. Hoje, quero falar um pouquinho sobre Reactive Extensions (mais conhecido por Rx), ou ainda, Linq to Events. Antes de qualquer coisa, meu reconhecimento a Erik Meijer. Para quem não sabe quem é o cara, ele… [Read more…]

A Falácia do código simples – Testes são indispensáveis

agosto 31, 2010

9

Olá galera, tudo certin? Esse post é uma confissão. Sim, resolvi começar esse post confessando minha arrogância – eu não escrevo testes sempre (Segundo o Giovanni Bassi, por isso, não deveria me considerar um dev sênior, e tenho coragem de dizer que sou arquiteto – que vergonha!); Mas a questão é: Por quê? Por que… [Read more…]

Faça você mesmo o seu framework para Mocks e Proxies–Parte 9–Verificações

agosto 29, 2010

2

Olá pessoal. Tudo certin? Este é o 9o post da série sobre o desenvolvimento de um framework para mocks. Estou realmente orgulhoso do resultado. EasyMock ainda não está em estágio de produção, mas, como disse no último post, já está sendo suficiente para os testes que escrevo. Esta série começou como uma demonstração prática dos… [Read more…]

Domain-Specific Languages no dia-a-dia

agosto 27, 2010

4

Como sabem, estou trabalhando – como projeto doméstico , nas horas vagas – em um Framework para Mocks. Honestamente, estou bastante orgulhoso dos resultados que estão sendo obtidos. Meu objetivo inicial, que era entender como um framework desse tipo funciona, já foi superado. Entre os pontos que destaco, está a interface fluente que foi desenvolvida.… [Read more…]

Functional Programming–Outras considerações

agosto 24, 2010

3

Extension Methods, métodos e tipos anônimos, lambda expressions, dentre outras tecnologias permitem que escrevamos códigos menores, mais declarativos e mais assertivos. LINQ é expressão de todas essas melhorias, mas, ao meu ver, é apenas um demonstrativo das melhorias que podemos fazer em nossos códigos. É certo que linguagens mais novas – como F#, IronPython ou… [Read more…]

Functional Programming – Higher Order Functions

agosto 24, 2010

1

Olá pessoal. Tudo certin? Hoje estou mudando um pouco tom de meus posts. Não vou falar sobre Intermediate Language, Emitting, nem sobre o projeto para geração de Mocks. Hoje quero falar um pouco sobre Higher Order Functions. O que é são Higher Order Functions? Higher Order Functions é uma abordagem de programação funcional para escrita… [Read more…]

Compondo a execução do programa usando Expressions

agosto 20, 2010

3

Motivação Este post destaca outro aspecto técnico importante do framework para criação de objetos mock que estou apresentando em “Faça o seu framework para Mocks e Proxies”: empilhamento de ações usando Expressions. O cenário é o seguinte: De acordo com o contexto, desejamos “programar” a execução de algumas ações para determinado momento (geralmente a evocação… [Read more…]

Follow