Monthly Archive for agosto 2006

Generics para Win32 no Highlander?

Generics para Win32 é certamente a novidade que eu mais gostaria de ver no Delphi. Meu voto já está QC#11168 há muito tempo.

Hoje li essa mensagem do Peter Below (membro do TeamB) respondendo uma dúvida de outro usuário no newsgroup da Borland:

You will have to wait for the next Delphi version, which is supposed to have true generics, not only for .NET 2.0 but also for Win32.

A próxima versão do Delphi que ele menciona é o Highlander, que deve chegar no início do ano que vem.

Essa mensagem não garante que teremos generics para Win32 no Highander, mas aumenta muito as chances, visto que até o momento eu não tinha lido nada que indicasse que isso aconteceria.

E um comentário vindo do Peter Below, que é certamente um dos maiores contribuidores no news da Borland, tem muito peso.

Ajude a melhorar o Delphi

Conforme vamos conhecendo outras linguagens sempre encontramos coisas legais que podem ser incorporadas ao Delphi.

Já comentei aqui de outros recursos do Chrome e vou comentar mais um que acho bem prático.

Eu escrevo muito código parecido com esse dentro de funções:

if (algumacoisa) then
begin
  Result := True;
  Exit;
end;

Em Chrome, o Exit suporta um parâmetro de retorno, que é sempre do mesmo tipo de retorno da função, então eu não preciso atribuir o valor de retorno ao Result e depois chamar Exit. Eu simplesmente chamo o Exit passando o valor de retorno. Assim:

if (algumacoisa) then
  Exit(True);

Prático, não? Pois é. Felizmente alguém já fez a solicitação para incluirem exatamente esse recurso no Delphi. Veja aqui no QC#7201.

Toda essa introdução foi para justificar o título deste post. O QC da Borland permite que você vote nos principais recursos que gostaria de ver no Delphi. Eu por exemplo já deixei meu voto nesse ai e em vários outros.

Vocês tem que participar, tem que agitar as coisas por lá, sugerindo, comentando, votando. Para que o pessoal saiba direcionar melhor o produto de acordo com as nossas necessidades.

No futuro quero dedicar uma reunião do DUG Campinas para mostrar o QC em detalhes e estimular o pessoal a participar. Mas você já pode começar participando desde já.

Gostou desse recurso que mostrei do Chrome? Vá no QC e coloque seu voto nele, para que apareça bem colocado na lista de recursos sugeridos e seja implementado o quanto antes pela DevCo.

Ruby vai tomar o lugar do Delphi?

Comentei sobre Ruby aqui pela primeira vez há quase um ano atrás. Naquela época ele já estava ficando bem popular, mas agora tá um absurdo. Parece que o mundo vai acabar em Ruby. Certamente que grande parte, senão todo, mérito desse sucesso é do Rails, que é o framework web feito em Ruby.

Mas duas coisas me chamaram atenção nos últimos dias. O David I disse que a DevCo deve lançar uma IDE Turbo para uma linguagem de script que está muito popular ultimamente. Alguém chuta qual é? :)

Outra coisa é que o TIOBE, acha que o Ruby vai tomar o lugar do Delphi entre as 10 linguagens mais populares. Veja aqui o último índice de popularidade das linguagens publicadas por eles e os comentários.

Há dois anos atrás eu falei sobre este mesmo índice, e naquela época o Delphi ainda estava acima do C#. Hoje o Delphi está em 9o. (subindo 1 posição em um ano), o C# em 8o. (caindo 1 posição) e o Ruby em 13o., subindo absurdas 15 posições! :)

Eu acabei me distanciando do Ruby, o projeto que ia fazer com ele em web acabei conseguindo converter para 3 camadas em Delphi Win32 mesmo, então não tenho nem brincado com Ruby ultimamente. Mas não duvido que volte a ele em breve.

Se você ainda não conhece mas tá curioso, em outubro será realizado um evento em SP sobre Ruby on Rails. Se eu estiver tranquilo nesta data, até darei uma passada por lá.

Borcon Brasil - 18 a 20 de outubro

Estão disponíveis os detalhes da Borcon deste ano. Novamente ela será dividida em Developer e Manager, com palestras voltadas para desenvolvedores e gerentes respectivamente.

Aparentemente ela ainda vai levar o nome Borland esse ano, apesar de que em outubro a DevCo já deve estar mais separada da Borland, com nome novo, etc.

O local vai ser o mesmo do ano passado, Centro de Convenções Rebouças, que é bem legal.

A grade de palestras ainda não saiu. Eu mandei as minhas propostas, vamos ver se esse ano eu entro. De qualquer forma, estarei lá com certeza.

Curso de Firebird da Firebase

A Firebase está abrindo mais uma turma para o curso de Firebird, que é realizado na UNIMEP em Piracicaba.

Se você trabalha com o banco ou apenas gostaria de conhecer melhor, é uma ótima oportunidade, pois o instrutor do curso, Carlos H. Cantu, é certamente uma das principais feras no assunto no mundo.

