[OFF] Intermediate Language 101

26 visualizações
Pular para a primeira mensagem não lida

ElemarJR

não lida,
27 de jul. de 2010, 21:20:0827/07/2010
para .Net Architects
Opa galera,

Devido aos feedbacks que recebi na thread sobre "Geração de Código On-
the-fly", resolvi iniciar uma série de posts mostrando os fundamentos
do desenvolvimento usando IL.

Espero, de verdade, estar colaborando com o grupo através dessa série
de posts.

Conto com os feedbacks de vocês.

O primeiro post está disponível em http://elemarjr.wordpress.com/2010/07/28/il-101parte-1/

[]s

Elemar Junior
elemarjr.wordpress.com
elem...@gmail.com
twitter.com/elemarjr

Juan Pedro A. Lopes

não lida,
27 de jul. de 2010, 21:29:1127/07/2010
para dotnetar...@googlegroups.com
Ótima iniciativa. Muito boa mesmo.

Vou dar uma olhada com calma no material, depois posto um feedback mais detalhado.

2010/7/27 ElemarJR <elem...@gmail.com>

--
Você recebeu esta mensagem porque faz parte do grupo .Net Architects hospedado no Google Groups.
Para postar envie uma mensagem para dotnetar...@googlegroups.com
Para sair do grupo envie uma mensagem para dotnetarchitec...@googlegroups.com
Para mais opções visite o grupo em http://groups.google.com/group/dotnetarchitects?hl=pt-br



--
Kind regards,
Juan Lopes

http://qrcode.juanlopes.net

Gabriel

não lida,
27 de jul. de 2010, 21:32:3627/07/2010
para dotnetar...@googlegroups.com
Muito bem escrito o artigo... conseguiu prender minha atenção. Parabéns.

Aguardo pelo post 2.

Gabriel Bernardi
(11) 6565-1015

Elemar Junior

não lida,
27 de jul. de 2010, 21:33:4727/07/2010
para dotnetar...@googlegroups.com
Obrigado

Elemar Junior

não lida,
27 de jul. de 2010, 21:34:3027/07/2010
para dotnetar...@googlegroups.com
Obrigado, aguardo seu feedback mais detalhado ;)

Bruno D'Alessio

não lida,
28 de jul. de 2010, 00:24:1928/07/2010
para dotnetar...@googlegroups.com
Parabéns pela iniciativa Elemar, muito útil.

Abs,
Bruno D'Alessio
Arquiteto de Software

Rodrigo Vieira

não lida,
28 de jul. de 2010, 06:02:2728/07/2010
para dotnetar...@googlegroups.com
Muito legal, vou acompanhar essa série com certeza. Não acho que vou
precisar mexer com IL por enqto, mas é sempre útil a gente saber o que
acontece dentro do capô do carro pra dirigir melhor :)

2010/7/28 Bruno D'Alessio <bruno...@gmail.com>:

Paulo Roberto Pellucci

não lida,
28 de jul. de 2010, 08:32:2828/07/2010
para dotnetar...@googlegroups.com
Não li ainda mas tenho enorme interesse. Já queria te parabenizar pela iniciativa e se encontrar qualidade igual nos posts anteriores, já tenho certeza que vai ser MUITO bom.
 
2010/7/28 Rodrigo Vieira <rodr...@gmail.com>



--
Atenciosamente,
Paulo Roberto S. Pellucci

Elemar Jr

não lida,
28 de jul. de 2010, 10:39:2928/07/2010
para dotnetar...@googlegroups.com
Obrigado... Fico feliz em perceber a receptividade da comunidade a essa iniciativa!

Enviado via iPhone

ElemarJR

não lida,
28 de jul. de 2010, 19:43:3928/07/2010
para .Net Architects
Caros,

Ia esperar alguns dias até postar a segunda parte. Mas não me contive.
Assim, informo aos amigos que o segundo post da série introdutória
sobre IL já está no ar.

Quem desejar acessar, visite: http://elemarjr.wordpress.com/2010/07/28/il-101parte-2/

Gabriel

