Concurso: Crie gadgets para o Orkut

Que a rede social Orkut é uma verdadeira mania nacional, ninguém duvida. Para torná-lo ainda mais atrativo para os brasileiros, o Google está lançando um concurso para programadores a fim de incrementar o site. Os três melhores aplicativos ganham prêmios de R$ 8 mil, R$ 5 mil e R$ 2 mil.

A competição acontece paralelamente em vários países e faz parte do OpenSocial, empreendimento coletivo que visa a criar novos widgets, ou seja, pequenos programas criados colaborativamente que podem ser ativados nas redes sociais, de acordo com as preferências de cada usuário.

O programa não precisa estar completo para participar: o desenvolvedor deve mandar apenas um resumo e passará à implementação apenas se for selecionado. Os usuários é que vão escolher os melhores, de acordo com o número de internautas que optarem por usar o widget.

As inscrições vão até 23 de maio. A intenção do Google é turbinar sua rede social, que é a mais famosa do Brasil, mas apresenta baixa popularidade no resto do mundo. Outros sites, como o Facebook, se destacam justamente pelo grande número de opções de aplicativos opcionais.

Fonte: JC OnLine

 

 

Líder da CIN.NET dará aulas no S2B

Mais uma vez Lucas Mello vem fazendo seu papel e orgulhando todos os membros da nossa célula acadêmica! Após ser campeão da edição passada junto com Amirton, Lucas foi chamado para dar aulas em uma das turmas do Microsoft S2B, que está acontecendo na AESO, em Olinda.

Com certeza é uma excelente oportunidade para o crescimento profissional, para o currículo e para nós, da Célula, tê-lo como membro ativo! Agora ele vai ganhar mais experiência e conhecimento, o qual poderemos suga-lo nas suas aulas na célula! =P Brincadeira a parte, meu desejo é que todos nós continuemos a nos esforçar para que a nossa célula continue a trazer bons frutos para Pernambuco e quem sabe, para o mundo! =)

Parabéns Lucas, pela dedicação e esforço, tenho certeza que ainda vamos ver ótimas nóticias suas!
Grande abraço!

Introdução à linguagem SQL

Pois bem, como em futuras aulas iremos explorar assuntos relativos ao SQL Server, venho através deste post escrever um pouco sobre a linguagem SQL (Structured Query Language), que é uma base para o conhecimento e trabalho com qualquer Sistema de Gerenciamento de Banco de Dados(SGBD). Mas, primeiramente, o que é e para que serve um banco de dados?

Quando estamos aprendendo a programar, geralmente fazemos aplicações sem preoculpação com a persistência de dados. Guardamos e fazemos operações sobre os dados em estruturas similares à arrays e listas e, com isso, quando encerramos nossa aplicação os registros simplesmente desaparecem, não ficando guardados para um próximo uso dos mesmos. Por exemplo, imagine a construção de uma aplicação que possui um array de inteiros(int[] a), e em tempo de execução haja o armazenamento do inteiro 2 na primeira posição desse array( a[0] = 2 ) e depois fechamos essa aplicação; em futuras execuções do mesmo não veremos mais o registro que foi inserido nesse array(no caso o número 2). Isso ocorre porque enquanto o programa está em execução, todo seu conteúdo fica na memória principal e portanto, depois de executado, são eliminados da memória. Assim vemos a necessidade de guardar(persistir) nossos dados em algum lugar. Em sistemas simples, geralmente há a persistência de dados em arquivos, porém, quando há a necessidade de manipulações mais complexas, usamos um banco de dados para persistência. O banco de dados fica na memória secundária(disco), por isso ele não é “apagado” após a execução do programa. Então essa é a grande motivação para estudarmos um pouco de banco de dados e seus sistemas gerenciadores, em especial o SQL Server. Mas, onde a linguagem SQL entra nisso?

