I tried the C++ Xaml apps a hour or two, already reported 2 bugs.
variadic template for visual c++ is the 'Duke Nukem Forever' of Microsoft, the ultimate 'vaporware'
According to brent rector, Microsoft actually tested and ensures those WinRT APIs not related to Metro UI or app model, eg. Networking APIs, to work properly in Desktop apps.
and during the Going Native Live at BUILD, the WinRT team are just focusing Metro scenarios in this release, and they are open to consider WinRT for Desktop apps after delivering this release first.
The complete developer's guide to the SkyDrive API
Deep dive into the kernel of the .NET Framework
A .NET developer's view of Windows 8 app development
Under the hood: installation and updates for Metro style apps
are they recorded ? and if so, will they be uploaded ?
some more issues:
What about the database accessing layer ?
.NET: ADO.NET is NOT there, so ???
.NET & JS: WCF Data Services + OData, WCF Ria Services
What about the web-services/Cloud accessing layer ?
in somewhat related news, Mads Torgersen gave a presentation about Async in .NET at the JVM Language Summit in July, technically no news here for us, but the talk is packed with jokes about Java/C#, especially the first 10 minutes, very funny to watch.
and he was wearing the 'save the day with C#' shirt.
A Discussion With Neal Gafter on the Future of Java
http://www.infoq.com/articles/neal-gafter-on-javaInfoQ: I'm sure you've had this question a lot of times, but it's interesting to me now that you are working for Microsoft: Obviously, the relationship between Microsoft and Sun was pretty terrible. It got better for various reasons, but to have someone working on C# and also quite actively involved in how Java shapes [up] is interesting politically if nothing else. So how does that work?
Neal Gafter: Well, it's not part of my job, really. I mean, Java has nothing to do with what I do for Microsoft. I do it because I care. I do it because I'm interested. I do it because I have a lot of friends that are involved in it. You know, it was a big part of my life for years and I care about where it goes. And there's a lot to learn from the way Microsoft does things that are valuable lessons for Java.
A lot of Java's growing pains are growing pains that C# has already gone through. A lot of the things that Java is trying to do today are things that C# wanted to do, and then did, and now does quite well. But not everything is perfect even in the C# world. I mean, there are things that we've learned. There are valuable lessons that Java could benefit from.
So there are things that I learned that I can take back to the Java world and say, for example, have you looked at what C# is doing with the asynchronous language feature? Have you looked at the way Lambda expression is working in C#?
You know, the way the concurrency mode operations work in C and LINQ, for example. I think those are all very useful lessons for the Java world.
(talking about Sun did Generics with Erasure because if they took the way of .NET, 'Sun would have a lot more work to do, and they actually didn't have the resources to do that.')Neal Gafter: At least not in that time frame. It would have taken a couple of more years or, you know, another half dozen people in order to actually make it happen the way Microsoft did it, because Microsoft has always had more engineering resources on the .NET platform than the equivalent resources in Sun Microsystems. Now, Sun Microsystems per capita probably does get some more engineering work done than Microsoft in terms of the feature points.
I think Microsoft has a much more thoroughly designed, tested, well-integrated system typically -- it's definitely more carefully reviewed, and all of the pieces of the system work together much more cleanly than is the case with the resources that Sun has been able to devote. For example, in 1.1 Sun Microsystems simultaneously added inner classes and serialization to the platform. I wasn't actually working on those. But from what I understand, those teams really treated them as independent or orthogonal features, but they're not.
They're not orthogonal features. So the interaction between them has never been very comfortable. I mean, there really are weak points at the edges between those features. And if you have more time, more resources, much more testing and review, it would have taken longer or it would have been more expensive to develop, but I think you might end up with something that's better. My experience with C# is that it's a much more solid design than Java in a lot of ways and the Generics is one example of that.
(talking about keep adding features to a language makes it complex)Neal Gafter: I think change is necessary but it has to be managed very carefully. It's more difficult in Java than it is in C#, for a number of reasons.
Number one: resource constraints.
Number two: there has not been for Java the kind of long-term planning for the language as there has for C#.
C# has a very clear -- I mean, there's Anders Hejlsberg. He's the architect for the language and the platform. He has a very strong design sense. He has a very light touch, actually, in terms of the way he collaborates with the people who work with him. But there is a long-term view of where the language should go and how. And every change that's considered is considered first with respect to whether it takes the language in that direction or whether it's just another lump on the side because someone would like it.InfoQ: I guess the other big trend that's common to the .NET platform and the Java platform is support for languages other than Java and C#. With both, it was kind of there but Microsoft emphasized it more in the beginning.
Neal Gafter: Of course, you can see that with Java. The name java.lang.Object, right?
InfoQ: Right, yes.
Neal Gafter: It's supposed to be object for all languages but that's not what was -- no one had that in mind at the very beginning.
Lets say, here are 3 developers, each has been very familiar to one of the 3, now who is in the best position to write Metro-style apps/games for Win 8 ?
1, need to learn a new 'language extension', and use a bunch of weird types in Platform:: namespace. not good.
2, need to lean a new UI markup language and a whole stack of quite complex UI API. not good.
3, can leverage DirectX and a lot of super powerful and performant libraries. good.
4, need to compile for 3 architectures and upload them all to store (I guess). not so good.
5, pure native performance. good.
1, very natual language projection to WinRT, almost nothing to learn here. good.
2, already familiar to XAML and the Avalon stack and used them for years. good.
3, no XNA (yet). not so good.
4, compile once and target all architectures. good.
5, performance on ARM is unknown.
1, no new language or markup to learn, just a library. good.
2, the idea of writing platform specific app may boggles mind. not so good.
any more thoughts ?
P.S. actually the one in the best position maybe the one with experiences in more than 1 world, right ?
Sep 17, 2011 at 2:26 PM
I think Channel 9 is a relatively small and specific community and its focus is not Windows users discussions, The scale. formation and organiziation of this Coffeehouse forums is not suitable for such a mission. Personally I dont want this forum be the place, and it actually can't.
Plus, this is DevDiv I guess