E tem mais, você leva o livro Firebird Essencial, que é o material utilizado no curso.

Hello World Benchmark

O Hélder Rodrigues indicou esta página interessante que compara o clássico “Hello World” em várias linguagens (inclusive Delphi e Ruby), mostrando a velocidade de cada uma, a quantidade de linhas e outros detalhes.

Queries dinâmicas no servidor DataSnap

O Daniel Maltarolli fez um post interessante sobre queries dinâmicas montadas no servidor.

Isso é algo que preciso melhorar nos meus aplicativos. Ainda estou em processo de migração deles para 3 camadas, e a dica dele certamente será útil.

Valeu Daniel! Continue postando sobre 3 camadas que me interessa muito!

Desenvolvedores de Software Cegos

Alguns dias atrás tomei conhecimento de que existem programadores cegos. Isso mesmo. Eu nunca imaginei que existissem programadores cegos, achei que seria impossível alguém com falta de visão desenvolver software da mesma forma que fazemos. Montar interfaces com usuário e tudo mais.

Felizmente eu estava errado! E descobri isso pelo blog do Marco. Um programador Delphi cego. Em seu blog ele conta como faz para programar. Neste post por exemplo, ele conta que usa um display braille conectado por USB em sua máquina, e um leitor sonoro de tela, que lê pra ele tudo o que esta na tela. Neste outro post, ele explica como posiciona os componentes no form.

Fiquei impressionado e feliz ao mesmo tempo, em ver que muitas “limitações” só limitam quem as encara dessa forma. Show de bola Marco!

Bluetooth Framework para Delphi

Se você vem procurando uma forma de manipular comunicação via Bluetooth com celulares e outros dispositivos pelo seu app Delphi, acho que as coisas ficaram mais simples. Conheça o Bluetooth Framework, com versões VCL e ActiveX.

DUG Campinas

Acaba de nascer mais um DUG no Brasil. Eu e o Leonel Togniolli estamos iniciando o DUG Campinas, grupo de usuários Delphi da região de Campinas.

Detalhe: eu sou de Americana e ele de Rio Claro. :) Escolhemos Campinas para o DUG pois é a principal cidade da região, e não faria muito sentido criar DUG em Americana ou Rio Claro. O DUG Campinas vai atingir todas essas cidades.

Em Campinas também temos pelo menos dois centros de treinamentos oficiais da Borland e é suficientemente longe de São Paulo para não justificar centralizar na capital.

O objetivo do grupo é realizar pequenas reuniões totalmente gratuitas e periódicas, se possível mensais, para troca de informações entre os membros. Reuniões com 2 ou 3h de duração durante a semana a noite, ou aos sábados. Alias, já existe uma enquete no site do DUG sobre isso.

Em cada reunião procuraremos trazer um assunto novo e qualquer um poderá fazer apresentações. Tudo de forma bem informal, praticamente um bate papo.

Já damos o pontapé inicial com duas empresas apoiando: Borland, que está fazendo contatos em Campinas para conseguirmos o local para os encontros e Cadena (minha empresa) que está bancando a hospedagem.

Gostou da idéia e está próximo de Campinas? Entre no site agora e faça seu cadastro para ficar informado sobre as atividades do DUG e participar:

http://www.dugcampinas.com.br

Gostou da idéia e está bem longe de Campinas? Por que você mesmo não inicia um grupo na sua região?

Jazz SDK

Meu amigo Cesar Romero voltou a blogar e apresenta para a comunidade seu novo projeto, o Jazz SDK. É um projeto ambicioso para Delphi Win32, cuja proposta é possibilitar o desenvolvimento de aplicativos utilizando uma abordagem 100% orientada a objetos.

A boa notícia é que ele pretende fornecer cursos, consultoria e suporte para os desenvolvedores e empresas interessadas em adotar o framework.

Brasil primeiro lugar na Imagine Cup

Roberto e Eduardo Sonnino, filhos do nosso amigo Bruno Sonnino, grande figura da comunidade Delphi, ganharam primeiro lugar na categoria “interface design” na Imagine Cup da Microsoft.

A final foi realizada na Índia e os garotos foram lá mostrar que o Brasil tem muito potencial nessa área. Parabéns aos garotos e ao pai coruja, que imagino não estar se cabendo de orgulho.

A outra equipe brasileira que também foi pras finais na Índia, pegou segundo lugar na categoria “software design”. Brasil dominando!

Mais info na Info.

Tem também um video no YouTube em que eles explicam um pouco o projeto.

Migrando Win32 para .NET com RemObjects Hydra

A RemObjects está trabalhando na versão 3 do seu framework de plugins e a principal novidade é a integração absurdamente fácil de módulos Win32 e .NET. Você pode por exemplo, desenvolver módulos do seu aplicativo em .NET e usá-los sem nenhum esforço nos aplicativos Win32. E isso funciona inclusive para componentes visuais!