Bem, como já sabemos ONDE guadar e de onde recuperar os registros de uma aplicação, agora veremos COMO fazer isso. É aí que “entra em campo” a linguagem SQL. Essa linguagem foi criada nos anos 70 juntamente com o conceito de banco de dados relacional, por pesquisas patrocinadas pela IBM. O SQL é uma linguagem padrão que serve tanto para manipulação quanto para definição de dados. Com ela, além da possibilidade de inserir, deletar, pesquisar e alterar registros em um banco de dados, podemos também definir e contruir relações(tabelas). Ela é trabalhada sobre o paradigma declarativo. Hoje em dia vemos vários sistemas de banco de dados, como os da Oracle, Postgree, MySQL, SQL Server entre outros. Porém, mesmo que cada um desses bancos tenha sua própria implementação do padrão SQL, existe uma parte básica comum a todos eles. Veremos agora alguns exemplos que usam a linguagem SQL.

Imagine que se tenha uma aplicação bancária(quanta originalidade) e queremos guardar todos os clientes e contas de um banco. Cada cliente possui um cpf, nome e idade. Cada conta possui um número, saldo e referência para seu dono(cliente). Então teremos que usar a linguagem SQL para criar e manipular tais estruturas. A sintaxe SQL para esse exemplo funciona assim:

CREATE TABLE CLIENTE (
CPF VARCHAR2(14) NOT NULL,
NOME VARCHAR2(50) NOT NULL,
IDADE INT;
CONSTRAINT “PK_CLIENTE ” PRIMARY KEY (CPF )
);

INSERT INTO Cliente(cpf,nome,idade) VALUES (111, ‘Lucas’21);

INSERT INTO Cliente(cpf,nome,idade) VALUES (222, ‘Flavio’21);

e assim em diante…

CFF NOME IDADE
111 Lucas 21
222 Flavio 21
333 Joao Paulo 20
444 Amirton 20
555 Daniel 23

Observando a sintaxe, vemos a criação da tabela Cliente e seus campos com o comando “create table Cliente“. Após isso adicionamos registros à tabela com o comando “Insert into Cliente values…“.

Similarmente, faço a criação da tabela para guardar as contas. Nela se observa um campo(CPF_CLIENTE) que guarda a referência para o possuidor da conta. O cliente Lucas, por exemplo, possui a conta de número “1″ e saldo “100″.

NUMERO SALDO CPF_CLIENTE
1 100 111
2 200 222
3 300 333
4 400 444
5 500 555

A partir daí podemos fazer consultas sobre as tabelas, por exemplo:

SELECT * FROM CLIENTE //Seleciona todos os clientes do banco

SELECT c.NUMERO FROM CONTA c WHERE c.SALDO > 300 //Seleciona o número de todas as contas com saldo maior que 300

Existem no mercado várias ferramentas que facilitam o acesso a banco de dados, destacando o Hibernate. Elas tentam abstrair ao máximo qual repositório de dados o usuário está usando; porém, por “baixo dos panos” tudo é baseado em SQL.

A idéia desse artigo foi de fornecer uma motivação para o uso de banco de dados e da linguagem SQL. Por isso não houve a necessidade de nos prendermos muito a detalhes de sintaxe. Em próximas aulas da célula, como as de SQL Server e acesso à dados com ASP.NET iremos nos aprofundar um pouco mais.

Domínio .COM.BR liberado para pessoas físicas

Confira o anúncio feito pelo Registro.br:

Por decisão do CGI.br, o domínio COM.BR, destinado a atividades comerciais genéricas na Internet, também poderá ser registrado sob um CPF. Ou seja, pessoas naturais com atividades comerciais e afins
poderão registrar domínios COM.BR.

Esta modificação terá efeito a partir do dia 01/05/2008.

Inicialmente, somente o domínio COM.BR estará disponível nesta nova categoria, genérica, que permite registro tanto com CNPJ quanto com CPF. Lembramos que, para manter a transparência do registro de domínios .br, pessoas físicas responsáveis por domínios COM.BR estarão sujeitas aos mesmos procedimentos das entidades cadastradas previamente.

O Registro.br monitora constantemente o correto funcionamento de seus domínios. Fique atento aos avisos de problemas DNS e siga nossas recomendações para evitar problemas aos usuários de seus sítios.

Agradecemos a atenção,

Registro.br
http://registro.br/anuncios/20080416.html

Usando System.Drawing no ASP.NET

Olá Pessoal,

Na nossa lista de discussão foi gerada uma pergunta sobre como se usa System.Drawing no ASP.NET. Como a explicação desse assunto envolve vários conceitos interessantes, Daniel me incentivou a publicar este post para responder com mais detalhes.

