Aloha...Pesquisando na net voce vai encontrar muitas definicoes, opinioes e etc, sobre a capacidade do javascript, suas limitacoes e aplicacoes. La pelo ano 2000/2001, quando utilizavamos IE 5.0/5.5 e Netscape (putz!), tinhamos uma dificuldade com a utilizacao do script do lado do cliente pois os browsers eram fracos e havia aquela guerra entre o ie e netscape para os padroes. Quem tinha que se virar era o desenvolvedor.Hoje em dia nao e muito diferente, mas ja melhorou muito, principalmente com a entrada forte do Firefox no mercado. Por ser um browser rapido e que se da bem com o js, tem tido uma boa aceitacao pelos desenvolvedores e usuarios comuns. Com isso, na minha opiniao, a M$ esta comecando a entender que nao adianta empurrar os padroes dela por goela abaixo que nao adianta.No meio disso tudo que ja disse, a linguagem evoluiu. O que mais gostei nessa evolucao foi o framework Prototype, que deu origem a "n" outros frameworks que botam mais firulas em cima do que ele faz. O Prototype nada mais e que uma maos na roda para o desenvolvedor, facilitando algumas tarefas que seriam chatas de fazer com o JS puro!Chega de papo! Vou postar abaixo um exemplo do que podemos fazer com o Prototype: Classes. var ClassTest = Class.create({ initialize: function(name) { this.name = name } }); ClassTest.addMethods({ showMsg: function() { alert('Meu nome e ' + this.name); } }); ClassTest.addMethods({ setName: function(name) { this.name = name } }); var userTest = new ClassTest('Joao da Silva'); userTest.showMsg(); userTest.setName('Maria da Silva'); userTest.showMsg();Bom, essa e uma forma interessante que encontrei de criar classes de forma elegante. Se nao utilizarmos o framework, seria mais ou menos assim: function ClassTest(name) { this.name = name } ClassTest.prototype.showMsg = function() { alert('Meu nome e ' + this.name); } ClassTest.prototype.setName = function(name) { this.name = name } var userTest = new ClassTest('Joao da Silva'); userTest.showMsg(); userTest.setName('Maria da Silva'); userTest.showMsg();Fica a mesma coisa e nao precisa de framework! Ai o que vale e a pessoa ver o melhor design para suas classes!Abracos!!! Segue abaixo um exemplo muito basico de consulta.int[] text1 = { 1, 2, 3, 4};var data = from t in text1 select t + 1;Response.Write("Exemplo basico de select no LINQ: < br > ");foreach (var x in data){ Response.Write(x + "< br >");} Response.Write("Com o LINQ, percorremos o array com os numeros 1,2,3 e 4 selecionamos e incrementamos cada um.");Replique este trecho de codigo e veja como e facil usar o LINQ! A instrucao SQL e criada de forma "inversa" ao que estamos acostumados a fazer, mas e facil de entender.. Continuando a serie LINQ voce vera abaixo a utilizacao de Distinct e Count.int[] factorsOf300 = { 2, 2, 3, 5, 5 };int uniqueFactors = factorsOf300.Distinct().Count();Response.Write(uniqueFactors);No post anterior utilizamos a forma "tradicional" de consulta, neste post estamos utilizando a facilidade que as tao faladas LAMBDA Expressions nos fornecem. Temo um array de inteiros na primeira linha. Na segunda linha vocE pode ver que o intellicense lista uma serie de alternativas para tratarmos os dados.Replique o codigo e comece a babar com o VS2008!!! CURSO