4/16/2008

Diferença entre Option Compare Database e Option Explicit no VBA

Quando criamos um módulo e deixarmos o padrão Option Compare Database, o interpretador do VBA não vai exigir que as variáveis sejam declaradas e vai executar o códico do jeito que estiver, por exemplo:

código 1Option Compare Database
Sub contar()
i = 2
j = 3
Debug.Print i + j
End Sub


Como você pode ver, funciona, mas em um código muito grande pode ser difícil depurar os erros. Agora se declaramos que ele será Option Explicit, o interpretador só vai executar o código se todas as variáveis já estiverem explicitamente declaradas, por exemplo:

código 2Option Explicit
Sub contar()
Dim i
Dim j
i = 2
j = 3
Debug.Print i + j
End Sub


Até a próxima!

Atualização: "Dam You Copy and Cut!" Desculpe pessoal a primeira linha do segundo bloco de código estava errada.

NMHO.

4/14/2008

Suporte para notebook por 30 reais

Ainda não publiquei um review sobre a minha nova aquisição, um Dell Vostro 1000, contudo antes do notebook ser entregue eu resolvi improvisar um suporte, afinal, não tenho filhos ainda e não quero ter os meus "ovos" cozidos.

Material e Ferramentas


Primeiro eu aproveitei as grades de prateleiras (aquelas usadas em balcões de lojas), é o mesmo tipo de grade que usei para organizar os cabos na parte de trás da minha mesa.


Compre também um metro de mangueira. Eu preferi uma mangueira de gás, porque esse tipo de mangueira é mais espessa e mais firme.


Lacres pequenos (também conhecidos como "enforca gato"), vamos usá-los para montar o suporte. Quem quiser reproduzir essa "maluquice", pode usar arames também, mas eu achei os lacres mais práticos.


As ferramentas foram: estilete, serra de metal, lima e fita isolante.



Mãos à obra


Serre uma das grades e de forma a ficar apenas uma coluna de "quadradinhos". Use a lima para deixar corrigir as pontas serradas.


Se achar necessário use a fita isolante para proteger os cantos. No meu caso, as grades não tinha os cantos soldados, por isso usei a fita para melhorar a estrutura.


Use os lacres para unir as grades. Procura cruzar o lacre para que ele não fique deslizando na grade.


O objetivo é montar um triângulo, como na próxima foto.


Depois corte a mangueira em 3 partes da largura da grade.


Depois faça um corte nos pedaços da mangueira seguindo este esquema, um corte transversal e pequenas elipses onde ficam os arames da grade. Eu montei um esquema (fora de escala) de como devem ser os cortes.


IMPORTANTE: Essa parte é sem sombra de dúvidas a mais demorada, a mais chata e a mais perigosa do "projeto".
Coloque as mangueiras em cada ângulo do triângulo. Elas vão servir para não machucar quem usar se resolver colocar o suporte no colo e também como anti-derrapantes se for usar o notebook em uma mesa.



Bom, este é o resultado final. Não fica uma maravilha, mas ficou bem menos feio do que eu esperava. Quando uso o notebook sentado na cama, eu até sinto a temperatura aumentar, mas não tem comparação quando faço isso sem o suporte. Realmente quebra um galho até eu poder comprar um suporte descente.


Atualização: Eu não me lembrava de onde tinha tirado essa idéia, eu até procurei no LifeHacker e mas não encontrei. Mas é claro que eu não iria achar! Eu tinha visto isso no Efetividade.net, não no LifeHacker.

Até a próxima...

Interessado em aprender mais sobre o Ubuntu em português?

3/31/2008

Desenvolvedor, a Microsoft e a Sun querem seus miolos! - Parte 2

Então...


Vou retomar assunto com algumas características que eu não havia entrado no detalhe porque não era a hora ainda. Eu já havia dito que algumas vantagens da plataforma Java era o fato de ser orientada à objetos e ser executada em uma máquina virtual, sendo multiplataforma. Nessa época o Linux não tinha a evidência que tem hoje, por que ser multiplataforma era importante?