não lida,
28 de jul. de 2010, 21:20:5228/07/2010
para dotnetar...@googlegroups.com
Parabéns dnovo... Prendeu minha atenção...rsrs

faz o seguinte? Posta uns 3..4 artigos d uma vez.... Rs.... Amanha sai o próximo??

Fiquei com uma duvida:
Vc escreveu a string com ldstr;
Depois chamou o método d escrita;

Ele pegou a string da stack e zerou ela... É isso ? Simples assim?

Outra duvida... Lembro q no 8086 não tinha string... Sabemos q na "por baixo do capô" é uma seqüência d caracteres... Ela tbm ocupou uma posição na evaluation stack?? Quem gerência isso?

Valewwww

Aguardo o próximo post

Gabriel Bernardi
(11) 6565-1015

Elemar Junior

não lida,
28 de jul. de 2010, 21:27:4228/07/2010
para dotnetar...@googlegroups.com
Opa!

Obrigado. Terminei uma revisão "pesada" do post agora ... e cheguei a conclusão de que não dá para ser tão apressado. Havia um bocado de erros de grafia que precisaram ser reparados ... Assassinei o português.. Mas, agora parece que está tudo certo. Também dei uma reestruturada no conteúdo .. acho que ficou mais fácil de ler.

Quanto a sua pergunta, é exatamente isso. ldstr colocou a referência para a string na pilha e o método retirou de lá. simples assim!

Como está no post: 

Curiosidade: Embora o código de a impressão de que a string foi carregada na pilha, de fato a string já foi carregada junto com o assembly e está na área de memória correspondente aos metadados do módulo. Quando a instrução ldstr é executada ocorre uma cópia dessa string para o string pool (assunto para outra série de posts Smiley de boca aberta), e é a referência dessa cópia que é adicionada a evaluation stack.

Felipe Teixeira

não lida,
28 de jul. de 2010, 21:54:5628/07/2010
para dotnetar...@googlegroups.com
Ficou bem fino o novo post!
Felipe G. Teixeira
Microsoft Certified Technology Specialist - MCTS
Application Development Foundation MS
Web -based Client Development
Mobile: +55 (11) 8021-6457
http://iguessimnotcrazy.wordpress.com/
http://br.linkedin.com/in/felipegoncalvesteixeira

ElemarJR

não lida,
29 de jul. de 2010, 18:33:2629/07/2010
para .Net Architects
Opa,

Acabei de publicar o terceiro post da série.

Nesse post:

•abordo como o IL trata tipos de dados;
•destaco como .net trata o tradeoff performance x memória;
•mostro que implementações idênticas nas em VB.net e C# produzem
resultados diferentes;
•apresento um breve resumo dos principais mnemônicos para carga de
valores constantes para a Evaluation Stack.
•faço uma provocação, desenvolvendo uma versão mais rápida do que a
produzida pelo C# e pelo VB.

O post está em http://elemarjr.wordpress.com/2010/07/29/il-101parte-3/

Comente, Critique, de sugestões

ElemarJR

não lida,
30 de jul. de 2010, 19:20:2930/07/2010
para .Net Architects
Amigos

Bem, para quem está acompanhando minha tentativa de popularizar o uso
de Intermediate Language como alternativa, uma novidade: Estou
iniciando, em paralelo, uma série para tratar de geração on-the-fly de
proxies, mocks e assemelhados.

Com isso, a frequência de pubilicação da IL101 deve cair um pouco. De
qualquer forma, fico feliz em receber os feedbacks de vocês. Gostaria
de deixar claro que estou disposto a discutir sobre o que escrevo e
que também estou aprendendo bastante "externando" esses conhecimentos.

[]'s

ElemarJR

não lida,
1 de ago. de 2010, 16:38:1401/08/2010
para .Net Architects
Caros,

Acabei de publicar o quarto post da série. Está disponível em
http://elemarjr.wordpress.com/2010/08/01/il-101parte-4/

Comente. Critique. De sugestões.

José Ferro

não lida,
1 de ago. de 2010, 20:01:1201/08/2010
para dotnetar...@googlegroups.com
Oi Elemar,

