Arquivo para a categoria 'Programação'

Da falta de IDEs para .Net

Ontem ou anteontem saiu o Visual Studio 2008; hoje reparo (via Pedro Santos) na publicação dos resultados de um inquérito sobre as funcionalidades mais pedidas do MonoDevelop.

Em relação ao Visual Studio, segundo a PC World, há a dizer que está aí a um preço engraçado (no sentido que me dá vontade de rir) — 800 USD. Os upgrades sempre são mais baratos, mas ainda assim, a preços muito pouco convidativos — 550 USD. Por outro lado, existe a versão express, gratuita, mas ainda não a explorei muito mais, após perceber que teria que sobreviver sem a integração com o NUnit. Ainda assim, ainda hei-de olhar melhor para ela, já que nenhuma das restantes alternativas é perfeita também.

Em relação ao MonoDevelop, parece que as minhas necessidades andam perto das da população em geral: debugger integrado, designers, e ferramentas de refactoring. Parecem-me ir na direcção certa pelo menos, mas ainda não estão bem lá.

Ultimamente tenho passado algum tempo no SharpDevelop, que vai servindo os propósitos, mas em relação ao qual começo a conhecer cada vez melhor as limitações (sendo a mais gritante a falta de uma janela de watch!). Entretanto vou fazendo figas para que saia proximamente uma versão estável do SharpDevelop 3, ou do MonoDevelop > 1.0 (o 1.0 parece estar já muito próximo, mas o debugger ainda não vem nesta versão).

WebKit como plataforma

Não pude deixar de sorrir ao ler este artigo, onde se afirma que o iPhone tem a jogar a seu favor o facto de trazer como browser o Safari, o qual se baseia no WebKit, já que desta forma existirá bastante software já desenvolvido para Symbian que poderá ser facilmente portado (tendo em conta que as últimas versões do S60 trazem o Nokia Browser, também baseado em WebKit). O inverso também deve ser verdade, as aplicações Web que sejam desenvolvidas para o iPhone também devem facilmente funcionar em Symbian.

Curiosamente, ao contrário do iPhone, há vários SDKs em Symbian, sendo o browser apenas mais uma hipótese. O software que entra nesta última categoria é uma gota no oceano de todo o software que existe para Symbian, por isso, ao apontar o Safari como *o* SDK do iPhone, acho, tristemente, que só conseguirão com que o software existente para iPhone seja sempre um sub-grupo reduzido do que existe para Symbian.

Desenvolvimento Ágil de Software

Vai brevemente ter lugar na FEUP um curso de Desenvolvimento Ágil de Software (28 horas lectivas). Do que conheço dos formadores e do tema, recomendo em absoluto!

Safari nas janelas

Surpreendemente, a Apple lançou o Safari para Windows.

Interrogo-me se também funcionará em Linux, via Wine :)

Sempre é mais um com que passo a testar os sítios Web que me saiam das mãos.

Espiritualmente fluindo…

Ao ler um artigo do Duarte Grilo fui dar à descrição na wikipedia do que se entende por flow, no contexto da psicologia. Achei piada à relação que estabelecem com a espiritualidade.

Flow is the mental state of operation in which the person is fully immersed in what he or she is doing, characterized by a feeling of energized focus, full involvement, and success in the process of the activity.
[…]
For millennia, practitioners of Eastern religions such as Buddhism and Taoism have honed the discipline of overcoming the duality of self and object as a central feature of spiritual development. Eastern spiritual practitioners have developed a very thorough and holistic set of theories around overcoming duality of self and object, tested and refined through spiritual practice instead of the systematic rigor and controls of modern science.
[…]
In education, there is the concept of overlearning which seems to be an important factor in this technique, in that Csikszentmihalyi states in his book Flow: The Psychology of Optimal Experience that overlearning enables the mind to concentrate on visualizing the desired performance as a singular, integrated action instead of a set of actions.
[…]
The concept of “being in the zone” during an athletic performance fits within Csikszentmihalyi’s description of the Flow experience, and theories and applications of “being in the zone” and its relationship with athletic competitive advantage are topics studied in the field of sport psychology.

Os únicos momentos em que me senti neste estado foi ao programar, mas nunca tinha pensado na possibilidade de se passar pelo mesmo com outro tipo de actividade (o que aliás, faz todo o sentido).

Adaptive Object Models

Ontem assisti na FEUP a uma apresentação muito interessante com o tema Adaptive Object Models (AOM), feita pela autoridade neste assunto, Joseph Yoder. Cinco estrelas.

Catástrofes…

Garanto que isto nada tem a ver com manipulação de imagens, ou não tivesse visto eu próprio a mensagem a surgir.

Catastrophic failure

Desenvolver tendo em atenção versões antigas dos browsers

Sempre que faço um sítio Web fico com a sensação de que o devia testar com mais browsers além das últimas versões do IE e FF que tenha instaladas.

Inspirado de uns artigos antigos ([1] [2]) do Sérgio Carvalho resolvi fazer umas pesquisas e encontrei o que se segue.

O IE fica coberto (apesar que não estou a ver qual o interesse de experimentar os sítios Web de hoje com o IE 3 :), ficam a faltar as várias versões do FF (1.0, 1.5 e 2.0 – que parece também serem possíveis de ter, mas ainda não experimentei) e os restantes browsers (nomeadamente o Opera), com os quais ainda não me vou preocupar.

Ainda em relação ao IE, também há uma solução da microsoft, mas não me pareceu que valesse o trabalho.

Custo, tempo, qualidade e âmbito

Excerto do livro eXtreme Programming Explained, do Kent Beck, sobre as quatro principais variáveis de controlo num projecto:

Cost — More money can grease the skids a little, but too much money too soon creates more problems than it solves. On the other hand, give a project too little money and it won’t be able to solve the customer’s business problem.


Time — More time to deliver can improve quality and increase scope. Since feedback from systems in production is vastly higher quality than any other kind of feedback, giving a project too much time will hurt it. Give a project too little time and quality suffers, with scope, time, and cost not far behind.


Quality — Quality is terrible as a control variable. You can make very short-term gains (days or weeks) by deliberately sacrificing quality, but the cost—human, business, and technical—is enormous.


Scope — Less scope makes it possible to deliver better quality (as long as the customer’s business problem is still solved). It also lets you deliver sooner or cheaper.


There is not a simple relationship between the four variables. For example, you can’t just get software faster by spending more money. As the saying goes, “Nine women cannot make a baby in one month.” (And contrary to what I’ve heard from some managers, eighteen women still can’t make a baby in one month.)

Eu diria que é nada mais que senso comum, mas quando dito de uma forma tão simples e clara aproxima-se de genial!

pt-itconferences

Comecei a ficar ficar farto de colocar aqui como artigo todos os eventos relacionados com informática de que vou tendo conhecimento, de forma que criei um grupo para esse fim.

Os interessados podem inscrever-se livremente ou simplesmente subscrever a respectiva feed.