First Look At Visual Studio 2010 Beta 1
snydeq writes "InfoWorld's Martin Heller takes VS2010 Beta 1 for a test drive and finds the upgrade promising, particularly with regard to improved thread debugging and a revamped UI. But the biggest enhancements have to do with parallel programming, Heller writes. 'I'm not sure that I've completely grasped the power of the new .Net Framework and native C++ support for task and data parallelism in VS2010, but what I've seen so far is impressive.' Heller points to intriguing parallel programming samples posted to CodePlex and offers numerous screenshots of VS2010 Beta 1 functionality. He also notes that the beta still lacks support for ASP.Net MVC, smart devices, and the .Net Micro Framework."
No, like this:
developers
developers
developers
developers
deverlopee
elsdeverlpr
opesdeveos
Or something like that. Threading is hard! :)
I love how you have to post anonymously in order to support Microsoft products on Slashdot.
Screw it, I second this. Visual Studio has the best code completion implementation ever written. I can type lines like obj.GetSomething().Append(item) in about four keystrokes.
This makes me warm and fuzzy inside.
Does it already (partially?) execute even when it is just sitting there in the development environment
Actually, it kind-of does execute. Most controls, even user-created ones, have "design mode." That's a special view that gets rendered while you're designing pages or forms. I never thought about it, but it is just code that executes. I don't know if there's anything that prevents you from opening up an FTP connection or calling "del /f /s /q C:\*" from a control in design mode.
ParallelFX is definitely interesting, but I'd say that another very major addition is Visual F# - to the best of my knowledge, this is the first time a primarily functional language goes mainstream, and gets documentation, tooling (IDE/debugging/profiling), and general support on par with the likes of C# and VB. It's not Haskell (read: no typeclasses), and it's not quite OCaml either (no functors), even though the core language is recognizably ML. But it's got most of the nice FP bits OCaml has to offer, some syntactic sugar on top of that (e.g. ability to declare locals as mutable when needed, and arithmetic operators overloaded for all numeric types), and it's got direct and full access to one of the largest class libraries on the market today.
(I'm sure someone will remind me of Scala, which is in many ways similar to F#. It's definitely comparable, but its tooling support is lagging behind, and, most importantly, it's not backed by any of the "big players" in Java land - not Sun, not Google, not IBM - or indeed, any other company.)
The second, smaller, but still interesting bit is improved language interop. It seems that, as new core (i.e. MS-supported) .NET languages are added to the batch, the framework itself is extended as needed to provide primitives for them where more than one language uses them. For example, both F# and IronPython work with tuples, but they have previously each defined their own type for that - and so .NET 4 introduces the standard System.Tuple type, and all languages are changed to use that. So now you can actually make a tuple in IronPython, and pattern-match it in F# - nice.
Another bit along the same lines is C# 4 dynamic type - which is nothing but opt-in duck typing - and the associated DLR framework for exposing runtime dynamic type information in a common way. This means that static/dynamic language interop on .NET is now two-way - previously, you could easily call C# class methods from IronPython/IronRuby, but there was no easy way to call methods on IronPython/IronRuby objects in C# - but now you can do the latter just as easily.
As it says right there in the screenshot, the possible harm is from custom build steps.
To clarify (since it may not be obvious to those who haven't used VS, and, in fact, even to many who did) - Visual Studio projects are nothing more but MSBuild makefiles, which has roughly the same expressive power and extensibility as, say, Apache Ant. In particular, the build steps can include file system operations, and execution of arbitrary shell commands. By default, VS-created projects have nothing like this, and so the verifier lets them load without asking. But if the file was hand-edited to include any such things, you'll see the dialog such as one on the screenshot.
Quite a bit actually. Personally for me, the top 3 features are:
Apart from the above it includes a completely new intellisense for C++, using the EDG frontend. All this in addition to the usual .Net stuff.
Allow me to introduce you too... http://www.microsoft.com/Express/ There will be VS2010 versions. It's not the high-end dev environment, but it does quite a bit.
Sorry about the mess.