back to article Porky Visual Studio way over the hill

So, Microsoft has released Visual Studio 2010. The latest incarnation of Visual Studio had a difficult gestation, with critics pointing to the slowness and instability of the beta release. Installation was an eye-opener: the 2GB ISO was quicker to download than it was to install - not even counting the several reboots required …

COMMENTS

This topic is closed for new posts.
  1. NeoLurker
    Thumb Down

    So not really about Visual Studio at all then

    Just a lament about the perceived lack of advancement in IDEs. I know that hating Microsoft is a fun sport enjoyed by The Register, but really... Grow up.

    1. frymaster
      Happy

      to be fair...

      ...they also hate on apple, google, and pretty much every big player... they aren't biased about it ;)

  2. Anonymous Coward
    Anonymous Coward

    Title... :-)

    "doing the thinking for us" or making reference look up convenient?

    "keeps his brain sharp" or prevents having to remember useless information?

    This article is far more interesting: http://www.pragprog.com/magazines/2010-04/tangled-up-in-tools

  3. Anonymous Coward
    Happy

    IDEs

    "..His reply was that the lack of built-in "code insight" keeps his brain sharp - it forces him to know the APIs he's working with"

    I would tend to agree with your mate. Personally, I use jEdit with a couple of plug-ins. IDEs are all very well, but for me, they are a solution to a problem that does not exist. if you can't find your way round the bunch of source code files that you are working with then there's something wrong. Either the thing is written very badly (in which case, a clever IDE that navigates around for you is likely to lull you into a false sense of security and ultimately failure), or you are failing to understand what is going on (in which case, you need to understand more, and NOT hide stuff with an IDE).

    IDEs like this are largely unnecessary sugar on the top, and are the reason why some "software engineers" claim to be able to write (say) C++, when in reality, all they know is which buttons to press to build their classes, and then fill in the blanks, without fully understanding what they are actually doing.

    1. DrXym

      Not really true

      I don't buy that argument. It's not a case of staying sharp, it's a case of anything that saves me time means I can be writing better code. IDE alleviates a huge amount of drudgery from building makefiles, managing dependencies, code introspection, error highlighting, source control, and more besides.

      A simple example would be if I decide to rename a class in Eclipse. I can rename the class and all callers of that class, in about 3 seconds flat. If I have source control enabled this one call also takes care of that too.

      Another trivial example. I write a method in Java and wish to document it. When I type /** above the method Eclipse creates the javadoc template from the method's name, return type, args and any exceptions thrown making it simple to fill in the rest. That documentation is instantly available simply by hovering over the method name.

      There are dozens if not hundreds of ways an IDE improves over a standard text editor, let alone one as arcane as Emacs. I'd add that any Emacs user who proclaims IDEs are bad but enables syntax highlighting (font locking), or any other packages for development (integrated make, ctags, gdb etc.) has more or less defeated their own argument. They've constructed a primitive IDE yet other people shouldn't use a more advanced one?

  4. Anonymous Coward
    FAIL

    quote

    "Seriously, if you want to create a server-side system with demanding performance and scalability requirements, you just don't use .Net."

    You link to one story with little detail about what actually caused the problem....

    1. Anonymous Coward
      Anonymous Coward

      .net disaster

      More details on this sorry episode can be found at http://www.justfuckinggoogleit.com/

  5. Anonymous Coward
    Troll

    Troll?

    ".Net is an also-ran. " Are you sure? Looking around me in the programming industry, I see that C# is becoming incredibly popular for rapid application development.

    "But is the result - and the waiting - finally worth it? Hardcore Windows C++ developers will welcome the new release" - but yeah this is right, a lot of C++ purists are waiting for the STL implementation this 2010 promises.

    "For everyday use, Visual Studio 2010 is pleasant enough" So whats the problem? "But the problem I have here ... is that this is not so different from what we were doing with the first version of Visual Basic 19 years ago." And why is that so bad? Things don't need changing for the sake of changing. You don't complain that your bicycle hasn't changed in design much in 100 years do you?

    "The time is ripe for a brand-new contender to stroll in with something fresh and steal developer mindshare from beneath the leaders' pipe-yellowed moustaches" Yes yes sure, newer is better, maybe google should release some shoddy beta IDE for you to rave about (but never actually have to use professionally).

    "Code Bubbles IDE could be just that new contender." Yeah? Want to place a bet on that? It sounds to me like a focus on a trendy fad. I'm not against the idea, but I wouldn't say lack of "code bubbles" was valid criticism of 2010 as a product. t

  6. Forename Surname
    FAIL

    Jesus - where do you get these moronic writers?

    Get your facts right. .Net is used in thousands of huge applications throughout the world. Stats show a steady decline in the use of Java (not that it was that high in the first place) and c++ in favour of managed solutions.

  7. Whore Reamer

    One question...

    What happened to journalism?

  8. Anonymous Coward
    Anonymous Coward

    ...and?

    "I realized Code Bubbles really does represent something bold and possibly better than the notion of a single screen of code."

    What is it then?

  9. Anonymous Coward
    FAIL

    VS2010, LSE, Lazarus

    First, I think real C++ guys will stick with VS2008, because that is itself done in C++ and it does not reduce programmer performance by making her wait for the debugger during single-step.

    Regarding LSE & .Net, the level of incompetence with their tech executives ist stunning. A stock exchange must predictably respond to trade orders in less than 10ms nowadays. How one can assure that with a Garbage-collected language is totally beyond my comprehension.

    C/C++ and Cobol are the only *real* options for a major stock exchange in 2010.

    Maybe The Reg can review Lazarus ? It

    * takes about 70 MB to download

    * needs no Windows Service Packs

    * has a really fast Debugger

    * Compiles hundreds of thousands Lines of Code in less than two minutes

  10. Anonymous Coward
    Anonymous Coward

    Are you serious?

    Interesting article flawed by some outlandish statements with no basis in fact - unless you're just trolling.

    - ".NET is an also ran" - check market share and growth over last few years, and compare advancements in the framework and languages against competitors...

    - The link about not using .NET because it's not scalable etc. is incredibly tenuous - the article simply mentions that the solution was written in .NET, but doesn't give details of the flaw - so it's a little unfair to simply blame .NET for this.

    No doubt VS2010 is a mammoth application - but then it's not meant to be a hobbyist toy (go get the express edition for that). For enterprise dev, it does everything I need, and more importantly, lets me get it done quicker than I could do in VS2008. Which was better than VS2005 etc. etc.

    I'm not some .NET fanboy (although I do use it loads!) - but if you want to criticise the platform, take the time to come up with some decent arguments rather than the above.

  11. Eponymous Cowherd
    Thumb Down

    Knowing the APIs

    I use both .NET (C# and VB.NET), Java and C++ on both Windows and Linux. Apart from the core API's (which, for Java and .NET are *huge*), there are also the large number of 3rd party APIs that I'm required to use.

    Personally I cannot remember all of the (probably hundreds of thousands) of methods on the (probably tens of thousands) of Classes and Libraries over those platforms and APIs. Maybe some are capable of this feat, but I hazard a guess that most aren't.

    I have a decent knowledge of the basic libraries and classes and know where to find what I want, but for the detail I rely on the IDE to give me prompts and hints.

    I suppose if you are a specialist in a large organisation / team and concentrate on a subset of 1 platform then keeping all you need to know in your head is possible, but I work for a small ISV (9 developers in total over (currently) 5 projects and, like many in that situation, do not have the luxury of specialisation.

    Maybe there are some superheroes that can keep it all in their heads, but I cannot, and I suspect that I'm not in a minority in that respect.

    For me a helpful IDE is essential.

    Comparing the two I use most frequently (VS2008 and Eclipse (Gannymede)) I can honestly say I much prefer Eclipse. It gives me the help I require when writing code while VS2008 attempts to straight-jacket you into Wizard generated splurges of code while offering little support when have to go it alone. I have also found the context sensitive help in VS2008 to be next to useless. Highlight a Class / Method, hit F1 and almost a minute later up pops the "help" for the wrong thing. Usually the name is correct but its the wrong Class or Method (e.g right method name but wrong Class or right Class name but wrong namespace.)

    The fact that VS2010 appears to have moved further down the bloaty-wizard route doesn't fill me with joy at the prospect of having to migrate to it.

  12. DrXym

    Eclipse is great

    Sure you can bloat it out if you want to, but if you stick with the standard Java IDE you get something which is fast, intuitive and useful. It's not without its faults though such as a poor visual editor and lack of integrated support for Maven but it's still good. I've certainly never felt the urge to move to a commercial variant so I'm just appreciative to get a modern IDE for nothing.

    I also use Visual Studio 2008 and while it certainly lives up to the Visual part and is the defacto IDE for .NET and C++ work on Windows, I feel it's a bit antiquated even compared to Eclipse for stuff like advanced refactoring functionality and workspaces.

  13. Anonymous Coward
    Happy

    @jlocke

    Bloomberg's terminal product is still coded in C for speed

    1. Mark 65

      Or rather

      It's still written in C because they cannot be arsed reinventing the wheel in a different colour when the current one rolls along quite nicely. They have a .Net API which is good enough.

  14. Basic
    WTF?

    So, have you ever DEVELOPED?

    What a waste of my Monday morning. Sorry but if you're going to slate the IDEs used by 90% of your readers, you should really make sure you've got some good reasons.

    I admit VS2010 has some flaws BUT I used to develop everything using Textpad / Edit+ and I guarantee you I'm far more productive with an IDE than without one - So if we're going to do compartisons, how about we all start at the same point?

  15. Anonymous Coward
    FAIL

    what?

    One comment from an AC effectively destroyed your entire argument against current IDEs:

    "No doubt VS2010 is a mammoth application - but then it's not meant to be a hobbyist toy (go get the express edition for that). For enterprise dev, it does everything I need, and more importantly, lets me get it done quicker than I could do in VS2008. Which was better than VS2005 etc. etc."

    It allows me to be more productive than VS2008? Sold. I don't get paid to play with pretty toys.

    Oh by the way - how much did Code Bubbles pay you for that article?

    1. Ed

      CodeBubbles

      CodeBubbles is a university project, I doubt they're paying for writeups.

  16. Just Thinking

    Not just APIs

    Why would anyone want to hobble themselves by using an editor which didn't provide API help? The typing it saves alone makes it worthwhile.

    Provided you understand the concepts behind the API yo are using, and have a rough idea of what functions it offers (or at least being able to guess that it *must* have a method to do this or that), why would you want to keep the fine details in your memory?

    But it isn't just that. Modern IDE refactoring tools save hours of tedious work, and probably encourage code improvements which wouldn't otherwise be done (due to the time and scope for error in doing it manually). Error and warning highlighting are also great time savers, cutting down the compile-and-fix loop.

    I started programming when people still used books to look up APIs. I don't miss it.

    1. Anonymous Coward
      Anonymous Coward

      CamelCase

      "Why would anyone want to hobble themselves by using an editor which didn't provide API help? The typing it saves alone makes it worthwhile."

      Perhaps because they don't use APIs with HideousCamelCaseNamesWhichAreFarTooLongToRemember(), the lucky swine.

  17. Anonymous Coward
    Thumb Down

    @AC

    "It allows me to be more productive than VS2008"

    Maybe if you have the lastest CPU clocked at 3.6 GHz. But if that is not the case I really doubt it. Just do single-stepping in the debugger. VS2010 makes you wait for the debugger.

  18. Rob Davis

    C# & VSTA for making custom add-ins for Windows Applications

    ".NET is an also ran" - depends on what for.

    For customising/extending/enhancing many Microsoft and 3rd-party Windows Applications, C# in Visual Studio Tools for Applications (VSTA) is the successor to Visual Basic for Applications.

    C# within an existing Application provides the benefits of full-blown modern Windows application development to extend that application to more efficiently meet your business needs.

    With C# (vs Visual Basic) you get a C-like/Java-like/C++-like language that many are used to, a modern thriving technology, advanced language features to minimise source-code needed.

    So as an extending technology, I would say .net is not an also ran, partly though because one is forced to use it in VSTA (i.e. you don't always get Java or C++ as choices).

    But yes, for standalone, from-scratch client application development, server application development: the choices of platform technology, languages and development environments are wide open. So in those areas, yes it is an also ran.

  19. Anonymous Coward
    Thumb Down

    Also ran?

    HA HA H-AHAH AHAH AH AHAHAHA AHHAHA HAHA HAH AHHAHHA HAHH AH AAH OMG, laughter is going to kill me. Get your facts straight. The LSE example was ill judged solution decisions, not the technology. You can build serious enterprise apps using .Net and it's a more pleasant experience than using Java.

  20. Anomalous Cowherd Silver badge

    Nope, garbage collection is actually quicker!

    Technology has moved on - have a read of this from 2005:

    http://www.ibm.com/developerworks/java/library/j-jtp09275.html

    Explicitly calling malloc and free inside a tight loop makes it easy to see the cost of these operations, but garbage collection can hide this and I expect the allegations of bad performance stem from rookies calling "new Object" without understanding the cost.

    My understanding is that a correctly chosen garbage collection strategy (there are some for realtime and low latency systems) will almost always outperform doing it by hand.

    As for the rest of the article, horses for courses really. For finding references to a method or variable or renaming methods or classes they're useful, but I'm continually frustrated at how slow my IDE-using colleagues are - there's nothing you can't do with 8 terminals running vi, grep and 15 years of regexp under your belt. Show me an IDE with that paradigm and we'll talk.

  21. E 2

    GameCoder

    People were waiting for VS2010 because it will have a new STL implementation? Are you mad? Are these 'people' stupid? There are several extremely high quality STL implementations out there now (STLPort, Dinkum, Rogue Wave) that work very nicely with VS.

  22. The Original Steve
    FAIL

    Poor

    See title

  23. Anonymous Coward
    Thumb Up

    I probably spend 70% of my time

    moving code around and re-factoring. I'd love to spend 100% of my time thinking, not typing my thoughts into the computer. Anything that helps with this... helps.

  24. Anonymous Coward
    FAIL

    @Garbage Collection quicker

    What's faster:

    void CPPMethod::doSomething()

    {

    char buffer[200];

    for(int i=0;i<200;i++)buffer[i]=_internal_something[i];

    ...do something with buffer

    }

    OR

    void JavaOrDotNetMethod::doSomething()

    {

    char buffer[]=new char[200];

    for(int i=0;i<200;i++)buffer[i]=_internal_something[i];

    ...do something with buffer

    }

    The second one will surely flush your cache if you call this method more than just once. Of course you could do some optimizations like having the buffer "handy" somewhere or the VM/compiler could optimize this special case.

    Also, I doubt that you can trump a Smartpointer based heap management. Because the Smart Pointer will IMMEDIATELY and SYNCHRONOUSLY release memory or resources. Very useful if your object contains a file handle or a socket. Now please do that with Java. And please don't tell me there is finalize().

  25. Anonymous Coward
    Thumb Down

    @Cowherd:

    I am using all of VS2008, vi, grep/find, valgrind bash and SVN. I do think VS2008 is the most productive platform, because the debugger is excellent and the code navigation is very quick.

    Want to jump to a class declaration ? Right-click and you have it in less than a second. That is simply impossible with grep/find.

    I suggest NOT to use VS2010 though, as this is a memory hog like Eclipse and it is also a slug in terms of responsiveness. The very problems of Garbage Collected Languages can be studied by using VS2010 and VS2008 !

    Please have your Task Manager open and perform some heavy single-stepping.

  26. AlexS
    Joke

    Well....

    I use Notepad and command prompt.

  27. John Smith 19 Gold badge
    Thumb Up

    Seen code bubbles demo

    Impressive.

    It's attention to the ergonomics of software development and how programmers have to shift attention is *very* neat. "Bubbles" move out of the way without having to waste developer time fiddling about with them. Stopping the "workspace" being confined to just what can be shown in a window, making everything persistent etc.

    No doubt must of these ideas *have* been tried before in different places but putting them together may change how people develop. It's not how I'd like to do it, but it seems to make the computer a much more *active* assistant in the development process. It's about time people spent less time on what are basically book keeping tasks (who cares what this bunch of files is save as. I just want them re-called and laid out for me when I start it up).

    Pity it's Java only though.

  28. Andy Dent 2
    Thumb Down

    ObjectMaster nostalgia

    I still mourn ObjectMaster http://www.artima.com/forums/flat.jsp?forum=106&thread=158259 although I agree with Eponymous Cowherd that the big productivity gain from modern IDE's is the Intellisense prompting for the API.

    CodeBubbles looks like a worthy successor to ObjectMaster in some respects but only if it also allows you to skim through pages of code - OM still stored code in traditional source files and let you drill down to them from its Smalltalk-style 3-pane browser.

  29. Anonymous Coward
    Megaphone

    WHERE IS DAWN FRENCH?

    How come whenever someone so much as accidentally types three 'e's in a row we get a picture of EEEPC-girl-on-a-beach, YET whenever an article appears mentioning the somewhat abundant bestowage of, um, something, in Visual Studio 2XXX there is NOT an accompanying picture of the very delightful Dawn French wearing, er, not much?

    ENQUIRING MINDS DEMAND AN ANSWER!

  30. Anonymous Coward
    FAIL

    GC and Stock Trading

    As far as I know all *successful* realtime traders and stock exchanges use C and Cobol. I personally know of a major European stock exchange that just started the reimplementation of their system in C/C++, Cobol and running on Linux.

    The current system uses the same languages and an operating system made by HP, earlier by DEC. Unfortunately this system can't scale sufficiently anymore and must be replaced, despite the fact it is very, very reliable. They simply maxed out what HP can provide.

    Only stupid people decide to use .Net or Java for that, as one eventually has to perform a full Garbage Collection run, and that will typically stop the complete process (and all of its threads) for much more than a second. Customers demand a response time of less than 10ms today and about 1ms in the future.

    How much memory can "mark-and-sweep" examine in 1ms ? Assume a very fast CPU - 48 GByte/sec bandwidth (Intel Core i7). That's 48MByte in one millisecond. So a process would be considerably smaller (probably just 5 MB) to perform a full GC run and still meet that 1ms deadline.

    Maybe it would be possible to design something around this limitation (probably involving some special shared-memory facility, which could not use standard Java/.Net objects), but the much better alternative is just using C++.

    Big FAIL for the LSE.

    1. Anonymous Coward
      Flame

      The problem is in your first five words

      "As far as I know" . . . the problem is that quite clearly you don't. The majority of new-build low-latency applications are built in Java, both in the Exchange space and the low-touch sell-side banking space (that's not to ignore a significant minority of C/C++ development, but a minority it is). Controlling managed memory allocation isn't altogether dissimilar to controlling memory leaks in non-managed memory - rather than releasing the memory you recycle the object, and don't let the GC get its mits on it.

      "Only stupid people" ... Nasdaq, Cinnober, LSE, Chi-X and a large number of other major exchanges as well as most of the (newer apps within the) Tier-1 Banks are using managed languages for low-latency high-throughput purposes, either by minimizing or typically avoiding altogether GC through recycling/sufficient memory headroom. It's a little arrogant of you to categorize these organizations as collectively stupid, don't you think?! All of those exchanges achieve consistent sub-2ms performance. Getting down to low hundreds of microseconds is readily achievable with managed languages, without any need to resort to special "shared-memory facilities", whatever they may be! The major 'specialist' tricks tend to be memory management (as described), serialization (the standard performance issue on messaging systems) and RDMA networking.

      "Mark and sweep" - as per the above, you can either avoid this altogether or minimize it sufficiently (depending on your target latency distribution - outliers may be acceptable), or restrict yourself to Gen-0 only collections (in which case it's a single segment scan) - but it's worth noting that you don't need to scan the whole process space - just the object reference graph - furthermore there are concurrent GC schemes that can help here.

      C++ is usually not a "much better alternative" as the ongoing development and maintenance costs are an order of magnitude higher than managed languages, but it has its purposes for code that does not frequently need to be changed.

      .Net vs Java - well the industry has certainly gone down the Java route thus far, although .Net is picking up on the server side. Typically this descends into a Windows/Linux discussion - all I'll say here is that HA is not really a relevant differentiator - given that you have to design for sub-second process and server failure in order to provide HA on commodity hardware/OS in the first place, the relative stability (within reason) of the OS is not of massive significance - it'll just determine how often your redundant apps/hardware/failover-mechanisms are used, which again, is a latency profile question.

      1. John Smith 19 Gold badge
        Boffin

        AC@17:51

        "rather than releasing the memory you recycle the object, and don't let the GC get its mits on it."

        "using managed languages for low-latency high-throughput purposes, either by minimizing or typically avoiding altogether GC through recycling/sufficient memory headroom."

        You appear to be saying that having shifted to these languages they then proceed to bypass on of their supposed *key* features (supposedly) for improving maintainability and security? So what features of Java do make it useful in this context?

        I know Java is fairly common so hiring staff with the skillset should be easy but I wonder if there are other (non GC) languages which would give just as good a result. It's an enquiry, not a criticism.

    2. John Smith 19 Gold badge
      Happy

      @jlocke

      "The current system uses the same languages and an operating system made by HP, earlier by DEC. Unfortunately this system can't scale sufficiently anymore and must be replaced, despite the fact it is very, very reliable. They simply maxed out what HP can provide."

      It's called VMS and was designed to support the DEC Alpha based servers for about 30 years.

      AFAIK it got to support 64 processors with failover. Individual processors crash (and are re-booted) but the app never fails.

      BTW the core development team were hired by MS and provided most (all?) of NT.

This topic is closed for new posts.

Other stories you might like