Existem algumas diferenças básicas na utilização do System.Drawing com Windows Forms e com ASP.NET. A principal delas é que no Windows Forms a plataforma .NET pode fazer chamadas ao sistema para acessar a placa de vídeo do usuário, então você pode desenha diretamente na tela do cliente. Enquanto que no ASP.NET sua aplicação estará rodando em um servidor e o cliente estará mandando requisições e recebendo respostas da sua aplicação possivelmente a quilômetros de distância.

1º Conceito interessante: Requisições

Sabemos que quando um usuário digita o endereço de uma página HTML, o seu browser irá requisitar esta página para o servidor de destino. O que não vemos são as reuisições subsequentes: por exemplo, se nessa página tem uma tag do tipo <img src="imagem.jpg" /> o browser irá enviar uma nova solicitação ao servidor para receber esta imagem. As respostas do servidor contém em seus cabeçalhos informações inerentes à resposta que está enviando, entre elas o tipo da resposta. No caso onde o browser requisitou um documento HTML, o servidor enviou uma resposta que havia em seu cabeçalho a informaçao “content-type: text/html” enquanto que na requisição da imagem, o servidor responde informações com “content-type: image/jpeg”

2º Conceito interessante: No ASP.NET, nem tudo é HTML

No ASP.NET temos a idéia natural de que trabalhamos apenas com páginas web e HTML. Isso é verdade em 99,9% dos casos, mas é bom termos em mente o seguinte: O ASP.NET é feito para gerenciar requisições feitas ao servidor. Essas requisições podem gerar todo tipo de resposta para o cliente (arquivos de imagem, arquivos zip, arquivos pdf, arquivos XAML) e não apenas HTML. Cabe ao programador informar que tipo de resposta será gerada.

Exemplo prático

Para exemplificar o que foi dito acima vamos fazer uma pequena demonstração prática. A idéia é fazer um arquivo Drawing.aspx que, quando for enviada uma requisição a ele, irá devolver uma imagem jpg com um texto passado por parâmetros, como pode ser visto na imagem abaixo:

OlaMundo

Vale ressaltar que neste exemplo, o texto Ola Mundo não é um texto em HTML e sim uma imagem JPEG gerada dinamicamente, à partir do texto informado na barra de endereços. Pode parecer complicado, mas na verdade não é. O primeiro passo, logo após criar o arquivo Drawing.aspx é limpar todo o conteúdo HTML que é gerado automaticamente pelo visual studio, deixando apenas a primeira linha de cabeçalho:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Drawing.aspx.cs" Inherits="Drawing" %>

Depois disso, basta que adicionemos o seguinte código ao Page_Load de Drawing.aspx.cs

protected void Page_Load(object sender, EventArgs e)
{
string msg = Request.QueryString["msg"];

//Nesta parte redefinimos o tipo de resposta do servidor
Response.ContentType = "image/jpeg";

if (msg != null)
{
Font fonte = new Font("Calibri", 16, FontStyle.Bold);
Brush pincelAzul = new SolidBrush(Color.Blue);
Brush pincelBranco = new SolidBrush(Color.White);


Bitmap bmp = new Bitmap(300, 30);
Graphics graf = Graphics.FromImage(bmp);
graf.FillRectangle(pincelBranco, 0, 0, 300, 30);
graf.DrawString(msg, fonte, pincelAzul, 0, 0);

//Esta é a parte que salva o Bitmap na OutputStream
//A OutputStream é justamente um objeto que guarda tudo
//o que vai ser enviado ao usuário. No caso de requisições
//feitas para este arquivo .aspx, o que será retornado
//ao usuário será uma imagem em formato jpeg em vez de um
//documento HTML

bmp.Save(Response.OutputStream, ImageFormat.Jpeg);
}
}

O projeto pode ser baixado aqui

Espero que tenha conseguido passar um pouco dos aspectos interessantes de se usar System.Drawing no ASP.NET. Apesar do exemplo construído aqui não ter muita utilidade em si, podemos imaginar várias situações onde este conhecimento pode vir a ser útil.

Abraços a todos!

Publicado em ASP.NET, C#. 1 Comentário »

Novo Programa da Microsoft: Great2B