Se você não tem idéia do que estou falando, dê uma olhada neste aplicativo Delphi Win32:

Tá vendo esse ListBox, o Edit e o botão Add? Então, eles são componentes WinForms .NET, desenvolvidos em Chrome usando Visual Studio. Mas poderia ser Delphi .NET usando BDS mesmo, C# ou até VB.NET. Detalhe, eles estão dentro de um TForm comum, da VCL Win32 do Delphi.

Show de bola, não? Então dê uma olhada neste artigo da RemObjects que explica melhor como isso é possível. Pra quem deseja migrar os aplicativos para .NET aos poucos, o Hydra 3 parece ser uma ótima solução.

Logando DataSets no SmartInspect

Alguns dias atrás comentei que estou usando o SmartInspect para log e auxílio ao debug dos meus aplicativos.

Um dos recursos mais poderosos na minha opinião é o recurso de logar DataSets. Ele permite logar, a qualquer momento, DataSets inteiros. Ele tira um retrato do DataSet e você pode visualizar a situação exata do DataSet e todos seus registros no momento em que foi logado.

Esse recurso é muito útil quando trabalhamos com processamentos que envolvem DataSets ocultos. Quantas vezes já não quisemos ter um grid ligado a um DataSet oculto para termos certeza que ele está da forma que esperamos que esteja?

Para logar um DataSet, é bem simples. Uma linha de código:

SiMain.LogDataSet('BioLife ao criar o form', Table1);

E já posso ver no SI Console:

Como fica o BDS com a chegada dos Turbos

As versões Turbo serão versões com apenas uma linguagem suportando apenas uma plataforma (Win32 ou .NET). Serão versões de custo mais baixo e terão os mesmos recursos da atual versão Professional do Borland Developer Studio.

É o fim do BDS? De forma alguma! Quem precisa dos recursos das versões Enterprise e Architect do BDS continuará no BDS. Quem precisa de mais de uma linguagem ou plataforma, também vai ter que ficar no BDS, pois outro detalhe importante é que você não poderá ter mais de uma versão Turbo na mesma máquina, ou seja, se você precisa do Turbo Delphi Win32 e do Turbo Delphi .NET, vai ter que comprar o BDS, que já suporta todas as linguagens e plataformas na mesma IDE.

A verdade é que 90% (meu chute) dos usuários tem tudo o que precisa nas versões Pro, por isso os Turbos são tão bem-vindos. Quem precisa dos recursos Enterprise e Architect, vai ter que desembolsar um pouco mais mesmo.

Turbo Delphi daqui a 28 dias?

Caixa Turbo DelphiPoucas horas após meu post anterior, o site www.turboexplorer.com está no ar. Ele mostra uma contagem regressiva para as versões Turbo, que neste momento mostra 28 dias e 7 horas.

Minha primeira impressão com o site é de que a DevCo deve contratar urgente uma nova equipe de designers. O site certamente deixou a desejar e sinceramente, não passa uma boa imagem para os produtos. Olhando as páginas dos produtos, vemos que a maioria dos links nem está funcionando e as fontes estão mal formatadas, o que mostra que é algo que certamente não está pronto.

Se olharmos com mais detalhe na página do Turbo Delphi para .Net, vemos que ele ainda vai suportar .NET 1.1, e que não tem nada de novo se comparado ao BDS 2006, o que nos leva a crer que a primeira versão das ferramentas Turbo será idêntica ao BDS 2006, mas com apenas uma linguagem/plataforma.

Apesar de ser um pouco frustrante, ainda assim é uma boa notícia para quem usa apenas uma das personalidades do 2006. Na minha empresa por exemplo, onde 99% do código é D7 Win32 ainda e sem previsão de migrar para .NET. Seria muito mais interessante fazer um upgrade para o Turbo Delphi Win32 do que para o BDS 2006.

Update: Eles estão melhorando o site aos poucos. Neste momento já está bem melhorzinho. :)

Vem aí o Turbo Delphi!

Novas e interessantes notícias foram divulgadas hoje sobre o futuro das ferramentas da Borland. Neste artigo, a DevCo* revela que trará de volta o nome “Turbo” em seus produtos. Teremos o Turbo Delphi para Win32, Turbo Delphi para .Net, Turbo C++ e Turbo C#. Cada uma delas terá uma versão gratuita e com algumas limitações, denominada Explorer Edition e uma versão Professional, que deve custar menos de US$500.

Com isso teremos IDEs de preço mais baixo, e com apenas uma linguagem, para quem não precisa de todas as linguagens que o BDS suporta. Eu por exemplo, nunca usei o C# ou o C++, pra que vou querer isso na minha IDE?

Divulgaram também que existirão versões educacionais da versão Professional por menos de US$100.

Onde obter mais informações? O site www.turboexplorer.com em breve deve ter novidades.

*nome temporário da nova empresa que ficará com as IDEs da Borland.