Bindings, Platforms, and Innovation
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
Tracking change and innovation in the enterprise software development community
Posted by Jonathan Allen on Aug 25, 2008 06:50 AM
Though less than a month old, the bug reports against .NET 3.5 SP 1 are starting to pile up. While bugs are an inevitable part of any release, the way a company responds to them varies greatly. Microsoft's .NET division generally requires users to call product support for specific hot fixes, with widely available service packs only shipped once a year or two.
For users with previously working programs, it takes a lot of effort just to figure out that Microsoft, rather than the vendor, is the culprit. And once that is established, one still has to figure out which KB article references the needed hot fix. If the user and/or the developers do not figure it out right away, countless man-hours can be wasted.
Below is a list of the verified issues that we know about:
Serialization
When a generic class implements ISerializable and has a static delegate member that makes use of the generic type arguments, binary deserialization hangs (on a 32-bit system with Windows Server 2003) or throws an OutOfMemoryException (on a 64-bit system with Windows Server 2008).
WinForms
In some circumstances a user can drag toolstrips from one MDI child Form to another. Imagine clicking a button on one document and having an entirely different one react.
Reflection
ExecutionEngineException with ParameterInfo.GetOptionalCustomModifiers and GetRequiredCustomModifiers on 3.5 SP1. This bug in the pair of methods is affecting the popular framework, Rhino Mocks.
WPF
.NET 3.5 SP1 breaks use of WPF under IIS. Seems some people have been using WPF to generate images in real time for web sites. Unfortunately, WPF no longer seems to work under IIS.
Type Checking
Under certain circumstances, a class that works under 3.5 will not pass PEVerify when run under 3.5 SP1. Essentially this means you will get a type load exception if you try to use the class at runtime.
Numerics
Spurious "The operation overflows at compile time in checked mode" This is a bug in the new Semantic Error Checker for C#. It is triggered when subtracting 2 from ulong.MaxValue.
This topic has gained some attention within MS too, naturally. I understand they are currently sorting out their options for distribution of bug fixes, and I would not automatically assume they cannot do anything beyond non-redistributable hotfixes.
We reported two of those bugs (Serialization and Reflection), and the latter one can hit users of products built by 3rd parties using our mixin framework. This is not funny, and I believe MS understands that hotfixes are not really a satisfying answer for such a scenario.
Anyone who wants to be up to date might want to subscribe to our team blog.
MS is trying to do too much now, they're spreading themselves thin on so many things, from entity framework to dynamic data, so everything suffers. And this is just one of the symptoms. They really need to cut down on the extra features in the next version, and only enhance existing things and fix bugs, and not go much farther, else these bugs will be the least of our worries.
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.
This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.
This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.
This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.
After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.
IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.
Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.
2 comments
Watch Thread Reply