Como eu disse, a própria Microsoft sofria com as diferentes versões dos seus sistemas, por exemplo, o Windows 95, o 98 e o ME eram baseados no mesmo kernel e o espaço ocupado em disco foi crescendo a cada uma dessas versões: 55 MiB, 300 MiB e 400 MiB respectivamente. Não foi apenas o suporte a hardware e as melhorias da cada versão que causaram esse crescimento, também era necessário garantir que um software desenvolvido para rodar no Windows 95 fosse compatível as as demais versões. Além do kernel 9x a Microsoft também mantinha o kernel NT que sofreu do mesmo mal: o NT 3.51 ocupava 90 MiB, o NT 4.0 ocupava 110 MiB, o Windows 2000 ocupava 650 MiB, o Windows XP 1.5 GiB e o Windows Vista 15 GiB. Quando ao XP e ao Vista, o problema se repete mas vamos fazer justiça, em comparação com seus predecessores estas versões sofreram mais mudanças que as demais, fazendo que a diferença de tamanho seja mais pelas melhorias do que pela retrocompatibilidade. Mais detalhes sobre as comparações entre as versões do Windows podem ser vistas aqui.

A arquitetura da plataforma Java poderia ser uma resposta a esse problema, mas a plataforma era propriedade da Sun e a Microsoft não iria entregar o futuro do seu sistema nas mãos de um concorrente, nem a Sun iria deixar seu produto ser modificado a pela concorrência, a colisão foi inevitável. Tanto a Microsoft quando a Sun violaram um o espaço uma da outra, mas quando se trata de disputa de mercado, não é algo tão assombroso assim.

.NET Framework


A Sun queria fazer sua plataforma ser totalmente independente do sistema operacional, a Microsoft queria torná-lo mais próximo do Windows, as diferenças entre as empresas fez que a Microsoft abandonar Java. Mas fazia falta no uma boa plataforma orientada à objetos, mais segura e que pudesse disponibilizar aplicações independente de versão do Windows em que estivesse sendo executada, estas e outras características que o Visual Basic e outras linguagens que a Microsoft tinha em seu catálogo não ofereciam, ou pelo menos não completamente.

A resposta foi a criação do .NET Framework, que segundo a própria Microsoft é definido como:

A CLR (Common Language Runtime) está para o .NET Framework como a JVM esta para a plataforma Java. Do ponto de vista do desenvolvedor, para uma aplicação .NET o sistema operacional é o Framework (se a aplicação for construída apenas com bibliotecas .NET). O .NET Framework é independente de linguagem, na verdade funciona assim: ao se compilar um código, o compilador não gera um arquivo binário (que seria executado nativamente pelo S.O. instalado na máquina), o compilador converte o código (VB, C#, J#, Python, etc) em um Assembly na linguagem MSIL (Microsoft Intermediate Language) e este código é o código que é executado pela CLR.

Outra grande novidade que o framework trouxe, foi a linguagem C#. A linguagem foi criada por Anders Hejlsberg, seu objetivo é ser uma linguagem simples, ela trouxe para o universos das linguagens da Microsoft muitas funcionalidades das linguagens Java e Delphi, além de incorporar outras que a diferenciavam dessas linguagens.

Ruptura cultural ou "Miolos"!


Mesmo do ponto de vista do universo Microsoft, a tecnologia .NET é um novo paradigma. E como sempre, uma mudança cultural deste porte era óbvio que encontraria resistência, mesmo entre os desenvolvedores já acostumados com as ferramentas Microsoft. Por isso era preciso uma estratégia arrojada para ganhar as mentes dos desenvolvedores (viu, sempre os desenvolvedores).

A melhor forma e ganhar o mercado é capacitar o maior número possível de desenvolvedores, e torná-los capazes de atender a grande maioria das pequenas soluções que o comércio e as empresas em geral necessitam. Uma vez que este mercado esteja inundado de aplicações .NET tem-se uma fatia de mercado, o problema é que a Microsoft não tinha apenas a Sun como concorrente, aliás, neste mercado a tecnologia da Sun seria seria a menor das suas preocupações, a maior concorrente da Microsoft neste mercado é ela mesma, pois a grande maioria das soluções deste mercado foram desenvolvidas em Visual Basic 6 e até hoje há muitas delas em produção. Para isso a Microsoft tratou de adaptar o Visual Basic para o universo .NET e assim nasceu o Visual Basic .NET.

A pergunta é, quais as ferramentas a Microsoft dispõe para ganhar os desenvolvedores?

Vou me limitar a escrever sobre as ferramentas que eu julguei estarem na base dessa estratégia.

MSDN


O que falar sobre o portal da Microsoft para desenvolvedores? O MSDN (Microsoft Developers Network) é um portal onde profissionais que atuam com as tecnologias da Microsoft podem trocar informações, publicar artigos (desde programação passando por, metodologias, qualidade de software, carreira, segurança, é possível achar artigos sobre qualquer coisa relacionada as tecnologias Microsoft), divulgar eventos e muito mais, tanta coisa que fica difícil resumir isso em um parágrafo.

O importante é destacar que é muita documentação, as vezes até ficamos um pouco perdidos, mas o fato é que é possível encontrar uma dica para quase todos os problemas que no deparamos no dia-a-dia, é impossível para um desenvolvedor que use alguma ferramenta ou linguagem da Microsoft viver sem ter acessado pelo menos uma vez na vida o MSDN.

ASP.net


O portal www.asp.net é outra excelente fonte de informação. Voltado para o desenvolvimento de tecnologias web, este portal é rico em dicas e tutoriais, com destaque especial aos vídeos da série learnvisualstudio.net, é possivel aprender a construir um pequeno site apenas seguindo as 14 vídeo-aulas disponíveis neste portal. Indispensável.

Ferramentas Express Editions


Bom, todos sabem que a Microsoft é uma empresa tradicional que trata o software como um produto a ser vendido, contudo a sua principal ferramenta de desenvolvimento é o Visual Studio, e dada a qualidade deste produto, mais a quantidade de funcionalidades, seu preço não é nada convidativo. Mas como ganhar as mentes dos jovens desenvolvedores? Dos estudantes?

Para atender a este público a gigante de Redmond "mutilou" o Visual Studio (a partir da versão 2005) e criou uma versão grátis para cada linguagem que o produto principal tem suporte, desta forma nasceu a linha Express Edition: Visual Basic Express, Visual C# Express, Visual C++ Express, Visual Web Developer Express. Eu disse "mutilou", porque há funcionalidades presentes no Visual Studio que não estão nas ferramentas Express, mas não faça julgamentos precipitados, mesmo sem todas as funções do "pai" as ferramentas Express formam um poderoso conjunto de ferramentas para os desenvolvedores iniciantes.

Mas uma aplicação de verdade não é nada sem um banco de dados. O Microsoft SQL Server 2000 já possuía uma versão grátis reduzida que se chamava MSDE (Microsoft SQL Server Desktop Engine, e não, eu não esqueci de um S na sigla), contudo esta versão era muito limitada, sendo muito pouco utilizada. Com o lançamento da versão 2005 do seu banco de dados a Microsoft lançou SQL Server 2005 Express, apesar de ter algumas limitações quando comparada com a versão completa, esta versão possibilita o desenvolvimento de uma aplicação comercial, totalmente funcional, sem custo.

Aliás, é importante destacar que a licença de todas as ferramentas Express, pertmitem que os desenvolvedores que as utilizarem vender seus produtos e serviços, desde que não se este não desenvolva plugins, extenções ou qualquer coisa que modifique ou adicione funções as ferramentas Express.

Do que eu não falei?


Neste artigo me limitei a citar apenas as bases da estratégia da Microsoft, e com o foco nas edições 2005 dessas ferramentas. Junto com as edições 2008, a Microsoft inundou o mercado com outras ferramentas para atacar outros segmentos e outros concorrentes: Silverlight, Expression, PopFly, e tantas outras novas tecnologias. A Microsoft atua em tantas áreas que é impossivel fazer justiça em um humilde post de um blog.

E o Java?


Na próxima e última parte desde artigo volto para a Java.


Esta obra está licenciada sob uma Licença Creative Commons.

Creative Commons License


Interessado em aprender mais sobre o Ubuntu em português?