Parabéns pelos posts...
Gostei muito de ver essa parte da Framework.
=D

Quando ví o código, parece que voltei no tempo...
Eu programei algumas coisas simples com ASM x86 e me fez lembrar daquele tempo.
Claro, guardadas as devidas proporções de utilização.

Continue firme nos posts, que está ficando muito legal.

[]'s

José Ferro


Elemar Junior

não lida,
1 de ago. de 2010, 20:08:1101/08/2010
para dotnetar...@googlegroups.com
Obrigadeo pelo apoio, José.

Também senti uma certa nostalgia nos meus primeiros contatos com a Intermediate Language. Também programei com x86 durante boa parte da minha carreira.
Como eu digo nos posts, programar em Intermediate Language ajuda entender como funcionam as coisas, de fato.

Se tiver alguma recomendação, ou sugestão, fique a vontade para me encaminhar .. Ficarei feliz em melhorar a série

ElemarJR

não lida,
6 de ago. de 2010, 18:16:0706/08/2010
para .Net Architects
Olá pessoa,

Tem post novo da IL101.
Querendo dar uma olhada, visite http://elemarjr.wordpress.com/2010/08/06/il-101parte-5/

Nessa parte, abordo a criação de métodos e passagem de parâmetros em
IL.

Visite, critique, dê sugestões

[]s

Elemar Júnior

ElemarJR

não lida,
8 de ago. de 2010, 13:45:1808/08/2010
para .Net Architects
Caros,

Tem post novo da IL101
Querendo dar uma olhada, visite http://elemarjr.wordpress.com/2010/08/08/il-101parte-6/

Pessoal, gostaria, de verdade de receber feedback de vocês quanto a
utilização da Intermediate Language. Aqui mesmo, na comunidade,
mostrei dois casos de utilização. Alguém tem um exemplo para
compartilhar?

[]s

Elemar Júnior

Paulo Roberto Pellucci

não lida,
8 de ago. de 2010, 13:57:0208/08/2010
para dotnetar...@googlegroups.com
Eu queria muito escrever algo a respeito e tentar utilizar o que você posta mas, você está postando rápido demais (e não pare com isto), rs.. é que não estou conseguindo acompanhar.

Acho que o Henrique é um dos caras que mais usa IL Emitting (acho que na empresa dele eles tem um framework com forte uso) aqui e ele poderia expor um pouco da experiência.

Abraços.

2010/8/8 ElemarJR <elem...@gmail.com>

[]s

Elemar Júnior

--
Você recebeu esta mensagem porque faz parte do grupo .Net Architects hospedado no Google Groups.
Para postar envie uma mensagem para dotnetar...@googlegroups.com
Para sair do grupo envie uma mensagem para dotnetarchitec...@googlegroups.com
Para mais opções visite o grupo em http://groups.google.com/group/dotnetarchitects?hl=pt-br

Elemar Junior

não lida,
8 de ago. de 2010, 14:03:3708/08/2010
para dotnetar...@googlegroups.com
Obrigado, Paulo Roberto.
 
Você deve estar realmente certo. Deveria diminuir o ritmo, mas estou empolgado com a série. Entretanto, estou fazendo um esforço para diminuir a "densidade" em cada post e tornar a "coisa" o menos chato possível.
 
De qq forma, fico feliz por você estar gostando dos posts.
 
Quanto ao Henrique, sei do framework que eles desenvolveram na empresa dele. Ele chegou a comentar algo sobre abrir porções desse código. Ainda no aguardo ..
 
;)

José Ferro

não lida,
9 de ago. de 2010, 09:25:1309/08/2010
para dotnetar...@googlegroups.com
Oi Elemar,

Muito legal a série "IL101" de sua autoria.
Eu acho que ainda está no início e espero ver posts mais complexos, como declaração e execução de métodos, por exemplo.
Talvez muitos não consigam entender rapidamente como as coisas acontecem, porque, estamos "polindo bits" com a Framework, diferente das outros linguagens que leio os posts.