A Microsoft Brasil lançou na semana passada, em evento na Unip (Universidade Paulista), seu mais novo programa de capacitação de estudantes para o mercado de trabalho. Composto por treinamentos e oferta de produtos originais para venda, o programa, denominado Great2B, estimula o empreendedorismo, oferecendo benefícios para os jovens. As inscrições estão abertas e devem ser feitas por meio do site www.great2b.com.br.

O objetivo do programa é propiciar o desenvolvimento profissional do jovem, permitindo que ele se torne um consultor em TI com capacitação para diagnosticar e sugerir soluções. “Além de trabalhar com grandes marcas de tecnologia, o jovem terá formação especializada e comissão sobre vendas, com certificação da Microsoft, o que sempre traz valorização e reconhecimento no mercado”, afirma Jorge Salles, Diretor para a América Latina com foco em projetos e programas para promover a utilização do Potencial Ilimitado das pessoas.

O programa está baseado em três pilares: capacitação, vendas e benefícios. A capacitação se dá por meio de um programa de treinamentos para o jovem com foco em tecnologia e vendas, que por meio de pontuação dá direito à certificação Microsoft. As vendas são viabilizadas por meio de um portal que disponibiliza produtos para revenda e a preparação de propostas para comercialização de produtos originais com comissionamento por meio do registro de autônomo. Os benefícios se dão por meio de um programa focado no desenvolvimento profissional dos estudantes, que dá direito a treinamentos exclusivos, certificação e participação em grandes eventos de tecnologia.

Todas as informações sobre o Great2B estão disponíveis no site, que terá ainda uma comunidade para os participantes, com informações e notícias relevantes. É por meio do site que o estudante terá acesso aos portais de vendas e treinamentos, aos programas de benefícios, pontuação e à avaliação de sua performance. “Essa iniciativa estimula o empreendedorismo e visa facilitar a inserção jovem no mercado de trabalho, por isso a importância da parceria do programa Great2B com órgãos como o Sebrae, Universidades e o governo”, conclui Jorge. O programa é parte da iniciativa Potencial Ilimitado, da Microsoft.

Tendência: Padrões Web

O Internet Explorer 8 está perto de ser lançado, com algumas versões beta já disponível. Baixei a versão beta1 para testar e me deparei de cara com uma coisa que me chamou bastante atenção: 90% dos sites que abri vinham totalmente fora do layout… Outra coisa que reparei, na toolbar tem um botão “Emulate IE7″. A primeira coisa que pensei foi: “Ah, esta é uma versão beta, isso deve ser um bug que espero, irão corrigir mais tarde.” Para meu engano, li em outras fontes que não é bem assim. O “erro” que vi nos layouts dos sites que visitei já é esperado.

Qual o problema? A Microsoft resolveu criar uma nova engine para o Internet Explorer que renderize os sites no modo mais complacente com os Padrões Web possível, esse modo está sendo chamado de “Super Standards Mode”. Quando li isso achei excepcional! Com o Internet Explorer renderizando as páginas seguindo fielmente os padrões web, os sites que não seguem o padrão ficarão realmente do jeito que vi, todo fora do lugar.

Há muito tempo que o  sonho de nós, desenvolvedores web, era ter um browser que seguisse os padrões, e não implementasse apenas a renderização do seu jeito, como acontece hoje em dia. Essa moda precisa pegar rapidamente! Já imaginou se todos os browser resolvem seguir essa idéia: renderizar as pagínas segundo os padrões web??? Não precisaremos mais nos preocupar em fazer um site e ficar testando em 4 ou 5 browser diferentes, basta apenas que você desenvolva seguindo os padrões e pronto!

Ou seja, se você não desenvolve sites usando padrões web, começe a se preocupar! Isso porque o Firefox também já sinalizou nas próximas versões 3 e 4 que vai seguir essa tendência também! :) Vamos aguardar ansiosamente para ver isso acontecer! Já imaginou: IE, Firefox, Safari, etc… seguindo os padrões web para renderizar as páginas!!! Seria perfeito! Você escolheria um browser apenas pelas suas features diversificadas que cada um oferece, e não pela forma que você vê a página em um ou no outro.

