EPx professional blog and repository for braindumps

2009/05/30

Q.E.D.

Se deu até no Slashdot, o reduto dos nove-noves...

Harsh Words From Google On Linux Development [slashdot.org]

"Google Chrome developer and former Firefox lead Ben Goodger has some problems with the platform though. His complaints range from the lack of a standardised UI toolkit, inconsistencies across applications, the lack of a unified and comprehensive HIG, to GTK not being a very compelling toolkit. With Adobe getting twitchy about the glibc fork and previously describing the various audio systems as welcome to the jungle, is it time to concentrate on consolidation and standardisation in GNU/Linux in general, and the desktop in particular?"

Referências do artigo:

Serving Two Master Libraries [blogs.adobe.com]

Welcome to the Jungle [blogs.adobe.com]

Hands on: Google Chromium browser alpha for Linux [arstechnica.com]

2009/05/25

O que abunda não desagrada

Esses tempos tava em moda uma nova palavrinha do jargão corporate: overqualification, como o novo grande problema do mercado de trabalho. Até revistas femininas estavam mencionando isto como fator de desemprego. (Mais um motivo pelo qual eu leio revistas femininas: quando alguma "onda" chega lá, é porque realmente está na boca do povo.)

Fora a possibilidade de fornecer uma desculpa auto-congratulatória para não ser aceito num emprego ("sou overqualified"), até que ponto este problema realmente existe? Outra pergunta, de ordem um pouco mais teórica: existe alguma possibilidade de que um excesso de educação possa ser um problema?

Isso me lembra uma história de faculdade do meu pai. Na época (1975) quase não havia faculdades, mas estavam começando a despontar uma aqui, outra ali. A sala foi instruída a debater o tema: o que acontece se grandes fatias da população fossem estudar e conseguissem ter diploma de 3o grau? (Isso a longo prazo, já que em 1975 o desafio ainda era o analfabetismo.)

A resposta de alguns alunos foi a esperada: "Se todo mundo fizer faculdade, vai faltar gente pra cavar valeta, ou vai ter de por universitário pra cavar valeta".

Ao que o professor (acho que era um capitão do Exército) respondeu: é bom que assim seja. Uma valeta cavada direito, com boa drenagem é coisa muito importante, pode até salvar vidas. Colocando universitário pra cavar valeta, a gente tem certeza que vão esticar um fio para ela ficar reta, que vão usar uma baliza para ela ter profundidade e largura regulares.

A única possível falha no argumento do professor é seu otimismo quanto à esperteza dos universitários (pois equipara educação a inteligência, que têm correlação mas não é perfeita). Fora isso, faço minhas estas palavras.

2009/05/23

Gnome, KDE e o trem da história (tomo 2 de 2 alpha 1)

Apesar de esconder o Qt do desenvolvedor, o KDE contribuiu com o Qt com duas coisas: deu visibilidade ao mesmo por conta da polêmica GNU/chata, e disponibilizou à Trolltech um corpo de desenvolvedores que conheciam Qt a fundo e usavam-no até o limite. Através da contratação destes desenvolvedores, provavelmente a Trolltech foi a maior patrocinadora indireta do KDE.

Silenciosamente, o Qt foi melhorando ao longo destes muitos anos, tornando-se uma biblioteca de fundação realmente completa, e o mais importante, portável para quem interessa: Mac OS X, Linux, Windows e celulares Nokia Série 60. A versão atual possui até WebKit embutido, scriptabilidade em Javascript, e renderização OpenGL opcional.

Outra inovação recente do Qt foi o sistema de plug-ins, que abre caminho a aquilo que o povo do KDE deveria ter feito desde o início e não fez: escrever extensões universais para o Qt, que aproveitam a todo o "ecossistema" (*), e não criar APIs novas não portáveis que nunca vão ser vistas pelo grande público.

(*) Eu odeio esta expressão, Sou nove-nove o suficiente ainda para preferir "comunidade".