Vejo com bons olhos essa série, pois, dá pra usar sem medo, porque, no final tudo vira IL.
Não desanime... Continue com a série.

[]'s

José Ferro

Elemar Junior

não lida,
9 de ago. de 2010, 09:36:4909/08/2010
para dotnetar...@googlegroups.com
Opa.. Obrigado José!

Realmente estou começando "aos poucos". É que, ao meu ver, para programar com IL, temos que reaprender algumas coisas "da base". O conceito da Evaluation Stack, por exemplo, é muito comum com assembly mas completamente diferente de tudo que estamos acostumados no "alto nível".

Abraço

Elemar

ElemarJR

não lida,
10 de ago. de 2010, 21:28:0410/08/2010
para .Net Architects
Olá,

Tem post novo da IL 101

Querendo dar uma olhada, visite: http://elemarjr.wordpress.com/2010/08/11/il-101parte-7/

Nessa parte, mostro como funciona atributos, métodos e propriedades de
instância em Intermediate Language.

[]s

Elemar Júnior

ElemarJR

não lida,
18 de ago. de 2010, 20:58:4218/08/2010
para .Net Architects
Salve, amigos

Depois de um breve intervalo, tem post novo em IL 101.
Tema: Construtores

Já avançamos um bom bocado nos fundamentos da Intermediate Language.
Estou usando essa série para fundamentar quem deseja acompanhar minha
série sobre Mocks. O que vocês estão achando?

[]s

Elemar Júnior

Elemar Junior

não lida,
18 de ago. de 2010, 21:01:1718/08/2010
para .Net Architects
A propósito, o link é http://elemarjr.wordpress.com/2010/08/19/il-101parte-8/


[]s

Elemar Júnior

Juan Pedro A. Lopes

não lida,
18 de ago. de 2010, 23:17:0118/08/2010
para dotnetar...@googlegroups.com
Cara, não estou tendo tempo de ler os posts, mas quero continuar demonstrando meu apoio.

Acredito que esse tipo de detalhe (conhecer a sua máquina a fundo, mesmo que ela seja virtual) é geralmente crucial para desenvolver boas aplicações. Afinal de contas, a galera que fez o C# não previu todos os casos de uso do .NET. Você pode perceber que grande parte das grandes ferramentas de desenvolvimento tem suas hackish tricks que fazem toda a diferença.

O que seria do NHibernate sem um bytecode optimizer?

2010/8/18 Elemar Junior <elem...@gmail.com>

tucaz

não lida,
18 de ago. de 2010, 23:20:4218/08/2010
para .Net Architects
+1 com Juan. A série está muito boa! Vai servir de ótima referência
pra qualquer um que procurar sobre o assunto. Keep going!

Att.,
Tuca

On Aug 19, 12:17 am, "Juan Pedro A. Lopes" <juanplo...@gmail.com>
wrote:
> Cara, não estou tendo tempo de ler os posts, mas quero continuar
> demonstrando meu apoio.
>
> Acredito que esse tipo de detalhe (conhecer a sua máquina a fundo, mesmo que
> ela seja virtual) é geralmente crucial para desenvolver boas aplicações.
> Afinal de contas, a galera que fez o C# não previu todos os casos de uso do
> .NET. Você pode perceber que grande parte das grandes ferramentas de
> desenvolvimento tem suas hackish tricks que fazem toda a diferença.
>
> O que seria do NHibernate sem um bytecode optimizer?
>
> 2010/8/18 Elemar Junior <elema...@gmail.com>
>
>
>
>
>
> > A propósito, o link é
> >http://elemarjr.wordpress.com/2010/08/19/il-101parte-8/
>
> > Em 18 de agosto de 2010 21:58, ElemarJR <elema...@gmail.com> escreveu:
>
> > Salve, amigos
>
> >> Depois de um breve intervalo, tem post novo em IL 101.
> >> Tema: Construtores
>
> >> Já avançamos um bom bocado nos fundamentos da Intermediate Language.
> >> Estou usando essa série para fundamentar quem deseja acompanhar minha
> >> série sobre Mocks. O que vocês estão achando?
>
> >> []s
>
> >> Elemar Júnior
>
> >> --
> >> Você recebeu esta mensagem porque faz parte do grupo .Net Architects
> >> hospedado no Google Groups.
> >> Para postar envie uma mensagem para dotnetar...@googlegroups.com
> >> Para sair do grupo envie uma mensagem para
> >> dotnetarchitec...@googlegroups.com<dotnetarchitects%2Bunsubscrib e...@googlegroups.com>
> >> Para mais opções visite o grupo em
> >>http://groups.google.com/group/dotnetarchitects?hl=pt-br
>
> >  --
> > Você recebeu esta mensagem porque faz parte do grupo .Net Architects
> > hospedado no Google Groups.
> > Para postar envie uma mensagem para dotnetar...@googlegroups.com
> > Para sair do grupo envie uma mensagem para
> > dotnetarchitec...@googlegroups.com<dotnetarchitects%2Bunsubscrib e...@googlegroups.com>
> > Para mais opções visite o grupo em
> >http://groups.google.com/group/dotnetarchitects?hl=pt-br
>
> --
> Kind regards,
> *Juan Lopes*
>
> http://qrcode.juanlopes.net