Essa jogada da Microsoft foi show! A idéia de nivelar tudo por cima, para mim, sempre foi o melhor caminho. Se você não desenvolve com Padrões, ou se desenvolve despreocupadamente, é melhor mudar. Caso você se encaixe neste perfil, há duas opções:

  1. Ou você aplica o Browser Targeting Version. Isso fará com que o IE8 utilize o motor de renderização do IE7 (aquele butãozinho que mencionei no ínicio “Emulate IE 7″)
  2. Ou pára de preguiça e aprende de uma vez por todas a fazer sites padronizados. Para mim, este é o melhor caminho.

Fazer um browser rigoroso, faz com que o mercado saia da zona de conforto e comece a pensar. Tudo sobe um nível e a coisa fica mais interessante. Fiquei muito animado com a notícia e vamos torcer para que os padrões web realmente tomem conta dos browser para forçar nós, desenvolvedores, a desenvolvermos sites com mais qualidade e padronizados!

Como disse, já estou com o IE 8 instalado e pretendo ainda falar bastante sobre esse novo browser, que com pouco dias de uso, mesmo vendo os sites todos fora do lugar, me animei muito com o que ele promete trazer para nós, desenvolvedores!

Introdução ao C# e ao Visual Studio 2005

Bem pessoal, para reforçar a aula da última quinta-feira, e também não deixar os que não puderam comparecer totalmente atrasados, irei escrever aqui um resumo/tutorial do que foi citado, explicado e ensinado na aula.

Para começar, a primeira informação que precisamos é o que é C#? C# é uma linguagem de programação recente, com menos de 10 anos de existência, desenvolvida pela Microsoft para o lançamento conjunto com o .NET Framework 1.0. A equipe de desenvolvimento da linguagem teve como líder Anders Hejlsberg (pronuncia-se “Rélsberg”), conhecido pela participação em projetos como o Delphi e Turbo Pascal na Borland, e do Visual J++, na Microsoft. Com toda a experiência de seus projetos anteriores, Hejlsberg conhecia as limitações das linguagens existentes até o momento, e também sabia quais características destas linguagens geralmente levavam os programadores a cometer erros. Estas limitações e excessos levaram a Microsoft à decisão de criar uma nova linguagem a ser lançada junto com seu Framework, e que fosse o mais parecida com a estrutura interna deste quanto fosse possível. Ao ser alocado como líder do desenvolvimento da nova linguagem, Hejlsberg e sua equipe decidiram que esta seria inspirada principalmente em C++, Java e Delphi, e herdaria as seguintes características destas e de outras linguagens já existentes:

  • Uso de uma sintaxe consolidada: A sintaxe utilizada em C, C++ e Java é muito difundida entre os programadores, o que torna o aprendizado da nova linguagem mais rápido e menos traumático, além do uso de “{ }” para delimitar trechos de código deixar o programa mais legível e menos suscetível a erros;
  • Orientação a Objetos: Paradigma amplamente difundido, que permite a modelagem de sistemas que refletem o mundo em que a aplicação está inserida;
  • Garbage Collecion: Tira das mãos do programador a necessidade de alocar e desalocar memória, fonte de muitos erros em programadores inexperientes, e de dores de cabeça proporcionais ao tamanho o sistema que está sendo desenvolvido;
  • Exceções: Desvia o fluxo de execução quando um erro ocorre, permitindo que este erro seja tratado de maneira elegante, e muitas vezes transparente ao usuário;
  • Tipos seguros: As atribuições devem ocorrer entre tipos compatíveis em tempo de compilação, e os casts são verificados em tempo de execução;
  • Limites dos arrays são verificados: Assim como Java, C# não permite que por exemplo, num de 5 posições, o programador tente acessar a posição 10. A não verificação dos limites de arrays é mais uma causa de frequentes erros em programadores C / C++.