Falando em coisas do KDE, uma idéia aparentemente risível do KDE virou um componente legítimo do Qt: o Phonon. Aprenderam como é que se faz, talvez um pouco tarde...

No Linux, o Gnome/GTK+ continua sendo o padrão, pelos fatores abordados tomo 1 desta história de cordel. No entanto, seu domínio restringe-se ao Linux. Até existe GTK+ para outras plataformas, mas são builds extra-oficiais, feitos por gente corajosa mas que desgostar de sadomasoquismo a qualquer momento. E GTK+ é apenas uma peça das muitas necessárias para se fazer um aplicativo GUI. Um GTK+ portável não é suficiente para desenvolver aplicações portáveis. O Qt é.

Na minha visão, a portabilidade é um dos dois grandes motivos pelo qual o Qt vencerá o GTK+ na arena Linux. Não que isso seja uma grande vitória do ponto de vista do Qt, já que o mundo desktop continua 95% Windows e 5% Macintosh.

Mas é uma grande vitória para quem desenvolve software livre, pois hoje é praticamente de rigueur escrever software livre portável de forma que atinja grandes audiências. As grandes vitórias do software livre têm sido acima da linha do kernel.. (Abaixo da linha do kernel, o Linux tem demonstrado ser imbatível como hóspede de máquina virtual e SO de sistemas embarcados -- grandes vitórias, mas certamente não aquelas que esperávamos.)

Voltando ao assunto, ver o Qt tornar-se um padrão para escrever software livre no Linux (que é onde estão os desenvolvedores SL), será uma bênção pois disponibiliza-o imediatamente para outras plataformas -- que é onde estão os usuários.

Portabilidade hoje não é só fazer funcionar no Windows. Tem Windows CE, celulares... São plataformas com populações numerosíssimas, que não podem mais ser ignoradas. (As que eu citei, são suportadas pelo Qt.)

O outro motivo pelo qual eu vejo o GTK+ em declínio, é sua exaustão pura e simples. A exaustão tem ou vai ter diversas causas. Excentricidades como o GObject vão tornar-se mais e mais risíveis conforme o mundo do software evolui. A dificuldade de incorporar novidades de forma racional. Quiçá o abandono em favor do Mono...

E o GNOME? Na minha visão, as peças do GNOME, ou que nasceram sob os auspícios do GNOME e que hoje fazem parte do FreeDesktop, têm grande chance de sobreviverem ao GTK+, pois tornar-se-ão os "equivalentes Linux" dos componentes encontráveis em outros desktops.

Por exemplo, o D-BUS é excelente. Talvez não faça sentido portá-lo para Windows ou Mac, que já têm seus próprios mecanismos de IPC e RMI, mas no Linux ele cumpre um papel essencial. Também simpatizo com o HAL, o Avahi e o Bluez, pois fazem bem o que prometem.

Eu diria o mesmo do GStreamer, exceto que ainda não vi os plugins GStreamer "pegarem" da forma que as DLLs de codecs do Windows pegaram. Mas cá pra nós, codecs de áudio e vídeo ainda são um saco de gatos em todos os sistemas. A prova é o sucesso do VLC no Mac e no próprio Windows -- sem falar no MPlayer. (Tentei converter um vídeo esses dias e não fui capaz de fazê-lo nem no Mac nem no Windows. Foi o mencoder do MPlayer que me salvou, no fim de tudo!)

Uma tecnologia GNOME que não está no Freedesktop mas eu aprecio, é o GConf. Acho-o tão simpático quanto o esquema do Mac OS X, e claramente superior ao Registry do Windows. Gostaria de vê-lo sobreviver.

Talvez o GNOME até mesmo sobreviva enquanto "gerenciador de janelas", já que sempre será necessário possuir um, e o GNOME não discriminar contra aplicativos não-GTK. Apesar da feiúra do GNOME, tem conseguido ser o menos pior dentre os ambientes gráficos, por simples, equilibrado, e não ficar no caminho. Naturalmente, ambientes especializados como netbooks ou tablets poderão usar outros gerenciadores de janelas.