Mário Meyrelles

não lida,
18 de ago. de 2010, 23:24:1718/08/2010
para dotnetar...@googlegroups.com

Cara,

 

Parabéns pela alta qualidade dos seus posts e pela assiduidade. Manda bala man!

 

Sds,

Mário

Elemar Junior

não lida,
19 de ago. de 2010, 07:53:1719/08/2010
para dotnetar...@googlegroups.com
Pessoal,

Obrigado pelo apoio e suporte. 

Ao fim da série sobre Mocks, pretendo liberar todo o código no Codeplex. No caso da série sobre IL, pretendo continuar criando posts até ter cobrido todos os aspectos fundamentais da tecnologia.

Minha especialidade é CLR. 

Não sei se viram, mas trabalho em uma empresa que desenvolve um software em 3d para a indústria moveleira. Usamos .net desde o framework 1.0. Também OpenGL, Silverlight. Inclusive, recentemente, participei de um projeto para projeto de ambientes em 3d na web que está no site da Itatiaia Móveis

Caso tenham sugestão de algum assunto a ser abordado, no mesmo formato em que estou fazendo com IL e Mocks, fineza sugerir.

[]s

Elemar Júnior

José Ferro

não lida,
19 de ago. de 2010, 09:38:1419/08/2010
para dotnetar...@googlegroups.com
Oi Elemar,
 
Muito legal este novo post.
Está ficando show !!!
 
Ah, existe alguma referência dos mneumônicos que a IL utiliza?
Assim, na hora de ler o que ele faz, não vou me perder.
 
[]'s
José Ferro

 

[]s

Elemar Júnior

--

Elemar Jr

não lida,
19 de ago. de 2010, 11:44:4719/08/2010
para dotnetar...@googlegroups.com
Há uma enumeração em System.Reflection chamada OpCodes. 

Acredito que o Help dela, no msdn, seja a melhor referência disponível.

Enviado via iPhone

ElemarJR

não lida,
25 de ago. de 2010, 20:07:5825/08/2010
para .Net Architects
Opa pessoal, tudo certin?

Depois de uns dias falando em programação funcional, estou voltando
para Intermediate Language. :D

Acabei de postar mais uma parte para IL 101. Agora, tratando de boxing
e unboxing. Está disponível em: http://elemarjr.wordpress.com/2010/08/25/il-101parte-9-boxing-e-unboxing/

Espero que estejam gostando da série.

Elemar Junior

não lida,
31 de ago. de 2010, 20:09:3431/08/2010
para .Net Architects
Olá pessoal, tudo certin?

Depois do post (desabafo) de ontem, por sinal, bem recebido por vocês, retorno para falar sobre IL

Trata-se do décimo post da série. Hoje, falando sobre Delegates e Eventos.


[]s

Elemar Jr

Responder a todos
Responder ao autor
Encaminhar
0 nova mensagem