Além destas características, C# também trouxe novidades, como:

  • Delegates: Funcionam como “ponteiros” de função, facilitando a implementação de eventos, e inclusive dando a possibilidade de multicast, quando um evento dispara mais de uma função;
  • Propriedades: Não é um conceito completamente novo, no entanto, a abordagem de acesso a propriedades no código-fonte não era difundida. As propriedades em C# servem por exemplo, para encapsular os atributos de uma classe, papel que seria desempenhado em Java por métodos get e set;
  • Namespace: Assim como as propriedades, a novidade não está no namespace em si, mas na maneira como são usados. Primeiramente, o namespace não está fisicamente ligado ao caminho do arquivo. Uma classe de namespace Ufpe.Cin.CinDotNet não precisa estar numa estrutura em pastas ..\Ufpe\Cin\CinDotNet. Outra diferença para o uso de namespaces, agora comparando com C++, é que os namespaces de C# não permitiriam o uso de maneira semelhante a “std::cout” (Código em C++ onde std é o namespace e cout é uma variável), pois um namespace pode conter apenas:
    • Outro namespace
    • Classes
    • Interfaces
    • Structs
    • Enums
    • Delegates
  • Partial Class: Em C#, você pode definir uma classe em mais de um arquivo. Apesar de no primeiro momento isto parecer uma regressão, onde você diminuiria a legibilidade do código por espalhar uma classe em vários arquivos, as partial classes usadas corretamente são de grande ajuda para a legibilidade. O uso de partial class ao criar páginas usando ASP.NET permite o uso de code behind de uma maneira elegante (antes da inclusão de partial class em C#, o code behind era implementado através de uma herança entre a classe que define a interface e a classe que contém a lógica. Com partial class, existe apenas uma classe, onde sua interface gráfica é definida em um arquivo e sua lógica em outro).

Para maiores informações, exemplos de código, referências e leituras complementares sobre o que foi falado acima sobre C#, recomendo vocês darem uma olhada na apresentação usada na aula, disponível em (http://www.cin.ufpe.br/~abc/cindotnet/IntroducaoCSharpVisualStudio.pptx), na solução da prática do final da apresentação (http://www.cin.ufpe.br/~abc/cindotnet/ExemploCalculadora.zip) e no material do programa Desenvolvedor 5 Estrelas (http://www.msdn.com.br/cinco_estrelas).

Agora que você já tem uma noção do que C# oferece, vamos dar uma olhada no Visual Studio.

O Visual Studio (VS) é uma ferramenta integrada de desenvolvimento, no mercado desde 1997, atualmente na versão 2008. Com o VS, podemos desenvolver qualquer tipo de aplicação, desde um sistema baseado em Console, passando por aplicações desktop em janela, e indo até jogos 3D e websites. Iremos focar na versão 2005, pois *por enquanto* é a versão que está instalada nos laboratórios do CIn, mas esperamos ansiosamente que em breve pelo menos um grad esteja com o Visual 2008 instalado.

Através do Visual Studio.NET 2005, podemos realizar a maioria das atividades referentes ao desenvolvimento de uma aplicação em um só lugar. Além de editar, compilar e debugar o código em um só lugar, podemos também visualizar bancos de dados, informações sobre servidores na rede, visualizar o log de eventos das máquinas, entre diversas outras ações. Isto reduz o tempo de desenvolvimento, pois não precisamos alternar entre aplicações, boa parte do que é necessário já está disponível no Visual Studio.

A velocidade de desenvolvimento (produtividade do programador) é um dos principais focos do VS. Esta busca por produtividade trouxe para o Visual ferramentas que reduzem muito a quantidade de código que precisa ser digitada. Entre elas, é interessante citar as seguintes:

  • Intellisense: Um sistema de autocomplete que visa minimizar a quantidade de código digitado e a quantidade de itens que o programador necessita memorizar. Através do Intellisense, o programador também tem acesso à documentação dos métodos, o que praticamente elimina o tempo “perdido” em ir ler a API. Em alguns casos, a sugestão do autocomplete é sensivel ao histórico do que vinha sendo codificado.
  • Code Snippets: Templates de código que também reduzem a quantidade de código digitado. Ao usar um code snippet, o desenvolvedor obtém a parte “invariável” do template e apenas precisa preencher as partes mais relacionadas ao seu programa. Exemplo: ao escrever um switch, caso a variável seja algum enum, o Visual irá escrever uma cláusula case para cada valor no enum, automaticamente. Para usar, digite o começo do nome de algum code snippet (como “swi” para o caso do switch) e pressione TAB duas vezes.
  • Comentários em XML: Funciona de maneira similar a JavaDocs. Após implementar um método, ao digitar “///” (três barras) na linha anterior à assinatura do método, o Visual Studio irá criar uma estrutura dentro de um comentário, já no formato do XML de documentação. Resta ao programador apenas preencher as informações inerentes a cada método. Este comentário é usado pelo Intellisense para mostrar a documentação do método.
  • Visualizador de Propriedades: Através da interface gráfica, é possível setar as propriedades dos componentes, reduzindo novamente o número de código digitado.

