Voltemos no tempo. 2002! using System; namespace Foo { class Program { static void Main(string[] args) { Point3F p = new Point3F(2, 3, 4); Console.WriteLine(“The Point is ” + p.ToString()); } } public struct Point3F { public Point3F(float x, float y, float z) { _x = x; _y = y; _z = z; } private […]
“Default Implementations” em interfaces no C#. Novidade bem-vinda ou erro da Microsoft?
Uma das features mais polêmicas do C# 8 é, sem dúvidas, a possibilidade de incluirmos implementações padrões para métodos em interfaces. Há quem tenha gostado da novidade. Há quem entenda que a Microsoft cometeu um grande erro. Essa funcionalidade já existe em outras linguagens, como Java há algum tempo e, nessa linguagem, nos parece que ela […]
Criando dashboards com dados do Azure DevOps no Power BI, usando Data Connector
Azure DevOps e Power BI são ótimos separados. Entretanto, juntos, são imbatíveis! Azure DevOps oferece, nativamente, o necessário para a criação de ótimos dashboards para a gestão. Há widgets prontos para aferir métricas de fluxo, como lead time e cycle time, comumente utilizados em Kanban. Também há indicadores de Scrum, como sprint burndown e sprint […]
Microsoft Teams e o Fluid Framework estão chegando no Linux. Por que isso é importante?
A Microsoft anunciou que o Microsoft Teams, sua ferramenta de colaboração, agora funciona nativamente no Linux. Além disso, promete uma revolução na forma como pessoas e aplicativos colaboram através do Fluid Framework. O Teams é o primeiro produto da linha Office a funcionar nativamente no Linux. Isso confirma o novo posicionamento da companhia cada vez […]
Os 3 pilares do ALM
Dave West foi muito feliz em 2010 quando conceituou os 3 pilares de uma solução de ALM: Rastreabilidade, Visibilidade e Automação. Aspectos que hoje consideramos essenciais para que empresas possam caminhar em direção a agilidade, preservando aspectos importantes de governança. Rastreabilidade Deve ser possível rastrear com pouco esforço todo o caminho de um código até […]
Como C# está tentando superar um equívoco de (muito mais que) um bilhão de dólares
Tony Hoare, em uma palestra na Qcon 2009 de Londres, reconheceu ter cometido um grande equívoco, há mais de 50 anos, projetando a capacidade de variáveis, de um determinado tipo, terem valor nulo, e, ao serem “desreferenciadas”, gerarem um valor especial indicando essa nulidade. Em C#, esse valor especial é null. I call it my […]
C# está ficando cada vez mais poderosa … e isso pode ser um problema!
Já foi possível aprender C# em poucas horas. Esse tempo passou! A especificação da linguagem tem ficado cada vez maior e novas features continuam sendo adicionadas rotineiramente. Se, por um lado, a linguagem está cada vez mais relevante, de outro, atingimos um ponto em que são raros os programadores que conhecem C# plenamente e, mesmo […]
Pro .NET Memory Management
Pro .NET Memory Management by Konrad Kokoza is one of the most comprehensive references written outside of Microsoft on how memory management in .NET works. The book also teaches what actions should be taken to ensure that our systems function at best performance, considering both how memory allocation happens and the impacts of Garbage Collector.
Azure DevOps é expressão da evolução da Microsoft e do ecossistema .NET
As melhorias do Azure DevOps em comparação ao TFS e ao VSTS são incontestáveis. Esta evolução não aconteceu apenas pelas novas features ou pela nova interface, mas, principalmente, pelos avanços no ecossistema de desenvolvimento da Microsoft e no posicionamento da companhia. Any language, any platform, any cloud – Jamie Cool Se, no passado, as soluções […]
Pro .NET Benchmarking
O primeiro passo para melhorar a performance de uma aplicação é realizar medições confiáveis da condição atual. Com elas, podemos confrontar com os resultados obtidos depois de realizadas modificações. O livro Pro .NET Benchmarking, de Andrey Akinshin é uma das melhores referências, para .NET, sobre como realizar essa atividade. O autor do livro é […]