Forgot your password?
typodupeerror
Microsoft

First Look At Visual Studio 2010 Beta 1 236

Posted by ScuttleMonkey
from the you-mean-there-are-people-who-don't-use-vi? dept.
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."
This discussion has been archived. No new comments can be posted.

First Look At Visual Studio 2010 Beta 1

Comments Filter:
  • Re:Yay! (Score:5, Insightful)

    by sys.stdout.write (1551563) on Friday June 05, 2009 @05:29PM (#28227769)
    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.
  • Re:More security? (Score:2, Insightful)

    by Anonymous Coward on Friday June 05, 2009 @05:31PM (#28227781)
    The visual designer actually instantiates the backing class and executes its constructor when opened for editing, to be able to render the component in a wysiwyg fashion.
  • Re:Yay! (Score:2, Insightful)

    by gbjbaanb (229885) on Friday June 05, 2009 @05:43PM (#28227901)

    obj.GetSomething().Append(item) in about four keystrokes.

    I believe that should be:

    System.Csharp.Adding.Namespace.Collections.Stuff.Object.Manipulation obj;
    obj.GetSomething().Append(item);

    You *need* an IDE that allows code completion, or no-one be able to write more than 7 lines of code a day.

  • Re:Yay! (Score:3, Insightful)

    by Dutch Gun (899105) on Friday June 05, 2009 @05:57PM (#28228017)

    If someone hasn't gotten the hang of the 'using' keyword, then they probably shouldn't be writing more than 7 lines of code a day.

  • Re:Yay! (Score:5, Insightful)

    by doti (966971) on Friday June 05, 2009 @06:02PM (#28228055) Homepage

    No, what you need is a sane programming language/technique.

  • by shutdown -p now (807394) on Friday June 05, 2009 @07:04PM (#28228619) Journal

    Again, we'll see... to be quite frank, I'm firmly convinced that functional programming is just far too confusing for most people, and so it'll never truly go mainstream (I can definitely see niche penetration, but that's not mainstream is it? :), regardless of the tooling and vendor support available. But, hey, I could be wrong.

    You're probably right regarding full-fledged FP, but FP techniques have certainly been making inroads in the last 10 years or so. First-class functions have gone from an arcane concept to something every mainstream language today has in one way or another (even Java has a castrated version of it in form of anonymous inner classes). Python, Ruby, and now C# programmers happily use map/filter/fold (or whatever it's called in their libraries) as opposed to hand-coding loops. And so on.

    To that extent, it should be noted that F# is not a pure functional language a la Haskell - it has mutable locals and fields, it has strictly imperative constructs such as loops or if-without-else, it is eager and not lazy, and it has well-defined evaluation order. In practice, it can just as easily be used as "advanced C#" - exploiting its better type inference, using pattern matching as a glorified typeswitch, and simply enjoying the little bits like inline array/list/sequence generators or anonymous objects - and ignore the traditional FP patterns and approaches. When used that way, it gets really close to Scala. And, in fact, I suspect that it's how most people on .NET will use it in the end.

    As an aside, F# does have one huge advantage going for it: the ability to very easily incorporate it as a component in a larger project that *is* implemented in a mainstream language. So you can write most of your app in nice, friendly C#, and use F# where its advantages really shine.

    That is very true, and the F# team has stated many times that it is indeed the intended goal. It's why VS2010 doesn't come with visual UI designers for F#, for example - it can be done, but what's the point? But if I need to e.g. write a parser for my .NET project, I would very strongly consider using F# + FParsec [quanttec.com] for it - it's just so much concise, easier, and more powerful than all available C# solutions.

  • by shutdown -p now (807394) on Friday June 05, 2009 @07:08PM (#28228639) Journal

    Eclipse does C++ refactoring, I think Netbeans can do it too. I've used Eclipse for renaming values, implementing methods and generating getters/setters, it didn't ever break anything

    Did you use it with more-or-less advanced templates (e.g. anything that actively uses STL or Boost)?

    If a compiler can parse the code, the IDE should be capable of doing that.

    A compiler parses the code once. It doesn't have to reparse the code constantly as you keep typing or deleting lines, and to do it fast enough that the updates are near-realtime, and yet the user doesn't complain about the sluggishness.

  • by Rycross (836649) on Friday June 05, 2009 @07:39PM (#28228885)

    If you think that writing software in Visual Studio consists of "point and click programming" then you haven't used it enough to have a valid opinion, or at all.

  • by NullProg (70833) on Friday June 05, 2009 @10:18PM (#28229585) Homepage Journal

    Doesn't exist in Visual Studio anymore without some tweaks. If your program targets multiple platforms beyond Microsoft your in for a few headaches.

    I wonder if Martin Heller used the VS10 compiler for cross platform Wx/Gtk/Qt development (Check Audacity out). I (or someone) should do this in a future slasdot review.

    The OpenWatcom, g++, and Intel compilers are a much better solution if your targeting multiple platforms (ARM, Mac, Power5, Mainframes, cellphones etc.) I use VS6 and GCC, but your mileage may vary.

    I appreciate the fact that Microsoft is pushing for VS studio C#/.Net acceptance. As of today, that solution is just as slow and portable as Java is/was ten years ago. For some strange reason I refuse to write a program that takes twenty to thirty megabytes of RAM to run when it should only take two. Why? Because that RAM belongs to the user and the other programs they may be running, not me. Waste not, want not. If you can do it faster and for less RAM in a different language then you owe your users to do so.

    And no, I've never written a C/C++ program that was un-secure (yet), thanks for asking. And yes, I like C#/Java programming, I just have deployment issues that I've never recovered from.

    My opinion or experiences may not be yours.

    Enjoy,

  • by oiron (697563) on Saturday June 06, 2009 @01:06AM (#28230283) Homepage

    And it is getting significantly improved code completion [msdn.com], and on-the-fly error checking [msdn.com] in 2010.

    If you read the comments in that post, it looks like C++/CLI isn't supported [msdn.com] by the new, improved intellisense.

    Honestly, we took to calling it "Intellinonsense" at work, given the number of times it fails to complete; you can rate it by failures per second...

    Doesn't sound "abandoned" to me.

    On the language front, Visual C++ in 2010 gets a bunch of C++0x features: lambdas, type inference (auto), static_assert [msdn.com], rvalue references (&&) [msdn.com], and decltype [msdn.com]. This is quite a lot, and lambdas are especially nice since they actually let you use STL algorithms as God intended without writing tons of boilerplate code for function objects.

    Then also there's Parallel Patterns Library [microsoft.com], which provides STL-like algorithms with automatic parallelization.

    Yes, the actual c++ compiler and library support has definitely improved. But there seems to be no corresponding improvement in the IDE's functionality. When Visual Assist X becomes a requirement for working with any kind of productivity, it's a rather sad situation. You've got to spend on VS, and then on VA-X for every developer, when the alternative is eclipse with mingw, giving all those above-mentioned features (aka, parts of the standard) for free, and a real usable IDE along with that!

    This one is interesting. I do not know of any C++ IDE or plugin that would provide working C++ refactoring, for very simple reason - it is extremely hard to properly parse C++, taking into account all templates and template specializations, and other context-dependent things. Heck, something like a<b>c can be parsed either as expression (a < b) > c, or as a variable declaration a<b> c, depending on the context - and that context, again, includes template instantiations, which form a Turing-complete language that has to be interpreted correctly to produce matching results. I once wrote a C++ program, for fun, which had in it a piece of code as described above, which was parsed and compiled either as expression or as variable declaration depending on whether char type was signed or unsigned was for a given compiler - so you could play with compiler options and get different results. How can IDE possibly handle this?

    You can say that it does it for code completion, but the truth is that a lot of it is guessing and heuristics. And there's the catch - when it guesses wrong, at worst, you get a wrong code completion list, or no list at all. But when you do a refactoring like, say, "rename class", and it fails to correctly determine that the class is referenced at some line of code, and doesn't rename it there, then your program no longer compiles...

    That said, VS2010 IDE C++ parser (used for code completion and "Go to definition") is EDG-based, so it should be much more accurate - so hopefully we'll get reliable C++ refactoring eventually. Just not in this release.

    Eclipse and the still-in-beta KDevelop 4.x give you at least some basic refactoring support. Eclipse has done so for a few years now...

    I agree with that, but there are many good thir

1 Dog Pound = 16 oz. of Alpo

Working...