Outro fato interessante sobre o Visual Studio é a possibilidade de utilizar diversas linguagens (são aproximadamente 40, de acordo com http://dotnetpowered.com/languages.aspx). Além disto, é possível fazer com que projetos escritos em uma linguagem interajam com um projeto escrito em outra, devido à compilação de qualquer uma das linguagens utilizáveis com o VS ser realizada para o código IL (também conhecido como MSIL ou CIL), do .NET Framework.

O último ponto importante do VS que será tratado neste artigo é “como se desenvolver usando o Visual Studio”. Apesar de estarmos acostumados com o termo “Projeto” para designar toda a aplicação que estamos desenvolvendo, a Microsoft utiliza no VS a terminologia de Solução. Uma solução é um conjunto lógico de projetos que se propõem a resolver um determinado problema. Você pode tanto desenvolver apenas um projeto em uma solução, como pode modularizar cada parte deste projeto em outros projetos, que irão se comunicar entre si, poderão ter configurações diferentes (e inclusive ser escritos em linguagens diferentes, como já foi citado), entre outras diversas vantagens.

Além de conhecer o C# e o Visual Studio, é bom saber que apesar de C# ser uma ótima linguagem, que permite o desenvolvimento de maneira rápida e “segura”, e do VS ser um ótimo ambiente de desenvolvimento, com diversas facilidades para o programador, boa parte do que é falado e creditado a C# ou ao Visual Studio é de responsabilidade do .NET Framework.

Resumidamente, podemos dizer que o .NET Framework possui um conjunto de bibliotecas que contém diversas funcionalidades previamente implementadas de maneira eficiente, para tirar do programador a responsabilidade por implementá-las, geralmente com um código muito menos eficiente do que a implementação já existente. É interessante notar que boa parte das Class Libraries (nome dado a cada biblioteca contida no Framework) do .NET Framework foi escrita em C#.

Já existem, padronizadas pela ISO e ECMA, Class Libraries responsáveis pela manipulação de listas, dicionários e hashtables, acesso a dados, entrada e saída, manipulação de texto, desenho e diagnóstico do programa, entre inúmeras outras. Além das Class Libraries padronizadas, o .NET Framework ainda disponibiliza várias outras, para manipulação de XML, interface gráfica por meio de janelas ou interface gráfica para desenvolvimente de websites.

Bem pessoal, resumidamente, este foi o conteúdo visto na aula. Espero que vocês usem este artigo e a apresentação como referência, enquanto dão seus primeiros passos nestas tecnologias.

Não ao Bloqueio do WordPress!

Absurdamente a Associação de provedores diz que Justiça mandou impedir acesso a um blog e para cumprir a ordem, outras páginas serão bloqueadas. Ou seja, todos os blogs do WordPress serão bloqueados! Acho isso um absurdo e mais uma prova de como a justiça brasileira faz palhaçadas… Ao invés de tratar de casos mais sérios, como de politícos corruptos no poder ou da violência no país, ficam perdendo tempo mandando ordens sem sentido como esta.

Este post é apenas para aderir ao movimento! 
Para ler mais detalhes sobre o assunto:
http://pliniotorres.wordpress.com/2008/04/10/wordpress-pode-ser-bloqueado-no-brasil/

http://g1.globo.com/Noticias/Tecnologia/0,,MUL396022-6174,00-BRASILEIROS+PROTESTAM+CONTRA+POSSIVEL+BLOQUEIO+DE+BLOGS+NO+WORDPRESS.html

http://g1.globo.com/Noticias/Tecnologia/0,,MUL394501-6174,00.html

A Vida na Microsoft

Pra descontrair….

A Tina publicou no seu blog um vídeo extremamente bem humorado que busca desmistificar como é o dia a dia dos funcionários da empresa, mostrando que eles também sabem rir de si mesmos.

O vídeo é imperdível, e mostra como os funcionários reagem a brincadeirinhas, brinca sobre a mania da Microsoft de comprar outras empresas, sobre a idéia de que todos na empresa são ricos, e o que acontece quando um funcionário resolve usar o Google.

http://on10.net/blogs/Galileu/VDEO-A-vida-na-Microsoft-legendado/