Slashdot Mirror


Microsoft Declines To Make a 64-Bit Visual Studio (uservoice.com)

OhPlz writes: A request was made back in 2011 for Microsoft to provide a 64 bit version of Visual Studio to address out-of-memory issues. After sitting on the request for all that time, Microsoft is now declining it, stating that it would not be good for performance.
After almost five years, the request received 3,127 votes on the UserVoice forum for Visual Studio. Microsoft instead recommended the vsFunnel extension to optimize memory by filtering low-priority projects, adding "we highly value your feedback." They cited a December MSDN post that had argued "smaller is faster," and that no performance benefits would be realized for users whose code and data already fit into a 32-bit address space, while most other issues could be addressed with better data design.

359 comments

  1. In other words... by ChodaBoyUSA · · Score: 4, Insightful

    We don't want to do the work.

    1. Re: In other words... by Anonymous Coward · · Score: 5, Insightful

      It's not about doing the work, it's the outsourced Indian team doesn't know how to do the work.

    2. Re: In other words... by slack_justyb · · Score: 2, Insightful

      That's exactly how I read it. All the excuses giving are weak at best. Microsoft doesn't want to invest the time and money. But figures, Microsoft's products that are non-office are mostly turning into trash.

    3. Re: In other words... by PimpBot · · Score: 4, Funny

      Just tell them to do the needful!

    4. Re:In other words... by OhPlz · · Score: 2

      That's really what it feels like. Visual Studio has a lot of powerful built in tools and most enterprise users add in even more. I have a solution with a half dozen projects that can hit the memory wall in a couple days or so. Perhaps it's that the IDE leaks memory badly, in which case 64-bit would let it leak worse. Either way though, it needs to be addressed. Their response was completely lame. They've done great things with C# and C++ lately which means they're putting money into the product, it's bizarre that they're passing on this. I'd take it even if some features were missing and were added back in as updates later on.

    5. Re:In other words... by Z00L00K · · Score: 4, Interesting

      No, it's because they want to drive people to instead use cloud services so that they can get into control of all your data.

      To Microsoft and Oracle the desktop operating system is a necessary evil and they want a transit into thin clients. But they don't want the users to understand that they do it, instead it's a free "upgrade".

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    6. Re: In other words... by Austerity+Empowers · · Score: 5, Insightful

      It's not about doing the work, it's the outsourced Indian team doesn't know how to do the work.

      I am pretty sure this is the actual reason, not just cynicism. MS has fired or encouraged significant attrition amongst it's can-do types, focusing those few who remain and who know how to do things into certain areas. The rest...they've backfilled with H1B or outright offshoring. Any other company would have collapsed by now, but monopolies are a powerful thing.

    7. Re: In other words... by Anonymous Coward · · Score: 5, Interesting

      This right here.

      This is IE 6.0 all over again. Major products they push on everyone. Then let them rot in place.

      VS2015 is very cool. It is also *VERY* flaky. I have had to reinstall it no less than 5 times now because 'something' breaks. Woe unto you if you have to bring up the repair screen. Plan on that bitch taking 3-4 hours to change 1 package.

      They neglected C++ for so long on their train to .net (which is 64 bit hmmm). clang and gcc now regularly destroy them on compatibility and speed.

      They are so hell bent on making platforms they forgot to make product. I remember standing in long ass lines to buy windows 98. Fast forward to today. Very few actually *want* windows 10. For me getting network backups back again was worth the upgrade.

      Also they are making a rather extraordinary claim that x64 is slower than x32 with visual studio. They should do something like oh I dont know 'recompile it as 64 bit' and PROVE IT and show their work?! Perhaps oh I dont know ON A BLOG POST?! You couldnt find a few interns and a couple of seasoned guys to make it work? Out of a company that big? I call shenanigans.

      MS there is a reason everyone is jumping to other platforms. Yours is just not up to date and you change your mind every 3-4 years on what platform you want to push. Then the platforms MS comes up with are pretty much 0% compat with the old ones. So you can not even re-use your code. You have to throw it all out and start over. MS this is why devs no longer want to work with your crap.

    8. Re:In other words... by Anonymous Coward · · Score: 0

      I have a solution with a half dozen projects that can hit the memory wall in a couple days or so.

      You're lucky. After the last service pack my Visual Studio crashes multiple times per day due to memory issues.

    9. Re:In other words... by Anonymous Coward · · Score: 0

      I routinely work in solutions with a dozen or more projects. The largest of them has 87 projects.

      I routinely have more than one, usually 3 or 4, of these solutions loaded and in active development on my dev machine all at once.

      These are all spread across 4 different versions of VS. (2008 for a WinCE barcode reader app, 2010 for old datadude projects that are slowly being migrated to SSDT, 2012 for most of the rest of the web, web service, desktop, CLI, and other apps, and a new Xamarin project in 2015, which will hopefully replace the old 2008 project.)

      These all run just fine and play nice with a quad-core i7 laptop with 16GB of RAM and Windows 10 Pro. Except for the WinCE/WinMo development, which is really picky about direct deployment and live, on-device debugging due to Win10's lack of support for ActiveSync/WMDC. (And, again, we're hoping to replace that app with a Xamarin one that runs across Win10Mo, iOS, and Android. We just have to convince that client...)

    10. Re:In other words... by OhPlz · · Score: 5, Funny

      I submitted the story, so yea.. I read the links. I added my $0.02 to the linked issue years ago. One does follow the other. They're obviously willing to spend some money in some areas of the product, but unwilling in this case. Those oddles of plugins are what makes Visual Studio desirable. As for drowning kittens, there's a lot of that going around. So many 32-bit kittens, never going to grow up to be 64-bit.

    11. Re: In other words... by Anonymous Coward · · Score: 0

      kindly do the needful

    12. Re:In other words... by PolygamousRanchKid+ · · Score: 4, Funny

      Oh, it's not on the top of the list of their priorities. Just take a look at Microsoft's recent behavior, and it becomes crystal clear. Satya Nutella is not forcing Windows 10 down everyone's throat because he wants to annoy his customers: He is doing it because there is a clause in his contract that gives him a big bonus, if Windows 10 reaches a significant market share.

      Even if that means feeding folks Windows 10 like the way a Foie Gras goose is fed.

      --
      Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
    13. Re:In other words... by war4peace · · Score: 4, Funny

      FUCK YOU.
      Now I crave Nutella.

      --
      ...gis sdrawkcab (usually not responding to ACs; don't bother posting as AC)
    14. Re: In other words... by gweihir · · Score: 1

      That's exactly how I read it. All the excuses giving are weak at best. Microsoft doesn't want to invest the time and money. But figures, Microsoft's products that are non-office are mostly turning into trash.

      I agree, but I think the same is happening with Office, just slower.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    15. Re:In other words... by PhrostyMcByte · · Score: 2

      It seems like you (and many other people here) are decidedly in a pro-64bit camp and ready to have a go at the traditioned pastime of MS bashing, but I haven't seen any hard examples of what would make a 64-bit VS better. Can you name some?

      64-bit certainly has advantages, but it also has disadvantages. It really depends on the app to know how they'd balance out. I can't imagine they looked at this problem lightly.

    16. Re:In other words... by Anonymous Coward · · Score: 0

      It will never work on a version of Windows bundled without WOW64, territory which Microsoft is now exploring with the upcoming Windows Server 2016 release and its Nano Server installation option.

    17. Re:In other words... by jcr · · Score: 1

      Bingo.

      How very half-assed of them.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    18. Re: In other words... by Tough+Love · · Score: 1

      Microsoft doesn't want to invest the time and money.

      It's not just that, it is also clear the the time and money required is significant, which in turn indicates that the code base is a rambling disaster. Big surprise or what?

      Note: the Linux ecosystem accomplished the 64 bit transition for essentially all projects with just a handful of developers per project, suggesting that an open source code base tends to be better structured than Microsoft's.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    19. Re:In other words... by Anonymous Coward · · Score: 1

      I read the article and it's a bunch of really bad choices. I'm on board
      with people who have stated that it's due to outsourcing; makes sense.

      Come on, is anybody really stupid enough to believe:

      There’s other problems with going 64 bit. The law of unintended consequences.
      There’s no upper limit on the amount of memory you can leak. Any badly behaved extension can
      use crazy amounts of memory, to the point where your whole system is unusable.

      So, the natural conclusion is that a 32-bit "thing" that is leaking memory will not affect the
      usability of the system -- am I right?! People who make statements like that are clueless at best
      and it's that mindset that has bought us to this place of really bad design.

      CAP == 'chirped'

    20. Re:In other words... by Anonymous Coward · · Score: 0

      >You seem to be in the minority on this, as while 3100 votes (not people) sounds like a lot, it's a drop in the bucket compared to the # of people who use Visual Studio.

      And you seem to be an idiot. Most users never ever vote on anything anywhere. 3127 puts as the #16 most voted on issue currently. Just behind "T4 editing" and just ahead of "Visual Studio for Mac Os x". So yeah, it seems a *lot* of the user base that actually ever bothers to vote on issues gives a shit.

    21. Re:In other words... by Arkh89 · · Score: 2

      Small correction here : foie gras is traditionally made from forced-fed ducks (the version with geese liver does not taste remotely the same but is cheaper).
      Also, foie gras is truly delicious, to the contrary of any MS platform/product.

    22. Re: In other words... by Anonymous Coward · · Score: 1

      Let's just hope that Libre/OpenOffice gets rid of the java before MS Office becomes completely unusable.

    23. Re: In other words... by justthinkit · · Score: 2, Insightful

      Microsoft is pushing purchasable apps in Windows 10. It has created a (crappy) new interface, so programs stupid enough to comply with the new interface must be written for it before they can be sold to everyone.

      So Microsoft wants a head start -- "Sorry, our compiler is not available (to those outside Microsoft)". A couple of years from now, with the apps market saturdated, and Microsoft dominating once again in familiar (and new) categories, "Will you look at that, we WILL be shipping VS64. Here you go, one buggy VS64 beta coming up."

      --
      I come here for the love
    24. Re: In other words... by Anonymous Coward · · Score: 0

      I get frequent VS crashes, sometimes multiple times per day. I've even installed a completely fresh OS, with only Visual Studio, to ensure nothing was conflicting. It still crashed frequently, just browsing through the code. It definitely wasn't something stupid I was doing.

    25. Re: In other words... by Anonymous Coward · · Score: 0

      We've got a codebase at work that crashes VS due to a lack of address space if we load all the projects in the master solution. We've had to break it down into 4 separate solutions to make it usable.

    26. Re: In other words... by zaphirplane · · Score: 1

      If it was open source I would have fixed it ... Oh hang on isn't open source core

    27. Re:In other words... by jellomizer · · Score: 1

      I need to agree. I was required to do work in Visual Studios for an Application. The application design was for performance, So its big trade off was it was Very Ram intensive storing 20% of the database in active RAM. For faster retrieval and updates bypassing giving me about a 100% increase in speed., in order for me to fully test the App, I needed to deploy it to the server to try it out. Because running it in visual studios wouldn't go past the 4 gig barrier. And I was using roughly 20gigs.
      Being that I couldn't debug the app, with a lot of active data it made it difficult to fix random issues that may pop up because to test it I needed to load the data in different blocks to find the data causing the problem to be fixed.

      I spent hours trying to set Visual Studios to 64bit with no avail. I was royally pissed off. Microsoft in general compared to other OS's had really botched moving from 32 bit to 64 bit. being that it is 2016 and the average PC has been 64 bit for about a decade now, is very pathetic.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    28. Re:In other words... by geoskd · · Score: 1

      We don't want to do the work.

      I never thought I would hear myself have to say this, but Microsoft is right. Doing memory addressing in 64 bits carries with it a performance penalty, as even modern processors are not as fast at processing 64 bit arithmetic as 32 bit, and as such, allowing 64 bit memory addressing will slow things down, and many Microsoft developers are not smart enough to handle the memory addressing properly (Yes I said it, on average Microsoft devs are dumb and or lazy).

      Microsoft is absolutely right, there is practically no good reason to address that much memory, and it is almost always a sign of a fundamental failing on the part of the developer.

      Another way to say it is: If you are looking for the ability to process and handle that much memory all within a flat memory model, you probably want a cloud based solution as your piddly PC ain't gonna handle it anyways.

      --
      I wish I had a good sig, but all the good ones are copyrighted
    29. Re:In other words... by bloodhawk · · Score: 1

      No, it's because they want to drive people to instead use cloud services so that they can get into control of all your data.

      To Microsoft and Oracle the desktop operating system is a necessary evil and they want a transit into thin clients. But they don't want the users to understand that they do it, instead it's a free "upgrade".

      While I would not put that beyond them. The infinitesimally small number of people affected by not having a 64 bit IDE makes your statement not just unlikely but down right dumb. Even the request for having 64 bit was from less than 4,000 developers. I think not working towards a 64 bit IDE is a little short sited but given it would cost 10's if not hundreds of millions to do, and only benefit a fraction of a fraction of developers (I would think we are talking less than 0.01%), it isn't a surprising decision. I would expect there are far higher priorities that benefit far larger groups of devs.

    30. Re: In other words... by Darinbob · · Score: 2

      Is there an advantage to converting to 64 bits? Or is it more the newer-is-better type of thinking? Seriously, if your project is running out of memory while building then maybe the problem is with the project.

    31. Re:In other words... by thegarbz · · Score: 5, Funny

      I submitted the story, so yea.. I read the links.

      Slashdot has really gone downhill as of late. First readers are starting to RTFA, now submitters are RTFAing before they submit. Pretty soon we'll have well informed discourse and at that point why would anyone come to Slashdot to read the comments anymore.

    32. Re: In other words... by geoskd · · Score: 5, Informative

      They should do something like oh I dont know 'recompile it as 64 bit' and PROVE IT and show their work?!

      I don't have to see the compilation to understand that it is going to be slower: I can read processor spec sheets. All modern processors can do 32 bit pointer arithmetic in a single instruction. This is critical because pointer math is highly linear in nature and *will cause pipeline stalls*. 64 bit arithmetic by contrast is typically several cycles long, and will commonly stall the pipeline. The performance hit I have commonly heard is 10%, and seems to come from some amount of informal testing.

      Take a look at this for an idea of some of the testing that gets done on these kinds of things.

      --
      I wish I had a good sig, but all the good ones are copyrighted
    33. Re: In other words... by Anonymous Coward · · Score: 0

      I would actually prefer something breaking to the "it works but it takes up 98% cpu while idle if you have a web project open". I even left it open overnight on a simple project and it was still working away in the morning. I contacted microsoft and they responded with "lol. u broke it. ur dumb. reinstall. have u tried azure yet? its gr8. lolololol"

    34. Re:In other words... by myowntrueself · · Score: 1

      We don't want to do the work.

      Its probably going to be dropped.

      Some time ago I worked with a Microsoft 'Threat management gateway' appliance. I started trying to get it to work with IPv6. Turned out it couldn't. Turned out that Microsoft decided it was too much effort to upgrade the TMG for IPv6... because it was scheduled to be cancelled.

      I'd be looking for a replacement for visual studio right about now.

      --
      In the free world the media isn't government run; the government is media run.
    35. Re: In other words... by MachineShedFred · · Score: 1

      Well, it's conceivable that if you have extensive libraries and plug-ins loading, you could come up to the 32-bit memory barrier pretty quickly, and I'll bet that VS doesn't handle being told "No, you get no more memory!" from the OS very gracefully.

      But you're probably right - if someone is loading kitchensink.h in their project and running into address space limitations, they might think about a more efficient design.

      --
      Slashdot still doesnâ(TM)t support Unicode after it was added to the HTML standard in 1997.
    36. Re: In other words... by Anonymous Coward · · Score: 0

      I've hit the 32/64 speed problems in my own code. When I replaced my desktop (32 bit quad core) with a shiny new 64 bit model suddenly all of my simulations seemed to be running slowly. So I resurrected the old machine and did some side by side testing. Sure enough, simulations that ran an average of 25% slower when compiled to 64 bit on the new machine.

      It's not a perfect comparison. The gcc versions differed, the version of Ubuntu differed, and it wasn't comparing 32 and 64 on the same CPU, but I still peeved that my expensive new desktop with universally superior features actually made my work slower.

    37. Re: In other words... by Anonymous Coward · · Score: 0

      Do realize that the visual studio 64-bit compilers have been around since VS2010. When Microsoft is talking about Visual Studio, they are talking about the IDE.

      Besides that, the 32-bit compilers can compile 64-bit binaries as well.

    38. Re:In other words... by Anonymous Coward · · Score: 0

      I've been using Visual Studio for 15 years and have never had that problem. Perhaps you're doing something dumb.

      Or perhaps your programming is so basic that you're not hitting the VS crash bugs. I regularly saw VS crashes when I was using it. Not as much as the other posters but typically every 2-3 days. I avoid it now.

      In any case porting code from 32 bit to 64 bit is such a basic and straightforward operation that the vast majority of software packages did it years ago The fact that MS doesn't want to do the port says it all really.

    39. Re: In other words... by AReilly · · Score: 3, Insightful

      a) 64 bit processors can do 64-bit arithmetic in a single cycle.
      b) The 64-bit processors in question have more named registers (fewer stack spills), and a significantly more efficient function calling convention (ABI)
      c) 64-bit ABI doesn't touch the old x87 register set, which is another net performance win. (Not that VS2015 will use this much.)
      Ergo: most of the time they are faster.
      The only way to make a 64-bit program slower than a 32-bit one is to have enough pointer-chasing and associated irregular dynamic data that the change in pointer size materially affects the data cache miss rate. Certainly there is some code like that: VS2015 might even be an example.

      How fast do you need your IDE to be though, and how much is performance really the instruction set's fault? Versions of Visual Studio have been produced that run in everything from .NET to JavaScript, and that's fair because most of the cycles are going to be consumed in GUI and file stacks anyway. Native code performance is hardly going to be the issue.

      The issue is almost certainly that LLP64 is a dumb idea, and the code base will have lots and lots of pieces of historical code that assume that you can manipulate pointers with long arithmetic, and all of those are going to have to be found and fixed by hand, often involving real understanding and design decisions.

      --
      -- Andrew
    40. Re:In other words... by Anonymous Coward · · Score: 0

      It seems like you (and many other people here) are decidedly in a pro-64bit camp and ready to have a go at the traditioned pastime of MS bashing, but I haven't seen any hard examples of what would make a 64-bit VS better. Can you name some?

      64-bit certainly has advantages, but it also has disadvantages. It really depends on the app to know how they'd balance out. I can't imagine they looked at this problem lightly.

      Mostly I'd like to see the 32 bit support just die. Sure it would cause some issues, but they would be solved, and developing would be made slightly simpler. Having to recompile things potentially in 32 bit and 64 bit versions just to support different versions of operating systems got old some time ago. Sure C# technically can go either way, right up until you link in a C/C++ dll then you have to choose, or dynamically load the right version.

      As far as the performance difference goes, I'm surprised 64 bit would be slower, since they also have a bunch more registers available for use. Either way, if you have an app that needs the memory even once a year, then 64 bit is definitely the way to go.

      Of course I'd also like to see OSS library writers generate official blessed binaries in all the standard forms, and of course my company to allow one to use those versions with less work. Obtaining and getting company approval for a whole chain of software is a lot of time poorly spent, plus whatever time to figure out how to compile it, particularly if your not using the same compiler the author did. I had to build a an interface library for a database the other day, which had a dependency, which itself had two other dependencies that had to be built, and even included a whole new build system which I had to fetch to get it all to work. I am getting to like CMake lately, but it doesn't mean something is going to build in 2015 just because you use it, well unless it is fairly uninteresting.

      Perhaps CMake should be able to download blessed (signed) standard versions of libraries? I think it has some of that already. If somehow a major organisation kept track of such things and helped make sure things were safe, then maybe other organisations could just trust them. At any rate removing x86 support would bring everything a little closer to being standardized, which means fewer versions of libraries and such to maintain, as well as a lot less testing/debugging and support. The only downside I can think of to it, other than the slight increase in hardware requirements, is it would be easier for virus and malware writers, and the time saved would be better spent securing the 64 bit code.

    41. Re: In other words... by Anonymous Coward · · Score: 0

      Dear StackOverflow, please help me convert my 32bit application to 64bit. Please tell how I do it.
      Rakesh

      tags: visualstudio, c++, homework

    42. Re: In other words... by Anonymous Coward · · Score: 0

      To the duck it is like Windows 10.

    43. Re: In other words... by Darinbob · · Score: 1

      Sometime you can get the memory back in other ways. Ie, make the 32-bit application "large address away". Or just be more efficient. I have seem people bitch at an online game for not going 64-bit, but then they'd have to maintain two copies. The memory problem was basically solved by going to a 64-bit OS instead, so the application gets the full 4GB.

    44. Re: In other words... by s4m7 · · Score: 2

      I read /. for the centerfold, you insensitive clod!

      --
      This comment is fully compliant with RFC 527.
    45. Re:In other words... by ChunderDownunder · · Score: 1

      Having to recompile things potentially in 32 bit and 64 bit versions just to support different versions of operating systems got old some time ago.

      Little wonder MS are underhandedly forcing everyone to upgrade to Windows 10. (tinfoil hat telemetry and hardware driver support, it's a reasonable plan)

      On 32 bit support though, Intel continue to support an industry crippled by budget computers with 4GB RAM or less, when in this day and age an 8GB stick is a small fraction of the cost of a decent machine.

    46. Re: In other words... by Anonymous Coward · · Score: 0

      I am pretty sure this is the actual reason, not just cynicism. MS has fired or encouraged significant attrition amongst it's can-do types, focusing those few who remain and who know how to do things into certain areas. The rest...they've backfilled with H1B or outright offshoring. Any other company would have collapsed by now, but monopolies are a powerful thing.

      Don't forget about the thousands they laid off in Finland, killing Nokia (a subsidiary at the time) in the process "because there were too many white males." Microsoft isn't just outsourcing, they're full-blown racists bent on destroying western society at this point.

    47. Re: In other words... by Anonymous Coward · · Score: 1

      64 bit arithmetic by contrast is typically several cycles long, and will commonly stall the pipeline

      False. Most modern x86 CPUs can do 16/32/64bit arithmetic all with 1/2, 1/3rd, or 1/4 cycle throughput and 1 cycle latency. 32bit and 64bit arithmetic have exactly the same latency and throughput for all Intel and AMD cpus I have ever seen. 10% performance hit is because of additional padding caused by alignment for 64bit and 2x larger pointers eating up slightly more memory. That's for general purpose programs. That is a memory access and cacheline issue, nothing to do with the internals of the CPU registers or execution units. Many algorithms and programs benefit from 2x more registers and 2x+ faster 64bit operations.

      You're either trolling or inept.

    48. Re: In other words... by Anonymous Coward · · Score: 0

      You were doing something funky in your code or something that made assumptions about alignment and structure positioning. If you had any structures that used sizeof pointer to determine offsets, going from 32bit to 64bit could have caused strangeness with cachelines.

    49. Re: In other words... by reanjr · · Score: 1

      Your piddly Microsoft PC might no able to handle it, but my piddly Linux PC regularly handles large memory tasks just fine.

      Of course, in the Linux world we solved this problem back around 2002 when it came up instead of throwing our hands in the air and tucking our tails between our legs and whining that 64 bit is too hard.

    50. Re: In other words... by geoskd · · Score: 2

      False. Most modern x86 CPUs can do 16/32/64bit arithmetic all with 1/2, 1/3rd, or 1/4 cycle throughput and 1 cycle latency. 32bit and 64bit arithmetic have exactly the same latency and throughput for all Intel and AMD cpus I have ever seen. 10% performance hit is because of additional padding caused by alignment for 64bit and 2x larger pointers eating up slightly more memory. That's for general purpose programs. That is a memory access and cacheline issue, nothing to do with the internals of the CPU registers or execution units. Many algorithms and programs benefit from 2x more registers and 2x+ faster 64bit operations.

      Wow, knowing there are people like you out there explains why there is so much shit code floating around

      A modern processor is a pipeline design. What this means is that the processor can start unrelated instructions at a rate of one per cycle (or more if there are parallel pipelines available like most processors in the last decade). The key is that the instructions themselves actually take multiple cycles to finish, but the processor doesn't have to wait for the previous instructions to finish before starting the next one. The exception to that model comes when the next instruction depends on data from an instruction that is currently in the pipeline. When this happens, the processor cannot start any new instructions until it finishes processing the critical instruction. This is called a pipeline stall. Good compilers (GCC, Intel's custom compiler, Microsoft's compilers) all re-order instructions to minimize this effect, but with pointer math, there is very little that you can do, almost all code relies heavily on pointer math, and the nature of the dependency limits how useful instruction re-ordering will be. 32 bit pointer math is generally very fast. Add and sub are typically single cycle instructions. Mult is 3 or 4 typically. With 64 bit, The add and sub are usually 2 cycle (although I think Haswell and beyond might be down to 1 cycle). 64 bit mult is around 7 - 9 cycles.

      That 7-9 cycle latency for the multiply is what kills you. Mult is used whenever you index into an array. Array access is everywhere in compiled code, and these pipeline stalls have a significant cost.

      --
      I wish I had a good sig, but all the good ones are copyrighted
    51. Re: In other words... by geoskd · · Score: 0

      a) 64 bit processors can do 64-bit arithmetic in a single cycle.

      No, they don't. They *start* an instruction every cycle, but if there are data dependencies (which pointers are nothing but dependencies), the pipeline will stall. Typical 64 bit mult has a pipeline depth of 7-9 cycles. and Mult is a key instruction for array access( which is used everywhere).

      --
      I wish I had a good sig, but all the good ones are copyrighted
    52. Re:In other words... by Anonymous Coward · · Score: 0

      I did not know this. I used to be upset because they hired an Indian to run one of the United States blue chip companies. Now I realize that Satya Nutella is USAian through and through. Maybe we could hire an illegal Mexican to run Microsoft. They at least seem to understand long term strategic thinking (they are taking over the USA) as opposed to short term profits for one individual. The sense of community and purpose is strong in Mexicans unlike USAians and apparently Indians.

      Yes. Let's outsource all executive level functions in corporate and governmental bodies to illegal South American Invaders. Some would say this has already happened. I say we can do better. We do not need our president to be a puppet of Mexico. We need him to be a Mexican.

    53. Re: In other words... by cyber-vandal · · Score: 1

      Does the 4GB limit affect the remote debugger?

    54. Re: In other words... by Anonymous Coward · · Score: 0

      Adds have never been slower on 64 bit (NEITHER latency or throughput), check http://www.agner.org/optimize/instruction_tables.pdf . Yes, all the way back since the K10 and P4 with EM64T.
      First, a lot of address calculation (anything that is array of native type) will use a shift, which in addition will be part of the standard address calculation, so it doesn't cost you anything.
      For structures of sizes that are not a power of two, the compiler will often break it down into shift/adds/leas, so still no multiplication will be used.
      And if address calculation is critical in your code and you don't carefully manage the struct sizes to optimize it, the problem is that your code is crappy and performance already sucks on 32 bit.
      Note that you can see that (I)MUL use in address calculations was not considered relevant by the fact that they did not add a usable variant of the 32x32->64 variant (which is all you need for most address calculations), and that one is the same throughput and latency as an ordinary 32x32 multiply, too.
      You really shouldn't insult people when you yourself are hanging on to quite a few wrong "facts", though I do admit I wasn't aware the 64 mul was still so much slower (but as said, it is hardly relevant).

    55. Re:In other words... by davester666 · · Score: 1

      You should be happy with 640K.

      --
      Sleep your way to a whiter smile...date a dentist!
    56. Re: In other words... by johannesg · · Score: 1

      b) sure, and that also means more data to be pushed and popped whenever the register set must be changed for any reason.

      and then let me add:

      d) pointers are bigger, which has negative effects on cache use.

      I measured the performance difference between 32-bit and 64-bit on the application I'm working on (300,000 lines of scientific code). The 64-bit version is about 2% slower than the 32-bit version.

    57. Re: In other words... by K.+S.+Kyosuke · · Score: 1

      Mult is used whenever you index into an array.

      No, it isn't. Only a moron or a moronic compiler wouldn't bit-shift, strength-reduce, or both.

      --
      Ezekiel 23:20
    58. Re: In other words... by K.+S.+Kyosuke · · Score: 1

      A much better reason for using constrained memory is memory-efficient encoding. Regarding any dependencies, the critical path determines the minimum length in cycles necessary, so unless the dependencies lead to the previous cycle (==are data-dependent, as opposed to computation-shape-dependent), it's almost irrelevant (beyond an extra instruction being "in flight" for two more cycles - and even that if multiplication is actually being used, which it preferably isn't, and if it is, you may be doing something wrong).

      --
      Ezekiel 23:20
    59. Re: In other words... by K.+S.+Kyosuke · · Score: 1

      b) sure, and that also means more data to be pushed and popped whenever the register set must be changed for any reason.

      Are you suggesting optimizing for the uncommon case? How often does your thread get interrupted to be switched for a different context? Every fifty million instructions or so at worst? Would you trade a one-time delay of a hundred cycles at the end of this sequence for an extra few cycles every now and then during the computation, caused at least by the fact that you have to access your stack at L1 more often? That sounds like poor economy to me.

      --
      Ezekiel 23:20
    60. Re: In other words... by jonwil · · Score: 1

      I dont know how the speed of a fully-optimized Visual C++ program compares to the speed of the same program if compiled with clang or GCC (since I dont have any code-bases/software that compile with both VS and with clang or GCC to compare with) but I have been using Visual C++ since Visual Studio 6 and the Visual C++ compiler is far superior now than the one included with Visual C++.

      Optimized output is far better (when you turn all the optimizations on) than Visual Studio 6 and Microsoft has been putting a lot of developer time into improving the quality of the compiler and runtime libraries (including support for a very large chunk of the newest C++ standards with the intent to support more going forward).

      A read of https://blogs.msdn.microsoft.c... clearly shows that Microsoft no longer considers C++ a second-class citizen.

    61. Re:In other words... by Z00L00K · · Score: 1

      You didn't read the intent I had behind this - I think that Microsoft don't want to publish a 64-bit Visual Studio because they silently tries to quench the development of high performance computing solutions and instead try to keep that internally in their cloud services.

      High performance computing is the leading edge, and denying the tools for that means that you only deny them to a small but important volume of developers that are already stretching the boundaries. No pioneers for a platform means that the platform is slowly losing importance.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    62. Re: In other words... by Anonymous Coward · · Score: 0

      I suppose if it wasn't India it would be somewhere else, but think about how much better all our lives would be if we didn't have utterly unqualified (and oblivious to that) offshore and H1-B types polluting our industry.

    63. Re: In other words... by cecom · · Score: 2

      This is absolutely false and I read you other comments on the subject as well. I am not sure whether it is deliberate, but what you are saying is absolute nonsense made to sound credible by inserting a random technical term like "pipeline" here or there. It is sad that the quality of posters on Slashdot has decreased to the point where laughable misinformation is moderated as "informative".

      64 bit code might get slower because pointers occupy more memory. Frequently that is offset by more registers and smart encoding. End of story. What you are saying is wrong.

    64. Re: In other words... by Anonymous Coward · · Score: 0

      False. Most modern x86 CPUs can do 16/32/64bit arithmetic all with 1/2, 1/3rd, or 1/4 cycle throughput and 1 cycle latency. 32bit and 64bit arithmetic have exactly the same latency and throughput for all Intel and AMD cpus I have ever seen. 10% performance hit is because of additional padding caused by alignment for 64bit and 2x larger pointers eating up slightly more memory. That's for general purpose programs. That is a memory access and cacheline issue, nothing to do with the internals of the CPU registers or execution units. Many algorithms and programs benefit from 2x more registers and 2x+ faster 64bit operations.

      Wow, knowing there are people like you out there explains why there is so much shit code floating around

      A modern processor is a pipeline design. What this means is that the processor can start unrelated instructions at a rate of one per cycle (or more if there are parallel pipelines available like most processors in the last decade). The key is that the instructions themselves actually take multiple cycles to finish, but the processor doesn't have to wait for the previous instructions to finish before starting the next one. The exception to that model comes when the next instruction depends on data from an instruction that is currently in the pipeline. When this happens, the processor cannot start any new instructions until it finishes processing the critical instruction. This is called a pipeline stall. Good compilers (GCC, Intel's custom compiler, Microsoft's compilers) all re-order instructions to minimize this effect, but with pointer math, there is very little that you can do, almost all code relies heavily on pointer math, and the nature of the dependency limits how useful instruction re-ordering will be. 32 bit pointer math is generally very fast. Add and sub are typically single cycle instructions. Mult is 3 or 4 typically. With 64 bit, The add and sub are usually 2 cycle (although I think Haswell and beyond might be down to 1 cycle). 64 bit mult is around 7 - 9 cycles.

      That 7-9 cycle latency for the multiply is what kills you. Mult is used whenever you index into an array. Array access is everywhere in compiled code, and these pipeline stalls have a significant cost.

      Depends on how you're indexing. If you're just iterating in a loop, the compiler can stick the current offset in a register and increase it by a constant value. No multiplication is necessary. If you're doing random accesses on a large array, the inevitable cache misses will hurt you much more than the increased CPU latency from multiplying two 64bit integers.

    65. Re: In other words... by convolvatron · · Score: 1

      how is this different with a 32 bit file and a 32 bit alu? its not. you're right, saying everything falls nicely into a cycle per op is nonsense.

      but 4GB is a pretty small address space nowdays, don't you think?

    66. Re: In other words... by Lonewolf666 · · Score: 1

      Backward compatibility. For instance, a quick search brings up this:
      https://blogs.msdn.microsoft.com/oldnewthing/20050131-00/?p=36563:
      Header data for a bitmap file that would become incompatible and need rewriting if the size of a long changes.

      Damned if you don't change it for the reason you outlined, but even more damned if you do change it, because now you (or your users) have to rewrite lots of code to restore the old functionality of the code. Probably (way) more than if you "just" have to rewrite code that manipulates pointers with long arithmetic.

      --
      C - the footgun of programming languages
    67. Re:In other words... by Anonymous Coward · · Score: 0

      There never will be thin clients, everyone has tablets and mobiles!

    68. Re:In other words... by Lonewolf666 · · Score: 1

      If so, it might be self-defeating. Microsoft is not alone in the world, and if they let high performance computing die on Windows, it might silently migrate to Linux.
      More so that it already has. See https://en.wikipedia.org/wiki/TOP500#Architecture_and_operating_systems ;-)

      Joking aside, trying to push around customers that have alternatives is a bad idea. And I think organizations that need high performance computing solutions also tend to have the expertise to use something else than Windows.

      --
      C - the footgun of programming languages
    69. Re: In other words... by sysrammer · · Score: 1

      I read /. for the centerfold, you insensitive clod!

      Haven't you heard? The centerfold is now filtered.

      --
      His ignorance covered the whole earth like a blanket, and there was hardly a hole in it anywhere. - Mark Twain
    70. Re: In other words... by Anonymous Coward · · Score: 0

      Looks like you don't know what you are talking about wrt instruction cycles:
      http://www.agner.org/optimize/instruction_tables.pdf

      No difference between 32 bit and 64 bit arithmetic cycle time for add/sub/mul

    71. Re:In other words... by Anonymous Coward · · Score: 0

      and how exactly does a 64 bit IDE help with high performance computing? don't forget this is JUST the IDE, compilers, linkers etc are all 64 bit and you still can target 64 bit from the IDE.

    72. Re: In other words... by Anonymous Coward · · Score: 0

      For x86, there is both a cost, and a benefit. The cost is that pointers become twice as large (64 bit rather than 32 bit), so they need more cache space - so you need more cache space for a given amount of benefit.

      The benefit, though, is that x86 has a paucity of general purpose registers. In 32 bit mode, it has only eight: eax, ebx, ecx, edx, ebp, esp, esi, and edi (and two - ebp and esp - are essentially reserved for stack operations). 64 bit mode doubles that to 16 registers. (Internally to the CPU, there may be a lot more, through register renaming, but anyway.) That means that the compiler needs to spill registers to memory less often, and that's a significant performance benefit - meaning that 64 bit x86 can be significantly faster than 32 bit x86, despite the increase in pointer size. In comparison, if you look at SPARC or PowerPC, 64 bit is a little slower (unless you actually need the increased memory address space), because the register count is the same in both 32 bit and 64 bit mode.

    73. Re: In other words... by Anonymous Coward · · Score: 0

      Quite some misinformation here.

      All cpus I know of have the same latency / throughput for adds/subs for 32bit and 64bit ones (ok I can't guarantee that for ALL cpus, but it's definitely true for all x86 cpus). (With the caveat that I'm talking about scalar code here, not sse one since of course with vectorized code you can do 4 32bit adds in parallel but only 2 64bit ones.)

      For muls, it depends on the cpu. Some do have worse latency and/or throughput for 64bit muls. Intel's newer cpus (since Nehalem, which really isn't very new, excluding atoms) generally however do not (divisions would be another story - they are very slow with 32bit numbers, and indeed roughly twice as slow with 64bit). And, most often array indexing doesn't require muls anyway - that's what the complex addressing modes of x86 is for with SIB addressing (scale * index + bias). This works with data sizes of 1,2,4,8 bytes only but this is very common. (Even if not, as long as your array elements are power-of-two sized, you still don't need muls, just shifts, which, again, operate at the same speed as 32bit ones on all known cpus.)

      What you're right is that so-called pointer-chasing code (so, things like traversing linked lists) is often indeed slower on 64bit. The sole reason for that is just that the pointers are twice as big, hence take up twice the memory. The math performed on them isn't the reason it's slower, but simply because you might get significantly more cache misses due to increased size of these structures. (Related, the other advantage of 32bit x86 code is that it can be somewhat significantly smaller for the exact same reason, so if you don't have enough memory 32bit can be faster.) On x86, 64bit code however on average still tends to be faster, which is mostly due to the incredibly low 8 register limit (and only 5 of them being usable freely) on x86 which gets upped to 16 on x86_64.

      Your linked numbers are VERY flawed so I don't know why you even try to bring these useless numbers up. It's mentioned right there in the header they are wrong and it's mentioned in the comments why.

    74. Re: In other words... by Anonymous Coward · · Score: 0

      That said, even in instances when neither SIB addressing, nor bit-shifts or strength-reduction would work and you'd really need a mul to index into an array, you'd never actually need a 64bit mul anyway, unless your array would exceed 4GB which you don't need to worry about on 32bit...

    75. Re: In other words... by johannesg · · Score: 1

      I'm not suggesting anything, simply telling you that more registers does not at all automatically mean faster. Registers do not just get refreshed for thread switching either. What do you think register windows are for?

    76. Re: In other words... by K.+S.+Kyosuke · · Score: 1

      Usually, register windows were used in the past to solve the "we can't be bothered with better compiler optimizations for our experimental architecture" problem.

      --
      Ezekiel 23:20
    77. Re: In other words... by gweihir · · Score: 1

      That would be nice. Another case of a technology being used not because it is good, but because it was hyped.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    78. Re: In other words... by Anonymous Coward · · Score: 0

      It's not about doing the work, it's the outsourced Indian team doesn't know how to do the work.

      ourageously culturalist comment. Who says that India can't develop world class products. Just look at their marvellous traffic and sewage systems and their world-class communication skills.

  2. Summary : by SuperKendall · · Score: 5, Funny

    32 bits ought to be enough for anyone.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Summary : by hey! · · Score: 4, Funny

      32 bits ought to be enough for anyone.

      ... said the lead programmer after glancing through the megabytes of 20 year-old legacy code, and then realizing every single variable had been named with Hungarian Notation.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    2. Re:Summary : by Anonymous Coward · · Score: 0

      Are you saying Hungarian notation was a self-evidently stupid idea? Do I need to get 1990s copies of Microsoft Systems Journal to convince you otherwise?

    3. Re:Summary : by Desler · · Score: 2

      Nah, rewrite it in 16-bits. Then by the logic of that MSDN post it will be even faster!

    4. Re:Summary : by hey! · · Score: 1

      Oh, it wasn't self-evidently stupid, but that would be wishing for too much. In fact it's the worst kind of stupid: the kind that looks really clever, and may even have considerable utility within a few narrow scopes of application. It was more like Satan's diabolically inspired kind of stupidity.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    5. Re:Summary : by rcase5 · · Score: 1

      ...and nobody will ever need more than 640k of memory.

    6. Re:Summary : by Impy+the+Impiuos+Imp · · Score: 2

      The mouse hovering over a variable or function, calling up the definition and local comments, to say nothing of "goto definition or declaration", was a stunning, inconceivable future capability George Jetson might have had.

      And compilers warning of potential overflow issues? Forget it, R. Daneel.

      --
      (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
    7. Re:Summary : by goose-incarnated · · Score: 1

      Are you saying Hungarian notation was a self-evidently stupid idea?

      In most incarnations, yes it was. Dumb devs prefixed the variable with the actual type it was declared as and not (as intended) with the type it was representing.

      Say you're writing the implementation of a textarea for a native GUI application. It makes sense that you would want to differentiate between the variables storing the width in pixels and the width in the current font face. So, you make pxWidth and ffWidth. That was the intention: give the variable some context to help the reader know what it was used for.

      Dumb devs, OTOH, saw it and immediately jumped into cargo cult mode - when they declared "int width;", they did it as "int iWidth;". The variable now has no context, but the reader now (very unhelpfully) knows that width is an integer. Of course, the stupidity of prefixing type-name info on variables was not really recognised at the time - even though everyone working on windows worked with those horrible typedefs anyway which broke the HN rules left and right.

      TLDR; There were hipsters in every generation. Early 90's was no different, hence Hungarian Notation.

      --
      I'm a minority race. Save your vitriol for white people.
    8. Re:Summary : by lgw · · Score: 4, Insightful

      It was not stupid at all in the domain for which is was invented. Simonyi (the eponymous Hungarian) was apparently appalled at what it became.

      The original idea was to decorate objects of the same type, but different semantics, so that you wouldn't confuse them: specifically rows and columns int the Excel codebase. You could tell instantly that rwFoo - coBar was a bug, even though they were both ints and the compiler was fine with it. It's a fundamental weakness of C and C++ through today that's there's no way to make efficient, disjoint integral types.

      It can also be useful to distinguish between types that typedef to the same type on one platform, but might typedef to different types on another, but IMO it's not worth the clutter.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    9. Re:Summary : by Livius · · Score: 1

      It was an excellent idea for assembly language programming.

      It became a weapon of mass brain cell destruction when 1) 16-bit Hungarian notation was used in 32-bit programming, and 2) it escaped assembly programming and vandalized C programming.

      And tragically too many programmers took too long to question Microsoft's authority.

    10. Re:Summary : by Anonymous Coward · · Score: 0

      > It's a fundamental weakness of C and C++ through today that's there's no way to make efficient, disjoint integral types.

      Actually in C++ it is possible, if a bit verbose. You can define a struct with a single value field and overload all operators you need to use with it and you have a typesafe value with zero overhead in any compiler worth mentioning.

      struct RowInt { int value; explicit RowInt(int i):value(i){} }
      struct CollInt { int value; explicit CollInt(int i):value(i){} }
      inline RowInt operator - ( RowInt const& a, RowInt const& b){ ... }
      inline RowInt operator + ( RowInt const& a, RowInt const& b){ ... }

      RowInt a(1);
      RowInt b(2);
      ColInt c(3);

                a - b; //valid
                a - c; //no "operator -" for arguments of type RowInt, CollInt

    11. Re:Summary : by Anonymous Coward · · Score: 0

      Don't bother trying to 'splain it to the next generation of programmers. Anything that came before is useless to them. They use generics and don't care about overhead or performance any more. Plenty of gigs of memory available. Assembly is the Tower of Babylon to dorks in their teens and 20s who understand nothing of the systems they use.

    12. Re:Summary : by david_thornley · · Score: 1

      Compilers still do a really crappy job of warning of potential overflow issues. They are happy to do it with an explicit conversion, but not (as far as I've seen) for values inside computations, and that's where you're most likely to be hit.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    13. Re:Summary : by lgw · · Score: 1

      You have a lot more operators to define, plus you want an implicit conversion from int, plus you'll need a pragma on some platforms to suppress 8-byte alignment for structs, plus you'll need that other thing you didn't think about. I guess it's possible, but it's hardly the sort of thing you'd want to do on the fly for each type you use.

      --
      Socialism: a lie told by totalitarians and believed by fools.
  3. Smaller is Faster by Anonymous Coward · · Score: 1

    And that's why we are staying with Windows 98

  4. Remember how long Excel sticked to max 64k rows? by heldal · · Score: 3, Interesting

    The day they broke that limit, some cheered. Others looked upon it with dread, knowing the hellspawn that would follow.

  5. Didn't even realize until the other day by Anonymous Coward · · Score: 0

    After seeing (32-bit) in task manager I thought it must be a mistake. Shouldn't dev tools be a little bit closer to the bleeding edge?

    However, a VS project over 4GB tells me someone is doing something wrong.

    1. Re:Didn't even realize until the other day by Opportunist · · Score: 5, Funny

      Damn right, any project this big should be done with professional tools!

      Glad MS finally admits it.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    2. Re:Didn't even realize until the other day by Fragnet · · Score: 1

      Spot on. Something isn't right there.

  6. 32-bit visual studio by fyngyrz · · Score: 2, Insightful

    "and we have a really, really lame explanation for our underlying laziness and/or incompetence"

    "also, fuck you, developers."

    --
    I've fallen off your lawn, and I can't get up.
    1. Re:32-bit visual studio by ShanghaiBill · · Score: 3, Informative

      Microsoft develops software the same way the British Army fought the Somme Offensive. They use massive amounts of cheap programmers, and just pound away until they have something to release. The code quality is so poor that they often just throw it way and do a complete rewrite for the next version. You may think that supporting 64 bit would mean just changing a few header files, tweaking some compiler flags, and typing "make world", but it would not be that simple. The code is likely riddled throughout with obscure 32 bit dependencies, and would require a huge and expensive effort to fix.

    2. Re:32-bit visual studio by lloydchristmas759 · · Score: 4, Funny

      "also, fuck you, developers."

      Shouldn't that be:
      "also, fuck you, developers, developers, developers" ?

      --
      I'd give my right arm to be ambidextrous.
    3. Re:32-bit visual studio by Anonymous Coward · · Score: 3, Insightful

      I did a couple of 64-bit ports in the past and that's pretty much what it took. The first application was about 50000 lines of code that I had worked on for about a year, i.e., I didn't write it, but I fixed it and refactored it. That conversion took about 2 days, and most of that was making small fixes because the header files were reorganized between gcc 3 and gcc 4.

      The second time I did it was for a code base of about 2 million lines of code that I did not "own" in the same way. That took about three weeks, plus about another week from another developer. This was not code that had been developed in a well-disciplined way, but it worked, and the conversion ended up being very successful and took a lot less time than management had expected.

    4. Re:32-bit visual studio by Anonymous Coward · · Score: 0

      Yeah no kidding. There are probably loads of places that assume sizeof(long) = sizeof(void *).

    5. Re:32-bit visual studio by Anonymous Coward · · Score: 1

      When you say GCC you are suggesting that you are coding on a sane LP64 system like Linux. Be very glad you are not coding on Windows (LLP64) - to say that the system-defined types are an abomination is an understatement.

    6. Re:32-bit visual studio by Anonymous Coward · · Score: 1

      It shouldn't even need to change *any* header files. Using cstdint's exact size ints...

      Oh right. Microsoft. The idiots who still don't support C99. NM, carry on.

    7. Re:32-bit visual studio by Anonymous Coward · · Score: 0

      Don't you mean sizeof(long) == sizeof(void *)?

      And on a 64bit architechure, they are the same (but the assumption
      in any code would still be a disaster). Also, you'd be surprised how
      many people (read MS programmmers) don't know what a 64 bit
      architecture is; It doesn't refer to the size of the int, it's 64 bit long
      (as ints are still 32 bit on a 64 bit architecture).

      CAP === 'predate'

    8. Re:32-bit visual studio by Fragnet · · Score: 5, Insightful

      I've been a developer for 15 years and I can say Visual Studio environment is way better than anything available on Linux. The code dependencies can be resolved in 64 bit but Microsoft is a business and there's an opportunity cost associated with doing that rather than something else more people actually need.

    9. Re: 32-bit visual studio by eggnet · · Score: 1

      Windows uses llp64, so sizeof(long) != sizeof(void *)

    10. Re: 32-bit visual studio by Anonymous Coward · · Score: 1

      Wrong. They are waiting for some kid to do it so they can buy it really cheap. They will convince the kid to sell it cheap by saying it will make him a rock star. Then they will blacklist him.

    11. Re:32-bit visual studio by lgw · · Score: 1

      There's no requirement in the standard that sizeof(long) == sizeof(void *) (and they're not he same on Windows, due to choices made long ago to make 16-32 bit ports easy).

      There's no requirement in the sizeof(long *) == sizeof(void *) either. I don't think I've ever seen a non-trivial codebase that didn't make that assumption throughout, but there used to be architectures where a char* was bigger then an int*.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    12. Re:32-bit visual studio by Anonymous Coward · · Score: 0

      Oh wow, looks like you objectively refuted their blog post where they give technical reasons for their decisions. Nice !

      There is *NO* codebase on this planet, which is on the order of millions of lines of code, has been written and maintained for a decade, and has been ported to 64-bit by a "recompile". Jesus, you mouth breathers are hilarious. You haven't, and will never, do anything in your life that makes your opinion worth anything.

    13. Re: 32-bit visual studio by Anonymous Coward · · Score: 0

      I've ported our business app which is over 1 million LoC of legacy C and C++. There were a couple of minor code changes required, but it was pretty close to a recompile. It took me 3 days. Since Visual Studio is largely .NET, it should already be most of the way there.

    14. Re: 32-bit visual studio by Malc · · Score: 3, Insightful

      I bet their compiler catches most of the bad shit that only works on 32-bit builds... But they have so many warnings they can't see this.

    15. Re:32-bit visual studio by thegarbz · · Score: 5, Informative

      The code quality is so poor that they often just throw it way and do a complete rewrite for the next version.

      Based on what? For the most part when MS projects have either had source code leaked or made open source the analysis of the code has shown some pretty fine programming. Re-writes seem to be based on strategic decisions and also decisions to not end up with endless layers upon layers of cruft (something that also supports code quality in a positive way).

    16. Re: 32-bit visual studio by FLeXyo · · Score: 1

      Will I be declined the Windows 10 upgrade if I'm blacklisted? If so, I'm in! This might be the best way to avoid it ;)

    17. Re:32-bit visual studio by Anonymous Coward · · Score: 0

      I'm a person and I can say Visual Studio is worse than virtually anything that was available on Linux 15 years ago (let alone today).

      By the way, I've been a developer for 20 years; I'm not sure why I'm telling you except that you told me how long you were a developer for so I thought I'd throw that in there for fun and for the sake of completeness. I guess you were trying to establish credibility.

      On the issue of whether VS is 64-bit or something else, I couldn't care less. It sucks now, and it would just just as much if it were 64-bit.

    18. Re:32-bit visual studio by maugle · · Score: 4, Insightful

      I'm sure Visual Studio works quite well for you. But, to counter one anecdote with another, I found Visual Studio to be lackluster and irritating in a thousand little ways, and its marginally-better code completion isn't enough to make me prefer it over either Eclipse or QT Creator.

      As for a 64-bit Visual Studio, my guess is that the code problems of porting to 64-bit are dwarfed by the bureaucratic maze involved in releasing a new edition of a product.

    19. Re:32-bit visual studio by MachineShedFred · · Score: 5, Insightful

      It would probably suck worse, because the memory leaks and plug-in bloat would be only bound by physical memory, rather than the enforced 32-bit memory space.

      If Microsoft is telling people that they should just write better code in order to stay inside of a 32-bit boundary, they should start practicing what they preach and lead by example.

      --
      Slashdot still doesnâ(TM)t support Unicode after it was added to the HTML standard in 1997.
    20. Re:32-bit visual studio by Anonymous Coward · · Score: 0

      Your argument contradicts itself.

      What is there to fix, if, as you assert, they regularly start from scratch anyway? and why is it more expensive this time?

      Also remember the NT 4.0 code leak years ago? the general consensus was that it was excellent code.

      But hey this is /. where bashing MS with statements that have little or no foundation is always good for a cheap +5

    21. Re:32-bit visual studio by Anonymous Coward · · Score: 0

      Keep in mind that it's Visual Studio (the IDE) that isn't 64-bit. The compilers are 64-bit. So there is a lot of confusion from developers about why a 64-bit version of Visual Studio isn't necessary.

      Mainly because Visual studio still supports MFC42 which is necessary to develop drivers, and 64-bit MFC does exist, Visual Studio tries to push you away from using MFC unless you're developing drivers. I'm sure there's other legacy Windows (think Windows NT4, 2000, and XP) features that negate switching to a 64-bit IDE. (A lot of developers still use Visual Studio 6 as it's the last version to support Visual Basic) But there's nothing really stopping Microsoft from releasing both a 32-bit and a 64-bit IDE, just tell the launcher which version to use like How Adobe did things when only Photoshop was 64-bit.

    22. Re:32-bit visual studio by Anonymous Coward · · Score: 0

      Nonsense.

      Most software has been actively compiled as 32-bit and 64-bit since 64-bit processors have been available (Think Firefox, FFMPEG, VLC, Dosbox, MAME/MESS, SCUMMVM, which are all available on Windows. In fact many of these programs (eg Firefox and VLC) only switched to 64-bit in the last 2 or so years because they didn't think 64-bit versions were a good idea, even though they had 64-bit development versions for as long as 64-bit CPU's have been available because of the need to compile on Mac OS X.)

      So thank Apple for the 64-bit software push.

    23. Re: 32-bit visual studio by gestalt_n_pepper · · Score: 1

      "Fuck you, developers" has been the M$ mantra for the last couple of decades. Now we have "universal apps" based on the giant clusterfuck that is WPF. That'll last until upper management once again changes direction, focus, or their socks.

      --
      Please do not read this sig. Thank you.
    24. Re:32-bit visual studio by Anonymous Coward · · Score: 0

      You are full of shit. You have absolutely no idea how much and how old some of the code is in current software, even Microsoft Office. Unless you've seen the code (like I have), stop talking out of your ass.

    25. Re: 32-bit visual studio by tshawkins · · Score: 1

      Checkout the jetbrains IDE's

    26. Re:32-bit visual studio by WarJolt · · Score: 1

      You know what's insane? Loading 70-80 projects in a single visual studio solution because Microsoft thinks all development needs to be monolithic. I mean sure I've had rather complicated type systems chew up memory like there is no tomorrow. Yes compilation takes memory, but the build system shouldn't.

    27. Re:32-bit visual studio by slashdice · · Score: 1

      It's a c++ compiler. You might as well complain it doesn't support BCPL.

      --
      Copyright (c) 1990 - 2014 Dice. All rights reserved. Use of this comment is subject to certain Terms and Conditions.
    28. Re:32-bit visual studio by chuckugly · · Score: 1

      There's no requirement that int be 32 bits in C++. The 32 vs 64 bit-ness of the platforms is address space. In the standards doc (which is the law for C++) int is defined as being able to store values in a range without truncation. They can be big enough to do so, or any larger size, but the guidance is they should be of a size that's efficient for the hardware to manipulate. Some old Cray systems used 64 bit int a long time ago and in fact had 64 bit char as well - perfectly legal C and C++.

    29. Re: 32-bit visual studio by Anonymous Coward · · Score: 0

      They're just stupid. There's absolutely no reason to cram that many projects into a single solution. Instead of whining that there's no 64 bit MSVS they should just fix their build process. I'm not saying MS isn't lame for not making a 64 bit version, but asking for it should be the very last resort... Any decent developer should be able to work around limitations like this.

    30. Re: 32-bit visual studio by Anonymous Coward · · Score: 0

      That's why I use the fixed-width stdint types like int32_t, int64_t, etc...

    31. Re:32-bit visual studio by Sun · · Score: 1

      I'm pretty sure sizeof(long *) = sizeof(void *) is a requirement. C allows implicit conversion from any pointer to void *, and if that wasn't a requirement, nothing would work.

      Shachar

    32. Re:32-bit visual studio by Anonymous Coward · · Score: 0

      Found the idiot - and liar.

    33. Re:32-bit visual studio by Anonymous Coward · · Score: 0

      I recently ported a C++ program with over 200 000 lines of code to AArch64 and all I had to do was to fix 2 actual bugs (undefined behaviour) that gcc's undefined behaviour sanitizer actually spotted (so I didn't really have to do any debugging, and if we had done our job better and run ubsan befoire it would have been fine).
      I find it really annoying that Microsoft is so stuck in 32 bit, as long as they cannot get rid of 32 bit in their own code, all 64 bit OS versions will have almost twice the size because they need to come with both versions of the DLLs, and as long as that is the case all cheap Windows tablets will be stuck with a 32 bit OS (the memory usage argument is fairly close to bullshit, 64 bit not that much larger on average).

    34. Re:32-bit visual studio by Plus1Entropy · · Score: 1

      Meh, I'm not gonna contradict your IDE comparison, because I think IDE's in general just suck. I'd rather just code in NP++ or Kate or something, and compile from command line using makefiles or waf or whatever.

      --
      Only crack the nuts that crack. You don't put the ones that don't crack in the sack.
    35. Re:32-bit visual studio by Anonymous Coward · · Score: 0

      Implicit conversion does not require equal size (which is trivial to see in C++ where you can implicitly convert anything to anything, and due to C++ being misdesigned developers end up doing that a lot by accident, and more obviously because short is also implicitly converted to int).
      You can also see that from the fact that the %p printf specifier REQUIRES a void * (as for vararg functions, the compiler cannot auto-convert itself).
      void * would likely be the larger type though, as it is the more generic one.
      A useful way to use this btw would be to make all void * also contain RTTI information so as to improve type safety as a debug help. I don't think it has been done though.

    36. Re: 32-bit visual studio by lucm · · Score: 2

      Wrong. Based on their own SourceSafe commit history they knew it would never be done in time, they've been working instead on the 128 bit version since 2007.

      --
      lucm, indeed.
    37. Re:32-bit visual studio by Anonymous Coward · · Score: 0

      Developer Studio supports app development for Windows 32/64-bit, DirectX / XBox 360 / One, Windows Embedded Compact, IoT, Windows Phone, Azure and increasingly a bunch of disparate other things (even Android). It has god-knows-how-many external dependencies. It has thousands of 3rd party extensions some of which tie to other toolchains. It has hooks into the OS for debugging and display purposes. It is going to have a LOT of 32-bit dependencies, some under its control but many which are not.

      Moving to 64-bit would be a nightmare. That doesn't excuse Microsoft from producing a roadmap and doing it, it but it's worth understanding that it is not and never could be a matter of changing a few #ifdefs around. It's also disingenuous to dismiss developers as if they're just cheap labour or that MS just throws waves of them at a project without regard to quality. I think you'll find Microsoft devs are some of the most competent and capable there are and the quality of Microsoft products is generally consistent and high.

    38. Re:32-bit visual studio by thogard · · Score: 1

      I would love to see a debugging hack for gcc or clang where you could say sizeof short=3, sizeof int=5 and sizeof char=2. Properly written code shouldn't break but it would find many bugs even if it involved odd wrappers on each line of code.

    39. Re:32-bit visual studio by DrXym · · Score: 1
      Firefox demonstrates why going 64-bit is not always as trivial some people suppose. NPAPI plugins on Windows are 32-bit DLLs. You can't load 32-bit DLLs into a 64-bit application so you either dump support for that feature or somehow shim your product so they still work. In Firefox's case they chose to deprecate NPAPI. But that isn't the end of their issues since even with a 64-bit Firefox for Windows they still have to produce a 32-bit Firefox with NPAPIs enabled. So now they've got two products to build, test and support instead of one and some edge cases like how does somebody upgrade / migrate from one version to the other.

      I expect Visual Studio's problems are 10x as bad. There are thousands of extensions for VS, many of which are commercial, many of which are tied to other substantial products. If VS went 64-bit then chances are that many of these would break. That's one example problem that VS would have to figure out. I'm sure there are many others unrelated to just flipping some compile flags.

    40. Re:32-bit visual studio by jaklode · · Score: 1

      This only requires that sizeof(long *) <= sizeof(void *). This allows you to convert anything to void*, and back (you'll just lose the extra unimportant bits).

    41. Re:32-bit visual studio by Anonymous Coward · · Score: 0

      Nope, it should be fuck you, fuck you, fuck you. The usual thing they say when they leave their next platform-du-jour in the weeds.

    42. Re:32-bit visual studio by Anonymuous+Coward · · Score: 1

      There's no requirement in the sizeof(long *) == sizeof(void *) either.

      Yes, there is. The C standard requires that all data pointers be the same size.

      It's sizeof(void*) == sizeof(void(*)(void)) ie 'function pointers are just data pointers" that's absolutely not guaranteed, though there are many programs and interfaces that make this assumption (eg dlsym(3)).

    43. Re:32-bit visual studio by Anonymuous+Coward · · Score: 1

      The C standard requires that all data pointers be the same size.

      In fact that's incorrect. The only requirement is that any data pointer could be converted to void* and back without loss. Posix assumes that a function pointer too could be converted to void* and back, which is not guaranteed by the C standard.

    44. Re:32-bit visual studio by ilsaloving · · Score: 1

      While that may be true, usability is not what people are talking about in this thread.

      There are countless examples of software that is usable, but their underlying code base is a steaming pile of kack. Given what happened with Internet Explorer, it's not at all unreasoanble to think that Visual Studio has a similar problem.

    45. Re:32-bit visual studio by Lonewolf666 · · Score: 1

      C allows a lot of implicit conversions, not all of them make sense. It is really easy to end up with a C program that does not do what the programmer intended. Hence my sig ;-)

      --
      C - the footgun of programming languages
    46. Re: 32-bit visual studio by VirtualJWN · · Score: 1

      You do the UK a disservice with that statement. Truth is they want to ensure any m$ app dev is 32 bit so it can run in virtualized space ON 64 bit servers in the cloud. 32 to 64 bit conversion isn't a 'huge' deal on the compiler / linker side (provided the 32 bit system was designed properly) plus, native apps are going away anyhow WITH windows. It'll all be citrix-esque virtual pc's from now on SAS, so why bother with 64 bit, leave that to LINUX!

      --
      "Any sufficiently advanced technology is indistinguishable from magic." - Arthur C. Clarke
    47. Re:32-bit visual studio by Anonymous Coward · · Score: 0

      Interesting... on my near 20 years experience, visualstudio has been among the worse IDE or tool I have ever used. THe only good thing it has is the debugger. But since the code I write is the type you cannot rely much in debbugers (real time dependencies) that never was enough for me.

    48. Re:32-bit visual studio by Fragnet · · Score: 1

      I'm a person and I can say Visual Studio is worse than virtually anything that was available on Linux 15 years ago

      Don't be silly.

    49. Re:32-bit visual studio by Anonymous Coward · · Score: 0

      VS shits on Eclipse. Eclipse is a big fat American obese lard-ass waddling on the road of code.

    50. Re:32-bit visual studio by Xest · · Score: 2

      Sure each to their own, but I have a hard time believing anyone whose done serious work (i.e. 12 months+ development, using the bulk of the functionality) in Eclipse and Visual Studio could ever objectively argue in favour of Eclipse. Eclipse is slow, cumbersome, has a broken plugin system that often results in you requiring multiple installs for using multiple languages/technologies (try merging STS and Zend if you use Java/Spring and PHP/Zend), and it's also much more buggy. Of course, you don't even have to take my word on that one, just look at the downloads page with all the different convoluted versions that often crossover leaving the user puzzled as to what the fuck they actually need. Visual Studio has versions, but they're mostly related to scale of development (student, independent, businesses, really big business) rather than being language/tool specific.

      Visual Studio really does just work, and it's auto-complete isn't merely marginally better, it actually works. For many languages Eclipse is so slow that you've typed the code before auto-complete pops up, whilst Visual Studio lets you stream out an entire line of code with only a few button presses. When you factor in Visual Studio's debugging, collaboration, and profiling tools the gap just widens further. I do think Eclipse does a better job when it comes to testing though, however I have that impression mostly from Eclipse plugins, whereas I never really bother with much beyond NUnit with Visual Studio.

      People are always going to prefer what they're used to and what they've used the most, but frankly I always even prefererred NetBeans over Eclipse (though it's been sometime since I used NB), it was always much more stable and much more performant. I've been fortunate enough to have a few years solid experience on all these IDEs and I just can't see how objectively Eclipse could be deemed to be a better IDE.

      Despite all this I think the trend for Visual Studio is downwards and has been for quite some years now. This news doesn't exactly fill me with confidence, it comes across as simply that everyone has left the Visual Studio team that has the confidence to make such a change, so instead we're going to pretend we just don't need to make it. It bothers me that rather than doing this sort of thing that people actually want and is useful they're doing things like making the icons fucking shite and less usable, they're doing things like capitalising the menu items and then undoing it next release, they're doing things like ripping out useful functionality to replace it with a more flexible alternative that doesn't actually offer half the previous functionality (i.e. you can no longer auto-generate unit test skeletons for a class definition).

      This isn't just a Visual Studio problem though, it's a problem with Microsoft's development offerings in general - things like ASP.NET MVC have had their classic membership/role provider offerings replaced by default with Identity, but Identity doesn't offer half the config based configurability you had with membership/role providers - i.e. you can't easily switch between AD and SQL authentication via mere config with Identity without doing a lot of work and having a hell of a lot more of your own code to maintain.

      Microsoft seem to have forgotten who their core audience is on this front and how loyal they've been and how much money that loyalty has netted them and instead let their teams focus way too much on pet projects rather than what their customers actually want and need. I'm not against letting developers have the freedom to work on pet projects as in Google's 20% time, but without the customers there'll eventually be no money for that anyway. The customer matters, and modern Microsoft just doesn't seem to get that like old Microsoft did. Even outside of Microsoft's development tools and technologies division this was a lesson hard learnt when Microsoft initially announced the Xbox One to be a fuck the consumer industry slave box until the realisation that this would kill the prod

    51. Re:32-bit visual studio by Anonymous Coward · · Score: 0

      4GB should be enough ram for any software project....

    52. Re:32-bit visual studio by david_thornley · · Score: 1

      As a C++ programmer, I assure you that Visual Studio really doesn't just work. It's been getting better (VS2013 is a lot better than VS2008), but it isn't perfect. (Yes, I'd love us to upgrade to VS2015, and we will when that one software vendor releases the proper binaries. Yes, I agree that it's taking them inordinately long, but we need their stuff.)

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    53. Re:32-bit visual studio by lgw · · Score: 1

      Did you have a < in there that slashcode ate? It's less-or-equal, but maybe you were saying that.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    54. Re:32-bit visual studio by maharvey · · Score: 1

      ...and just pound away until they have something to release...

      or as parent said: "fuck you, developers."

  7. Although the reason screams lazy to me, by Anonymous Coward · · Score: 1

    I don't quite understand why would anyone have a solution with 10k (yes, thousand) projects. To me it seems that the project is structured incorrectly.

    1. Re: Although the reason screams lazy to me, by Anonymous Coward · · Score: 0

      We've got a codebase at work that will crash the IDE if we try to load all the projects at once. There are roughly 100 projects. 2 orders of magnitude less than you're implying that's required to bring it down.

  8. 64-bit designer mode by Anonymous Coward · · Score: 5, Informative

    The real problem is that the fancy built-in designers, such as the WPF designer, only work with 32-bit components in 32-bit Visual Studio. When someone writes a component that is 64-bit, because it references a DLL that in-turn references, say, a 64-bit Oracle driver, which is part of code that we don't have control over. Now the designer won't load and shows a cryptic error message.

    1. Re: 64-bit designer mode by Anonymous Coward · · Score: 2, Interesting

      But there's no reason they couldn't handle that the way lots of us do. If you need to load 32 bit modules in a 64 bit program you just launch a 32 bit host process and reparent the UI onto the window handle of your main process.

      That would be really useful anyway, because those controls are where there worst memory leaks in studio can be found. Putting them into external processes makes it easier to throw them out and free memory.

    2. Re: 64-bit designer mode by Malc · · Score: 1

      The cost of that comes down to the size of then API and how easy it is to marshal it for IPC.

    3. Re:64-bit designer mode by Anonymous Coward · · Score: 0

      When someone writes a component that is 64-bit, because it references a DLL that in-turn references, say, a 64-bit Oracle driver, which is part of code that we don't have control over. Now the designer won't load and shows a cryptic error message.

      Why is view code doing anything with an Oracle driver? You may want to read about the single responsibility principle.

      The WPF designer has plenty of flaws (e.g., bloat, memory leaks, and occasionally getting out of sync with its generated .g.i.cs files), but this particular issue sits squarely in the realm of bad design on your part, I'm afraid.

  9. Subject of Comment by Anonymous Coward · · Score: 1

    I was waiting for this. Not disappointed.

    Thank you.

  10. visual studio by Anonymous Coward · · Score: 5, Insightful

    I have a quad core 3.5Ghz with 32GB of RAM, VS2015 installed on an SSD. It takes over 15 seconds to get to a working state. After the last update (2), then the Update patch, it now pops up some idiotic error about scc something-or-other every time it starts, and every time I open a project. An update for this POS software takes at least 15 minutes -- with far and away most of the time spent sitting at 99% complete with the status message: "Visual Studio is configuring itself -- this might take a while."

    Yeah no shit it might take a while.

    In summary Visual Studio has become one of the worst programs I use. It is horrifically bad in all aspects: Hard to use, impossible to navigate, useless documentation.

    When I wander over to the C++ forums on reddit I frequently see their runtime library/compiler guy -- I think his name is STL, sheepishly saying what an antiquated POS their C++ compiler is. That doesn't give me warm fuzzy feelings either.

    It's all just more nails in the coffin as far as I'm concerned. I rarely develop for Windows anymore and when I have to it's because I'm forced to. The entire Windows platform is a complete disaster from a developer's point of view. All the years of MSDN trying to sell whatever the current darling language, what's-old-is-new-again (C++ is back, did you notice?), terrible, TERRIBLE API design, and just general CRUFT (did I mention that COM is back too..?) have finally caught up to them.

    1. Re:visual studio by yuriklastalov · · Score: 1

      I don't think COM ever went anywhere. All the fancy languages and tools are layers on top of COM, trying desperately to polish the turd. Well all that turd polish builds up, and no matter how hard they try it's still just shit on the inside.

    2. Re:visual studio by Dutch+Gun · · Score: 5, Insightful

      I've been using VS 2015 since it was released, and using VS professionally for close to 20 years. The quality of VS and the compiler has waxed and waned over the years, but I'm pretty happy with the way the current version is looking, given the general responsiveness, functionality, and stability of the IDE and the C++ compiler itself. It has pretty close to full C++ 14 compliance at this point - and certainly has the features *I* care about. If you're seeing such poor performance and odd error messages, there's something strange going on, as that's not a typical experience. My machine is rather *less* powerful than yours, and I just counted - it takes six second to get VS up and running for me.

      Stephan T Lavavej is the maintainer you're thinking of, and he maintains the standard C++ library, so it's pretty awesome his initials are STL. He's one of the few MS devs that interacts regularly with developers and speaks candidly about MS's development, and has given some pretty interesting talks. True, the MS C++ compiler is quite old, but they've been modernizing it in light of C++'s renewed interest and features, with pretty decent results (if slower than many wish, probably including STL). GCC is also quite old, if you recall, but software can be updated. Clang is the only "new" C++ compiler in widespread use I'm aware of, so it obviously benefits from a more modern implementation, having lessons learned applied during initial development.

      And COM never really went away (very few things in Windows do), but it's claim to fame was interprocess-communication and a language-independent execution model. New libraries have superseded the former, and .NET has largely replaced the latter. I'm not sure what constitutes "is back", but I've not heard anyone talking about it, and certainly nothing *new*. Maybe you're just hearing more about what's always been there since natively compiled code is making something of a minor comeback, with interpreted code like .NET never really having met promised performance expectations, even when JIT-compiled.

      As for 64-bit Visual Studio, it's strange that they're not looking more seriously at this, but my guess is they ran into some severe technical hurdles in early efforts to port it, so are downplaying the importance. I mean, who doesn't develop on 64-bit machines at this point? I'll bet they're working on it internally, but are not ready to commit to anything.

      --
      Irony: Agile development has too much intertia to be abandoned now.
    3. Re:visual studio by Elledan · · Score: 1

      I have been doing C/C++ development primarily on Linux/QNX (embedded) for a while, but recently figured that I'd try this new-fangled VS 2015 (Community Edition) after having used VS 2005 and 2010 (Pro) in the past with no complaints.

      Even though I am using a modern, high-end system with Windows 7 Ultimate, I didn't get VS 2015 to even install. It'd just flake out with a cryptic error message about a problem with a module or something, then after that I couldn't get the installer to get past that point, despite multiple reboots, nuking any trace of VS from the registry, etc.

      I also tried to install the stand-alone MSVC toolchain (why was it removed from the SDKs anyway?!) using the Beta installer, but that one presented its own nightmare with having to tweak the entire system so that tools and headers were even found. Definitely no GCC sysroot-like ease of use.
      In the end I just went back to my preferred workflow on Windows: writing code in Notepad++ and using Makefiles to compile my projects using MinGW (5.x, currently) in MSYS2 shell. Simple, easy and powerful.

      As far as I'm concerned there's no use case for Visual Studio or MSVC any more. GCC/MinGW, LLVM/Clang have passed it by years ago (especially with C support) and as an IDE it's passed the bloatware point multiple times. If one thinks they need Visual Studio/MSVC, they badly need to refactor their projects and their way of thinking.

      --
      Site & blog: http://www.mayaposch.com
    4. Re:visual studio by Fragnet · · Score: 1

      The problem here is you, not the tools. The tools install fine for me and absolutely everybody at work.

    5. Re:visual studio by AmiMoJo · · Score: 1

      The GP probably has a load of plugins installed. In my experience they are the cause of most slow loading and random error issues. Like you, VS loads in a few seconds for me, unless I have heavy plugins enabled.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    6. Re:visual studio by F.Ultra · · Score: 1

      So Microsoft have now reached a level where the whole Visual Studio suite is 100% bug free so any problems what so ever must always lie with the user. Never thought we would see that day coming ever.

    7. Re:visual studio by Dutch+Gun · · Score: 1

      Yep. I try to stay as plugin free as possible for exactly that reason. You definitely pay a price for that additional convenience. Or perhaps he's working with solutions with *lots* of projects, in which VS tends to bog down quite a bit. I previously worked for a company that seemed to have a fetish for creating lots and lots of tiny projects, and it tended to slow down the IDE quite a bit.

      It's also possible he's working on a project that tends to use some edge-case features that most devs don't use, which is causing issues for him. It's always a bit dangerous to veer from more established practices and patterns for exactly that reason, as you're more likely to hit bugs or performance issues that most other people don't see. Visual Studio is an old and massively complex piece of software, so there are always going to be some dark corners that cause problems if you veer into them. I'm not excusing it - just pointing that out as a reality.

      --
      Irony: Agile development has too much intertia to be abandoned now.
    8. Re:visual studio by ConceptJunkie · · Score: 1

      I've had some issues with VS2015, but nothing like what you've experienced. Have you tried completely uninstalling and reinstalling? I had to do that a couple times.

      I also have not heard that their compiler is antiquated. It seems to pretty up-to-date on the implementation of standards. I do recall that MS had the first compiler to be fully C++03 compliant, although, they've been more behind the curve with the newer standards. Now, the internal code might be antiquated, but it seems pretty solid to me as a user.

      And trust me, I am no fan of Microsoft.

      --
      You are in a maze of twisty little passages, all alike.
    9. Re:visual studio by ConceptJunkie · · Score: 1

      COM never fulfilled its promise from, what was it, almost 20 years ago.

      I was also surprised to see that VS2015 wasn't a 64-bit app. I guess like Flash, the codebase is too archaic and undisciplined to port.

      --
      You are in a maze of twisty little passages, all alike.
    10. Re:visual studio by ConceptJunkie · · Score: 1

      It's unfair to blame the user without knowing more detail. The only thing you can say for sure is that you and the people you know didn't have any problems.

      I installed VS2015 Community with little problem, but the compiler crashed on a lot of the code I was trying to build, code that was old, but built and worked fine with an older version of VS. I was only using Community until I received the license for Professional, at which point all the compiler crashes went away. Although their dev tools tend to be pretty good, Microsoft doesn't exactly have a good track record with stability, and I have a lot of doubt that whatever the GP was experiencing was necessarily due to user error.

      --
      You are in a maze of twisty little passages, all alike.
    11. Re: visual studio by Anonymous Coward · · Score: 0

      I too have been using Visual Studio for a very long time and concur with your experience. Its nice to read a rational, unemotional response such as yours on this topic. Thanks.

    12. Re:visual studio by PmanAce · · Score: 1

      That's funny, my VS2015 acts like a champ (no errors on start) and behaves the opposite of yours, with many plugins installed and used. You can navigate all you want without using the mouse, even alt-tab like between files and such, you just need to take 5 minutes to learn the shortcuts. Maybe you are holding it wrong?

      --
      Tired of my customary (Score:1)
    13. Re:visual studio by Anonymous Coward · · Score: 0

      So what's the alternative to COM for interprocess communication in straight C++ (not .NET)?

    14. Re:visual studio by Anonymous Coward · · Score: 0

      Sure they do, and you waste a day installing it.

      Now your machine goes down, waste another day staring at purple update screens that leave dozens of C++ Redistributable SKUs and SQL Server T-SQL Transact Portal to Hells installed.

      This is all normal, of course.

    15. Re:visual studio by Anonymous Coward · · Score: 0

      If you think MS documentation is bad you haven't worked with much tech. Unless bad means there's too much and you're not proficient with google. Also my computer has less than half those specs and boots VS2015 more than 2x as fast. You're full of it or doing something wrong...

    16. Re: visual studio by cyber-vandal · · Score: 1

      I had a lot of trouble installing VS2015 on one machine whereas it installed trouble free on another. They were very similar VMs so I don't know why one took several days of error messages and fighting to get it to install and the other went ahead seamlessly.

    17. Re:visual studio by Anonymous Coward · · Score: 0

      Hi,

      Maybe it's time to switch to Eclipse CDT :
      https://www.eclipse.org/community/eclipse_newsletter/2013/october/article1.php
      If something goes wrong with Eclipse, you are free to fix it... it's opensource...

      Regards,
      Guillaume

    18. Re:visual studio by Fragnet · · Score: 1

      There are bugs for sure, as there are in any big software project. That's what Microsoft Connect is for.

    19. Re:visual studio by Dutch+Gun · · Score: 1

      If you want to eschew .NET completely, then there aren't many, as far as I know, except for some pretty low-level primitives. You've got sockets, pipes, and file mapping to shared memory buffers (that's what I ended up using, as it seemed fastest and most straightforward). You then have to write some sort of protocol on top of that. I had a variant class that could serialize itself to and from memory buffers, so that formed the basis of my protocol.

      If you are okay with writing a C#/.NET interop bridge to your native code, and don't need to support legacy systems then you can use the new WCF APIs.

      --
      Irony: Agile development has too much intertia to be abandoned now.
    20. Re:visual studio by F.Ultra · · Score: 1

      So how can you be so sure that the problems that Elledan is experiencing with VS2015 is his fault and not that of the product in question?

    21. Re:visual studio by david_thornley · · Score: 1

      VC++ standards conformance has been lagging considerably behind g++ and clang. I'm not aware of anything in C++11 that isn't in VS2015, but that isn't saying much. They may have all of C++14 in there; I haven't checked.

      As far as C++03 conformance goes, C++03 had the "export" facility for templates, which was completely removed in the 2011 standard. Only the Comeau compiler handled that, which is one reason it was removed.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    22. Re:visual studio by Anonymous Coward · · Score: 0

      "terrible design API"

      What gave you that idea? Would it be that most C++ methods are overloaded eight args deep, and when you use them more than half of the args are NULL?

  11. x64 considered harmful? by Man+On+Pink+Corner · · Score: 1

    They cited a December MSDN post that had argued "smaller is faster," and that no performance benefits would be realized for users whose code and data already fit into a 32-bit address space, while most other issues could be addressed with better data design.

    Anyone who actually believes this has no business working on development tools.

    1. Re:x64 considered harmful? by west · · Score: 1

      Moving to 64-bit will massively reduce stability for years (given the thousands of pieces of 32-bit code they'll need to be working with for generations). Unless going to 64-bit gives me some big feature win that I don't know about, I'll vastly prefer that MS put the resources that it invests into VS into something that will *increase* stability.

      I am certain that there are a few folk who would benefit from this so much it would make up for the 32-64 bit hash that VS would turn into for a release or two, but I'm not among them, and I'm not willing to sacrifice my working environment *and* the developments that are foregone so the development can concentrate on 64 bit.

      And honestly, I suspect that for many, 64-bit is a checkmark feature, and is translated in their head to "fewer crashes" when in all likelihood the opposite it is true for quite some time.

      Of course, if there are some features that 64-bit code would benefit (and I'm running a million lines of code on a 120 project solution with VS not breaking a sweat), I would be genuinely interested to find out what they are.

    2. Re:x64 considered harmful? by Man+On+Pink+Corner · · Score: 4, Interesting

      With a very few specific possible exceptions, x64 code is indisputably faster than x86. The reduction in register pressure buys you a speed increase of about 10% in my experience.

      The code is somewhat larger, of course, but instruction caches have also grown in size since this was observed to be an issue.

      Meanwhile, recompiling correctly-written C++ code to target x64 amounts to changing a couple of flags in the build script, so laziness is no real excuse.

    3. Re:x64 considered harmful? by Anonymous Coward · · Score: 0

      I am certain that there are a few folk who would benefit from this so much it would make up for the 32-64 bit hash that VS would turn into for a release or two, but I'm not among them, and I'm not willing to sacrifice my working environment *and* the developments that are foregone so the development can concentrate on 64 bit.

      And honestly, I suspect that for many, 64-bit is a checkmark feature, and is translated in their head to "fewer crashes" when in all likelihood the opposite it is true for quite some time.

      Better sooner then later...

    4. Re: x64 considered harmful? by Anonymous Coward · · Score: 0

      Then why make the x32 abi?

      https://en.m.wikipedia.org/wiki/X32_ABI

    5. Re:x64 considered harmful? by west · · Score: 1

      Do you find VS CPU-bound in any meaningful way? I've always found it was I/O that cost.

      As for converting it to 64-bit, I would be *massively* surprised if updating the code didn't involve messing with hundreds, if not thousands of components, many of which haven't been touched in decades. There are amazing amounts of legacy in there that are absolutely essential to some customer somewhere, and *that* is where I figure you could spend man-decades of development, reduce stability and get almost nothing in return except that satisfaction of knowing you no longer need a copy of, say, Watcom C to do a full code recompile.

      Maybe VS is all beautifully clean and can be recompiled at will on the latest compiler, but I suspect reality is ugly.

    6. Re:x64 considered harmful? by Fragnet · · Score: 1

      All your pointers are twice as large but your cache didn't increase in size. I benchmarked my math library at 32 and 64 bit and the speed difference was statistically insignificant.

    7. Re:x64 considered harmful? by Man+On+Pink+Corner · · Score: 2

      Honestly, I live at the CLI and only use the IDE when I need to debug something, so I couldn't say if it would actually be worthwhile to recompile it for x64 or not. It's not true that there is no performance benefit in doing so, but I agree that it's far from clear that anyone would notice or care.

      The compiler itself (cl.exe) is already built as an x64 executable according to dumpbin, even though it still resides in the legacy c:\program files (x86) folder. That's where the performance really matters.

    8. Re:x64 considered harmful? by Man+On+Pink+Corner · · Score: 1

      Yeah, the benefits (or lack thereof) will depend on register usage to a large extent.

      A well-optimized math library is probably using SIMD operations that work the same in either 32-bit or 64-bit code, so even small penalties in code and pointer size may erase any performance gains when you move to x64. But most applications don't spend most of their time doing vectorized math, and I imagine that includes VS.

    9. Re:x64 considered harmful? by Anonymous Coward · · Score: 0

      They have more to consider than what you might worry about with CPU-bound algorithms.

      Being larger can make x64 slower for often important scenarios, in particular app launch when code needs to be loaded from disk, and for other memory intensive activities. For an app like VS, scenarios like compilation, linking, and code searching in large projects would be memory intensive. The larger pointers increase runtime memory sizes more significantly than the 10% code size growth you mention. Given the same processor, 32-bit code will see better memory locality and less paging.

      Visual Studio also supports custom extensions, which, assuming extensions are in-proc, means being 32-bit only simplifies extension development, and that changing that could introduce significant compatibility challenges for existing extensions.

    10. Re: x64 considered harmful? by reanjr · · Score: 1

      Plugins are not a valid reason to maintain an antiquated platform. Look at Firefox. They thought their plugins were all so fucking awesome, they failed to get their product updated for Windows until just last year. And look at how Chrome has eaten them alive.

    11. Re: x64 considered harmful? by Anonymous Coward · · Score: 0

      I think we're still waiting for an explanation for that. The best one so far is "because they could"..

  12. Nobody by Anonymous Coward · · Score: 0

    Needs more than 640K.

        -- Bill Gates

    1. Re:Nobody by yuriklastalov · · Score: 1

      I, for one, welcome our 640Kb address space overlords!

  13. Steam client is doing the same by jwymanm · · Score: 2

    No 64 bit version "because not needed" on Linux meanwhile you have to install 64 multilib packages and compile from source many of those on ArchLinux just to run Steam. Come on guys, you can argue that staying 32 bit is smaller but then it actually becomes larger because you have to install tons more 32bit libraries to support legacy on our all shiny 64 bit systems. In effect it is smaller and leaner to go all 64 bit.

    1. Re: Steam client is doing the same by Anonymous Coward · · Score: 1

      Even if there was a 64 bit steam client, and you removed all of your 32 bit compatibility libraries, why would you even bother to install steam?
      99% of your game library that is 32 bit only wouldn't run.

    2. Re:Steam client is doing the same by Anonymous Coward · · Score: 0

      I think that's a pretty Apples and Oranges comparison. For Steam, they have no real desire to make a 64-bit client because it's smaller for THEM, both in the resulting binaries distributed and the amount of effort to maintain that client. That the end user is inconvenienced to have to go 64-bit multilib is still better than to "go all 64-bit" (and abandon 32-bit) or to maintain yet another client version.

      In any case, what makes this Apples and Oranges is that Steam isn't running out of memory on multi-gigabyte source, compiles, debugging, whatever. That's something Visual Studio has an actual problem with. So, to them, the whole "it crashes" would seem to "not be good for performance". Well, bad for the users. And not merely in the inconvenience of having to install a few more libraries.

    3. Re:Steam client is doing the same by jwymanm · · Score: 1

      It may look apples to oranges to you but it is one more inconvenience/hurdle and the 32 bit audio libraries system in Linux give a lot of cause for concern. I don't understand the backlash against going all 64-bit which is what I was pointing out. Different inconveniences yes but the argument is the same.. "not needed, fix it yourself." Linux needs fewer reasons for people to not game on it, not more. Maintaining separate libraries, build chains, etc causes not just overhead but also security issues, more package management, more integration problems, and just introduces more bugs. If Steam or Visual Studio were opensource they would already be 64-bit no questions asked - it doesn't matter the different concerns.

    4. Re: Steam client is doing the same by jwymanm · · Score: 2, Informative

      http://store.steampowered.com/... Less than 7-8% total using 32-bit systems to run Steam. Games need to catch up to 64-bit land. It is a good/valid point that you need the libraries to run the games but that is slightly different than having to install them just to start Steam. It's also arguing towards the negative not the positive.. Mobile is going 64 bit also and I doubt it will remain very 32 bit compatible.

    5. Re:Steam client is doing the same by Anonymous Coward · · Score: 0

      Steamworks developer here. I've got 2 projects on Steam and both work in Linux and both are 32 bit.

      Why is Steam 32 bit on Linux? Because most of the games on Steam are compiled for 32 bit. The majority of titles are a few years old. No one is going to take the time to recompile them with 64-bit support. It's better for Steam to insure compatibility by having Steam client be 32-bit than it would to have a 64-bit client and a mass of Nooblars running Ubuntu not knowing why their 32bit games aren't working.

      Instead of complaining about a 32-bit client program. How about not using a shitty distro that makes 32-bit lib installs difficult to install? I drop Arch almost a decade ago when they lost KISS and started sucking RedHat's ass with the /usr/bin move and systemd. You should do the same.

    6. Re:Steam client is doing the same by Anonymous Coward · · Score: 0

      It may look apples to oranges to you but it is one more inconvenience/hurdle ...

      Which is incredibly small given most people (like me) already have multilib and several 32-bit libraries installed because plenty of open source apps are still 32-bit.

      ... and the 32 bit audio libraries system in Linux give a lot of cause for concern.

      Citation needed? Because I've literally never had issues with 32-bit audio libraries.

      I don't understand the backlash against going all 64-bit which is what I was pointing out.

      Backlash? Minor disagreement, maybe.

      Different inconveniences yes but the argument is the same.. "not needed, fix it yourself." Linux needs fewer reasons for people to not game on it, not more.

      Which has 99% to do with games not running on Linux or not being adequately tested on Linux. Especially 32-bit games that don't function right on 64-bit systems because of missing libraries. Seriously, Steam has never been the issue for me. Nor has being 32-bit been the problem per se but rather being 64-bit.

      Maintaining separate libraries, build chains, etc causes not just overhead but also security issues, more package management, more integration problems, and just introduces more bugs.

      You know, your argument amounts to "Everything should remain 32-bit", right? Because old games are not going to be ported to 64-bit. Hell, trying to force developers to go 64-bit breaks your "Linux needs fewer reasons for people to not game on it, not more".

      If Steam or Visual Studio were opensource they would already be 64-bit no questions asked - it doesn't matter the different concerns.

      Look back about my point about 32-bit open source games still not made 64-bit? Why? Because multiarch make porting not worth the effort if there were any problems when someone tried to compile with -m64. Why waste the resources porting a bunch of old games that already work fine? Because you want 64-bit purity? Well, yea, if you really just *have* To have it then "not needed, fit it yourself" because you're in the minority.

      Now, if you want to come back and argue about actual problems (like I've seen) with games not working or if Steam isn't working for you, then please at least show (with some certainty) that if Steam were 64-bit suddenly these problems would disappear. Because, again, otherwise you're arguing we should all go 32-bit and avoid splintering on the extant games that fill the library out. (Unless you can find some 64-bit only games on Steam.)

    7. Re:Steam client is doing the same by Anonymous Coward · · Score: 0

      and yet, I can install Ubuntu and compilers in 15 minutes, and it doesn't take much more then 3GB, fully functional.

      I had to do the same from Win8->8.1->10 and install VS. The fucker took over 40GB (and 8 hours).

      So it's smaller?

    8. Re: Steam client is doing the same by ADRA · · Score: 1

      Well... as much as I poo poo 32-bit ancestors, there are certainly some areas where you don't -need- to go 64. For an end-user application, your only necessity to upgrade is for > 2/3 GB ram limits. You are sacraficing some nominal level of performance doing so. For something like an IDE, I certainly see uses over that limit. Other programs, less so.

      --
      Bye!
  14. rofl by Anonymous Coward · · Score: 0

    m$ is right. Use a proper compiler and make system. GCC + make.

    1. Re:rofl by lucm · · Score: 1

      Use a proper compiler and make system. GCC + make.

      Or let go of antiquated technologies and use the javascript compile and make system. It's called "CTRL-S", although some geeks use ":wq" or "ZZ" on linux.

      --
      lucm, indeed.
  15. i hate microsoft by Anonymous Coward · · Score: 0

    i so hate and loth microsoft now, and i think most of the world feels the same way. die microsoft just die.

  16. hyun@poczta.pl by Anonymous Coward · · Score: 0

    This is really bad - and against the trend.

  17. 64-bit Windows by Yurka · · Score: 3, Insightful

    is and has always been a disgusting kludge on top of the 32-bit (that they finally managed to get in decent shape). Faced with the necessity to build something just as ugly for another product, I'm not sure I would have reacted differently than they did.

    Oh, and the bit about valuing the feedback is priceless, of course.

    --
    I can assure you, the best way to get rid of dragons is to have one of your own.
    1. Re:64-bit Windows by Anonymous Coward · · Score: 0

      What are you referring to? 64-bit Windows has been fine since Vista. There's a little kludge in running 32-bit applications, but from most users' points of view the WoW64 system is seamless. As an applications developer I haven't noticed any issues either.

  18. This'll change... by RyanFenton · · Score: 2, Insightful

    Microsoft makes very good developer tools - but the decision on how to make them, unfortunately, has constantly been shaped by a LONG series of internal political decisions on what products they want to be promoting at that very second.

    DirectX, Crystal Reports, 'Modern' (metro to everyone else), the dot Net framework, phones, MS-specific java,, etc., etc... Some of them ended up good ideas, some of them were just what they wanted to push to capture some market. It's a big part of why it's actually something of a bad idea to just read Microsoft documentation on their own products - they'll tend to color every piece of introductory material in light of what they want to promote at that moment, what they want YOU to do for THEM.

    They also tend to stall on some technologies that they feel will shift resources in a way that won't help them at that very moment. Shifting to 64-bit developer tools might be a bit expensive to test binary interoperability with everything - and Microsoft also hasn't found a very good consistent method of hosting 32-bit DLLs into 64-bit executables that isn't just some piped communication between different process spaces. I can understand their reluctance to commit resources into something they're not sure they can make work seamlessly.

    But really, I've seen a lot of my Visual Studio exe memory usage stats floating up to the large-address-aware 32-bit limit. Even if it doesn't meet 100% compatibility/interoperability, I think it would still be a good idea to start an experimental option of a set of 64-bit build environments. Perhaps with embedded 32-bit memory spaces that you can host stuff in without loading errors, if at all possible - but 64-bit-only restrictions if that's not possible would also be acceptable.

    Ryan Fenton

    1. Re:This'll change... by Anonymous Coward · · Score: 1

      "Microsoft makes very good developer tools"....

      And then you list the reasons they are NOT very good.

    2. Re:This'll change... by Anonymous Coward · · Score: 0

      But he signed his name.

      Anonymous Coward

    3. Re:This'll change... by Anonymous Coward · · Score: 1

      Fuck me, it's not about accessing >4GB RAM, it's about utilising the fucking extra registers in modern CPUs; which in turn give massive processing boosts. Jesus fucking christ, FUUUUCK ME! Anyone that cannot see that should fuck off back to certificate camp and get their money back.

    4. Re:This'll change... by superwiz · · Score: 2

      They don't want to enable development of binaries which are large. They may want to force developers to break projects into smaller modules. MSVC will produce 64-bit executable and DLL's. So it's not like you can't use more space than that during the execution. But they want to force the design to be more modularized. So people would not do things like embedd images in their executables as text-encoded binaries, but would rather have resource files and load them at run time. The runtime of any one executable can easily exceed the 32bit binary boundary after all DLL's and resources are loaded, they just don't want people to do things like write 100MB source files and then force the compiler/editor to parse through that to generate a monolithic 10GB binary. The MSVS executable is what's 32-bits... not the runtimes that it generates.

      --
      Any guest worker system is indistinguishable from indentured servitude.
    5. Re:This'll change... by Anonymous Coward · · Score: 0

      Whoa - I've been in 64-bit managed code land for so long that I completely forgot that the register count doubled, in addition to doubling the length. Thank you.

  19. It can't, not that it won't by Anonymous Coward · · Score: 0

    Big difference. The team size is unbelievably small as it is, with those who knew the guts have already left.

    Silent?

  20. WTF- this does not mean no 64-bit development by Anonymous Coward · · Score: 0

    This site gets ever worse- focusing as it does on State Department guideline PROPAGANDA against Iran and Russia. The so-called 'tech' articles are now just the (badly considered) 'SUGAR' to help the State Dept propaganda Slashdot articles go down.

    Visual Studio remaining a 32-bit application means NOTHING. Unless a SINGLE source file exceeds the 4GB limit, no issue will occur. And, of course, the compilers that come with VS have supported the development of true 64-bit applications forever.

    1. Re:WTF- this does not mean no 64-bit development by CSMoran · · Score: 1, Troll

      Visual Studio remaining a 32-bit application means NOTHING. Unless a SINGLE source file exceeds the 4GB limit, no issue will occur.

      Let me get this straight. Are you honestly suggesting that if I try to compile or refactor a monstrosity that a 3.9GB C++ file worth of nested template forests would be, this 32-bit version is going to take it and not fall over or grind to death swapping? I'm not a VS user, and will be happy to stand corrected (and amazed), this is an honest question.

      And, of course, the compilers that come with VS have supported the development of true 64-bit applications forever.

      We know. Restating the unrelated obvious and tagging it 'obvious' does not your point make.

      --
      Every end has half a stick.
    2. Re:WTF- this does not mean no 64-bit development by Anonymous Coward · · Score: 1

      VS does not give even a tiny crap about how big your files are. It's a text editor, file manager, build controller, source code repository client, and a million other ancillary dev tools all rolled into one. It is not a compiler.

      Visual studio is "devenv.exe", and is 32-bit only.

      The compilers are "cl.exe" (C++), "csc.exe" (C#), "vbc.exe" (Visual Basic), and "fsc.exe" (F#). All of these are 64-bit.

      So unless your MSBuild script (basically a makefile that works with all of Microsoft's compilers) is larger than 4GB, you're just fine working with devenv.exe. If your MSBuild script gets larger than that, you're doing it wrong.

  21. 64bit version?? by zakeria · · Score: 1

    Sure that would mean using more memory?

    1. Re:64bit version?? by DaHat · · Score: 1

      Correct. Even more memory for the same project.

    2. Re:64bit version?? by Anonymous Coward · · Score: 0

      It also doubles the number of general and FP registers available for execution, and that's what yields most of the 64-bit speed-up.

    3. Re:64bit version?? by hey! · · Score: 2

      Sure that would mean using more memory?

      Of course. But it also means being able to employ more memory.

      The math works like this, roughly: going to 64 bits can increase the memory needed by a factor of up to 2^1. At the same time it expands your memory space by 2^32. So that project that the IDE was thrashing on because the projected needed 5 GB of RAM may need 10 GB o RAM after the IDE is migrated to 64 bit. But that's fine because a basic developer's machine has 16GB of RAM these days. The problem was that you couldn't make use of it.

      I'm old enough to have gone through this three times: once going from eight to sixteen bit; next from sixteen to thirty two and then finally thirty-two to sixty-four. I think it's pretty safe to say that I won't ever have to go through another power-of-two word size shift though:) .

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    4. Re:64bit version?? by zakeria · · Score: 1

      We know how memory works, but the IDE has nothing to do with the running program when executed! or am I getting the wrong end of the stick? Do programs made with the IDE not produce 64bit code or something??

    5. Re:64bit version?? by Anonymous Coward · · Score: 0

      sixty-four != fourty-eight

    6. Re:64bit version?? by Desler · · Score: 1

      We know how memory works, but the IDE has nothing to do with the running program when executed!

      This entire story is about the IDE itself. Reading comprehension skills. Do you have them?

    7. Re:64bit version?? by Yaztromo · · Score: 2

      Sure that would mean using more memory?

      Yes, but how much depends on the application. I haven't found a good scholarly reference on average memory use increase for 64 bit applications, however some rough worst-case scenarios I've found see to indicate a 20% memory increase is considered to be at the high end. Most applications will see much less of an increase.

      On the flip side, 64 applications get a lot more registers available to them in x86_64 mode -- eight additional General Purpose Registers. Thus, a compiler can better optimize applications to squeeze more performance out of the processor, by loading more data into registers (or potentially by not having to swap data in and out of registers as frequently as in 32 bit mode).

      Most consider this a good trade off. Extra RAM is easy to come by when compared to extra processing speed.

      Yaz

    8. Re:64bit version?? by lgw · · Score: 1

      I'm old enough to have gone through this three times: once going from eight to sixteen bit; next from sixteen to thirty two and then finally thirty-two to sixty-four. I think it's pretty safe to say that I won't ever have to go through another power-of-two word size shift though:)

      Sort of. The current "64-bit" platform only supports 48-bit addressing. (Deja-vu, since I learned on 32-nit machines that only supported 24-bit addressing). There are servers now with 2 TB of memory - 41 bits. I suspect we'll see 512 TB servers in my lifetime, especially if SSDs get so fast that memory-mapped files become the common architecture.

      Will it be a non-trivial port to move to real 64-bit addressing? I doubt it - I'm sure there's already lots of code that assumes pointers are really only 48 bits for one efficiency optimization or another.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    9. Re:64bit version?? by zakeria · · Score: 1

      clearly you don't cause you seem not to be able to follow the line of conversation!

    10. Re:64bit version?? by Anonymous Coward · · Score: 0

      Up to 2x more memory usage cased by larger pointers and some alignment padding. But that assumes your entire program is nothing but pointers, no actual data. Data usage does not increase, only pointer usage. Typical memory increase is typically closer to 5%-15%. A bigger issue with 32bit when using most of the memory space is virtual memory fragmentation. I regularly see 32bit applications that out-of-memory when they reach about 1.6GiB(80% utilization). Just by switching to 64bit, the applications still use less than 2GiB but no longer crash. They don't even need 2GiB of memory, but in 32bit mode, they crash because they can't find contiguous memory.

    11. Re:64bit version?? by Anonymous Coward · · Score: 0

      Actually, we do have 64bit addressing and 64bit memory mapped files are supported. What is 48bit is the actual real physical memory that can be addressed. That would require more traces, which would have gone completely unused for almost 2 decades. It was a good decision since the transistor count increases with the square of the bit width. 48bit was a good trade-off, and still is for at least a bit longer for the high end. Most technologies support horizontal scaling, so we'll be able to survive for a while if/when we bump against the 48bit limit. We still have to increase our memory densities by 100x before we get there, and memory has not been growing too quickly, and is less useful with cheap SSDs.

      We've actually been running into algorithmic limitations as memory has gone up. Many OSes memory management and caching have been having issues. Deferred memory clean up with linear run times has issues with exponentially scaling amounts of memory. In the past, adding more memory meant more applications didn't need to swap. We're reaching a point were more memory just means more cache. In the past 100% memory memory may have meant 10% more cache, but now 100% more memory may mean 200% more cache. Funny how that works. Instead of algorithms that reach a point and kick in, they're now looking into more near-realtime monitoring and amortizing clean-up in a concurrent fashion over time. As a rule of thumb, concurrency is hard, and kernel mode concurrency is harder yet. There is also the issue is the algorithms need to scale from 1GiB single-core netbooks to 256TiB servers. Or it would be nice to have one algorithm instead of having some hybrid system. Kernel mode critical services like memory management is much easier when the system as a whole has known static characteristics instead of "depends".

    12. Re:64bit version?? by Agripa · · Score: 1

      This entire story is about the IDE itself. Reading comprehension skills. Do you have them?

      Grammar skills: do you have them?

  22. I wish IntelliJ was 32-bit! by Anonymous Coward · · Score: 0

    It eats-up memory like nothing I've ever seen before. My 32 GB desktop swaps like hell when running builds on a large Java project, and simple things like find usages can take tens of minutes. I wish it was limited to 4 GB.

    1. Re: I wish IntelliJ was 32-bit! by Anonymous Coward · · Score: 0

      This! I wish IDEA was limited to 4 GB per instance. Our system consists of six Java Spring back ends so I very often run three or four copies of my IDE. Even with 64 GB, IDEA still swaps constantly. It can't even keep up with my typing.

    2. Re: I wish IntelliJ was 32-bit! by Anonymous Coward · · Score: 0

      I've quit two jobs because they made us use IntellJ. I no longer have the patience for it.

  23. We told you so, suckers by localroger · · Score: 0

    Back when Microsoft stabbed the VS6 community in the back some of us told you you would be fools to migrate to .NET, because Microsoft had proven themselves to be an untrustworthy company which will sell you out for a chance to pimp their latest not even very good product. Well it's taken 13 yaers but welcome to the club. They almost sold you guys out with Silverlight as the supposed dev tool for Metro, but the howls of outrage deterred them and then Metro flopped. But hey, no 64 bit for you guys either. Sucks to be us Microsoft platform devs. Hey, there's always web development...

    --
    Brackets contain world's first nanosig, highly magnified:[.]
    1. Re: We told you so, suckers by cyber-vandal · · Score: 1

      .NET is still going strong after 14 years. A new cross platform version of it is at RC2. People are desperate for .NET to die but it doesn't seem to be going anywhere.

    2. Re: We told you so, suckers by Anonymous Coward · · Score: 0

      He never said anything about dying. But MS screw you devs. You can rewrite right?

  24. The good news is... by Gravis+Zero · · Score: 1, Insightful

    GCC and LLVM have full 64-bit capabilities and are free.

    --
    Anons need not reply. Questions end with a question mark.
    1. Re:The good news is... by DaHat · · Score: 1

      You must not have read even the summary.

      There not being native 64-bit version of Visual Studio is the beef... the backend build system (MSBuild) has long supported running native 64-bit toolchains.

    2. Re:The good news is... by Anonymous Coward · · Score: 0

      And the tool chain in Visual Studio has full 64-bit versions too. We're talking about the development environment, not the compilers.

    3. Re:The good news is... by Gravis+Zero · · Score: 0

      and i'm saying that GCC and LLVM come in 32-bit and 64-bit flavors.

      --
      Anons need not reply. Questions end with a question mark.
    4. Re:The good news is... by Desler · · Score: 2

      GCC and LLVM are not IDEs. So your comment actually has fuck-all to do with the story.

    5. Re:The good news is... by Fragnet · · Score: 1

      You're not comparing like with like.

    6. Re:The good news is... by Anonymous Coward · · Score: 0

      ...and he's saying we aren't about compilers, we're talking about IDEs not including the compiler.

    7. Re:The good news is... by AmiMoJo · · Score: 1

      Visual Studio supports them both, but that's not the problem. It's the IDE itself that is running out of memory. People have massive projects with many sub projects, databases, GUI designs, web layout editors and previews...

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    8. Re:The good news is... by Desler · · Score: 1

      GCC and LLVM are not IDEs. What about that is so hard for you to grasp?

    9. Re:The good news is... by Anonymous Coward · · Score: 0

      How does a text editor run out of 3GB of memory? who's codebase is that gigantically large?

  25. They are right. by Anonymous Coward · · Score: 0

    I agree with all of their reasons. Posting anonymous because the open-minded slashdot hive-mind can't tolerate dissent even when it is informed.

  26. Jetbrains by Anonymous Coward · · Score: 1

    Once you use IntelliJ and their other IDE's for C/C++ you won't ever like Visual Studio again.

    JetBrains has great IDE's.

    1. Re:Jetbrains by Anonymous Coward · · Score: 0

      Does your suggested IDE have edit and continue? No? No thanks.

    2. Re:Jetbrains by Anonymous Coward · · Score: 0

      Yes, it's called Hot Swap.

    3. Re:Jetbrains by Tony+Isaac · · Score: 2

      Competition is a good thing. Once they come out with an IDE for .NET (Project Rider), Microsoft will finally have some real competition in the IDE space. THAT might well be what Microsoft need to help it decide to put in the effort to make a 64-bit version.

  27. Couldn't the compiler... by kungfuj35u5 · · Score: 1

    ultimately benefit from being 64 bit as it allows for things like better vectorized string comparisons? I mean if anything it'd be a measurable improvement in speed. You get more GPRs and larger/wider vector registers. And it wouldn't shock me if a templated piece of c++ managed to make the compiler, optimizer, preprocessor and linker manage to consume a fair bit of that 32 bit address space for a given single compile process.

    1. Re:Couldn't the compiler... by superwiz · · Score: 1

      ultimately benefit from being 64 bit as it allows for things like better vectorized string comparisons?

      At compile time? The MSVC binary itself is what stays 32-bit. It will produce 64 binaries without any issues.

      --
      Any guest worker system is indistinguishable from indentured servitude.
    2. Re:Couldn't the compiler... by Lord+Crc · · Score: 1

      The MSVC binary itself is what stays 32-bit.

      If you're referring to the actual compiler (cl.exe), there's a 32bit bit version, a 32bit cross-compiler (outputs 64bit binaries), and a native 64bit version.

      The article is talking about the IDE itself, not the build tools. It will use the 64bit version of the compiler for building 64bit applications if your OS is 64bit.

    3. Re:Couldn't the compiler... by kungfuj35u5 · · Score: 1

      I mean the compiler binary itself, though after reading some other comments it appears that the compiler toolchain itself may be compromised of 64 bit binaries, anyway.

  28. SQL Management Studio by Anonymous Coward · · Score: 0

    The exe for SQL Server management studio is devenv. Plugins for it (which are not officially supported, but which are possible) use the visual studio object model. There are times when you want to copy large result sets out of SSMS to your business-user tool of choice - excel, access, tableau, etc. Out of memory exceptions are common when these result sets are large.

    It's true that there are other ways to get the data out... import/export, SSIS, etc. But as someone who, on some days, might write 20 to 30 ad-hoc queries for business analysts to consume, I assure you that the extra few minutes required to do anything other than copy-paste *does* add up. Therefore the memory limitation of SSMS is a real, practical frustration in my day to day work.

    The same argument applies to SSDT, or any other data-centric development tools based on visual studio.

    As a long time fan of visual studio, and someone who has developed almost entirely within the MS ecosystem for 20 years, I outright reject the MIcrosoft argument as empirically absurd.

  29. The problem is debug, not build by Sarusa · · Score: 5, Informative

    The big problem is debugging.

    We've got a 64-bit app which VS will happily build and the app runs fine. But if we want to debug it live VS chokes, falls over and dies, out of memory once the app uses more than 3 GB.

    It's legit using > 4GB because it's heavy image processing of large color images at high dpi and the machines are specced for it. Obviously, we could page stuff in and out of memory ourselves, but that rather defeats the purpose of 64-bit OS and would slow everything down (speed is paramount here, burning memory to get it was a primary design decision) - and the program runs fine when not debugging in VS.

    1. Re:The problem is debug, not build by Anonymous Coward · · Score: 0

      Just curious, how much effort would it take to port your project to *nix/BSD/OSX or are you completely locked in to MS tools/libs? Seems like anyone with a beefy app like yours would be in the same situation.

    2. Re:The problem is debug, not build by Anonymous Coward · · Score: 0
    3. Re:The problem is debug, not build by Anonymous Coward · · Score: 0

      What are you talking about dude? The debugger is already 64bit. In any case the debugged application allocating memory has absolutely nothing to do with anything. Wait, what am I doing wasting my time... You are an idiot, and don't know what the fuck you're talking about anyway.

    4. Re:The problem is debug, not build by lgw · · Score: 4, Informative

      The debugger is msvsmon.exe. It has a 64-bit version, which runs automatically when you configure the project to be 64-bit. Visual studio just wraps a handy GUI around that. Something's wrong in your project settings if you can't debug a running app with lots of memory.

      The only problem I've ever had with large source trees is that Intellisense shits itself beyond some point - but I somehow doubt it's (only) a memory issue.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    5. Re:The problem is debug, not build by Anonymous Coward · · Score: 0

      The debugger like the compilers etc is 64 bit. something else is wrong if your system is borking when debugging.

    6. Re:The problem is debug, not build by Sarusa · · Score: 2

      There is definitely Something Wrong. And don't blame the project settings - that's the lazy way to go, since VS's project settings are so ridiculously convoluted and arcane compared to a makefile. You could blame any VS bug on 'your project settings must be wrong'. But we have recreated the entire solution from scratch trying to stop this from happening. Did we do wrong by not sacrificing a f@#$ing goat?

      It runs out of memory when debugging the 64-bit app when any single object is larger than 3GB. If you've got a Brillant Paula Bean solution for this, DO TELL.

    7. Re:The problem is debug, not build by Sarusa · · Score: 1

      It might be worth looking into Mono - we haven't looked for a while. At the time, C# debugging was pretty primitive but now the soft debugger might be usable- or at least more usable!

    8. Re:The problem is debug, not build by Sarusa · · Score: 1

      VS is shitting the bed at 3GB. That sure seems like a 64-bit issue, but unless you've got anything useful to say, yeah, don't waste your time.

    9. Re:The problem is debug, not build by Sarusa · · Score: 1

      I would not be surprised in the least if VS had other issues that prevented it from working with 64-bit memory allocations.

      But whatever the cause, the effect is the same - we can't debug 64-bit apps with 64-bit memory allocations. It's effectively stuck at 32 bit.

    10. Re:The problem is debug, not build by Sarusa · · Score: 1

      Thank you, but... it doesn't work. As soon as the app allocates more than 3GB VS falls over dead, even with all the handwavey '64-bit'.

    11. Re:The problem is debug, not build by Sarusa · · Score: 1

      And again (my apologies for the double post), the compiled app itself runs fine using 24GB of memory. It's obviously 64-bit and happy.

      The only problem is when you try to debug it in VS, and then VS dies with an out of memory error.

  30. Afraid of Open Source ? by Anonymous Coward · · Score: 0

    Afraid of Open Source ? Or simply afraid of linux/FreeBSD ?
    Those OSes can do the job efficiently...

    I was only wondering why they could think that a 32 bits is most of the time a better deal ?
    Should people use a 16 bits so it would be better ? And who knows a 8 bits could do the trick I suppose ?

    May be it is just a marketing thing ... Oh, sorry just a communication thing to say "We still exist" ...

  31. Re: ... Because our Compilers suck heavily by cyber-vandal · · Score: 1

    What the fuck are you taking about.

  32. Well of COURSE by cfalcon · · Score: 1

    4194304k ought to be enough for anyone

    1. Re:Well of COURSE by ADRA · · Score: 1

      Your joke would've been better if accurate. Only 2GB of 32 bit space is application addressible. So you'd need 2 GB of system allocated address space for it to make sense.

      --
      Bye!
    2. Re:Well of COURSE by cfalcon · · Score: 1, Funny

      I can't be bothered to keep track of EVERYTHING Microsoft does wrong, I am just one man!

    3. Re:Well of COURSE by superwiz · · Score: 1

      If your source code is larger than that, you may wanna break it up into smaller modules. Just saying. MSVC will produce 64-bit binaries. It just isn't itself a 64-bit binary.

      --
      Any guest worker system is indistinguishable from indentured servitude.
    4. Re:Well of COURSE by Anonymous Coward · · Score: 1

      Linux, FreeBSD, and Solaris do the same thing. Welcome to the world of protected mode and 1/2 of the virtual address space in each context being reserved for the kernel. Only 30 year old information.

    5. Re:Well of COURSE by Anonymous Coward · · Score: 0

      On a 32-bit OS, you'd get only 2GB of address space (I think that can be increased to 3GB with flags) because some address space has to be reserved for the kernel. But on a 64-bit OS the kernel's address space is in the high 2^63 bytes, so a 32-bit process gets almost a full 4GB of address space.

      dom

  33. Why do you even need VS? by melted · · Score: 4, Informative

    I worked at MS in early 00s. We didn't use VS to write code. We used a stripped down version of VS or even WinDbg to debug. Nowadays I use Vim and YouCompleteMe (on Linux) and it just works. Zero dollars, easy to set up.

    1. Re:Why do you even need VS? by BlackPignouf · · Score: 5, Funny

      Nowadays I use Vim

      I've also been using Vim since the early 00s.
      I'm stuck, and still didn't figure out how to quit the editor.

    2. Re:Why do you even need VS? by whoever57 · · Score: 1

      I'm stuck, and still didn't figure out how to quit the editor.

      I guess that you don't get much sleep ('ZZ's) at work?

      --
      The real "Libtards" are the Libertarians!
    3. Re:Why do you even need VS? by Tony+Isaac · · Score: 1

      Back in 1996, I used vi to write code. Each week, I would write out some command sequences I wanted to learn, and tape it to the wall behind my monitor. In this way, I got pretty good at using the tool.

      But since then, an amazing thing was invented: the GUI. Why should I have to memorize all those obscure command sequences? Sure, it makes sense to learn shortcuts for frequently-used commands, but not so much for the rarely-used ones.

      Command lines are good for scripting, but they aren't ideal for every-day productivity.

    4. Re:Why do you even need VS? by melted · · Score: 1

      With vim, there's actually a reason for it. Those "obscure" commands are COMPOSABLE: http://stackoverflow.com/quest.... You physically can't be more productive with a GUI. And then there's the fact that I can log in to any server, pull a git repo with my vim config, and voila, I have a pretty serviceable development environment, even if I'm connected through a shitty internet connection from halfway across the globe. Your GUI can't do that.

    5. Re:Why do you even need VS? by Anonymous Coward · · Score: 0

      I'm stuck, and still didn't figure out how to quit the editor.

      That is the real reason Linux uptimes are so much better than those of Windows. ;)

  34. In other news by Anonymous Coward · · Score: 0

    Microsoft declines to sell an OS that isn't Global Mother Fucking Spyware.

    Bill is down to his last $80 Billion. Of course he doesn't want to talk about the expenses of selling an OS that isn't Global Mother Fucking Spyware.

    He isn't paying anybody to mention it either.

    Thanks Microdot.

  35. I have some sympathy... by grahamtriggs · · Score: 2

    The immediate reaction is to say it is silly that they are not offering a 64-bit version.

    But many developers are likely using a number of extensions - which will currently be 32-bit because that's what Visual Studio is, and 64-bit would require all the extensions provide new versions as well.

    It probably wouldn't take a huge effort to offer Visual Studio as both 32-bit and 64-bit versions (just like Office). But a more useful - although much longer - use of engineering effort would be to take the full Visual Studio experience on to the CLR.

  36. Oblig Steve Ballmer by seven+of+five · · Score: 1

    Developers....?

    Developers....?

    Developers....?

  37. Don't get me started... by Anonymous Coward · · Score: 0

    Microsoft also claim that a C++ program that uses DLLs does not have to conform to any language standard since DLLs are "modules". For example, static destructors are not sequenced correctly when using DLLs. This causes all sorts of issues when combined with new language features such as threading.

  38. VS Debugger by ChadSmith4920 · · Score: 1

    Changes to 64-bit applications are not allowed. :-(

  39. Oh, .NET isn't going away by localroger · · Score: 1

    Like VS6 too much real work was done with it for it to go away any time soon. But it's now abandonware. MS obviously isn't interested in keeping it up to date any more. All the versions that still work will probably continue to for some time, just as you can still run VS6 apps. (Actually, VS6 apps run better than older .NET apps today, having way fewer dependencies.) But expect things to start breaking, add-ons to stop being supported and working, and expect no help from MS when these things happen. They're on to the next shiny thing. .NET isn't it any more.

    --
    Brackets contain world's first nanosig, highly magnified:[.]
    1. Re:Oh, .NET isn't going away by OhPlz · · Score: 1

      They've opened it up to other platforms. Doesn't seem like they're in a hurry to make it obsolete. It could potentially replace Java, especially if Oracle keeps suing people for using it.

    2. Re:Oh, .NET isn't going away by Anonymous Coward · · Score: 1

      So you're trying to tell me that .Net 4.6 wasn't just released last year? And that they're going to drop support for it soon, even though they've A) announced no such thing, and B) doubled down on it with UWP?

      You, sir, are an idiot. Probably from years of exposure to VB6.

    3. Re:Oh, .NET isn't going away by cyber-vandal · · Score: 2

      If .NET has been abandoned, what's the replacement? Why have they completely rewritten software they're going to abandon. What's this? You really don't know what you're talking about. Ever since Silverlight was abandoned, people like you keep posting this shit about .NET being dead and yet Microsoft keep releasing new versions and making you look like fools.

  40. Microsoft is Dangerously Incompetent by macs4all · · Score: 1

    How ridiculously broken does your overall OS and Application Development design have to be to make the transition from 32 to 64 bit this hard?

    I'm REALLY not Trolling; but OS X went through an entire CPU ARCHITECTURE change (and actually TWO, if you count iOS as an offshoot of OS X, and THREE if you count the "Classic (Blue Box)"/Carbon APIs), PLUS handled 32 to 64 bit transition (some of it happening at the SAME TIME as the PPC to Intel Transition), and almost ALL OS X users noticed NOT A SINGLE THING.

    In fact, with OS X, the ONLY place I have heard of ANY 32 to 64 bit pains were with Audio Unit Plugins. There might be a few others, but it CERTAINLY wasn't front-page news anywhere.

    Can you IMAGINE how wonderfully that all would have gone with Microsoft?

    Oh, and NT is supposedly every bit as CPU-Agnostic as NeXTStep (afterall, there was even a version of Windows NT for PowerPC); so I really don't want to hear anything about how much harder it is with Windows.

    MS has a bunch of THE LAZIEST DEVELOPERS ON THE PLANET.

    1. Re:Microsoft is Dangerously Incompetent by superwiz · · Score: 1

      As I mentioned in the other post, it's 32 bit compiler binary... not a binary only capable of producing 32 bit binaries. MSVC will happily produce 64 bit binaries. This isn't laziness. It actually requires more discipline from their compiler team to fit the compilation process within 32-bit memory space per running compiler process.

      --
      Any guest worker system is indistinguishable from indentured servitude.
    2. Re:Microsoft is Dangerously Incompetent by macs4all · · Score: 1

      As I mentioned in the other post, it's 32 bit compiler binary... not a binary only capable of producing 32 bit binaries. MSVC will happily produce 64 bit binaries. This isn't laziness. It actually requires more discipline from their compiler team to fit the compilation process within 32-bit memory space per running compiler process.

      Ok, then what about all the OTHER 32 to 64 bit pain that is USER-FACING? Separate versions of Apps, separate versions of OSes, FFS.

      Lazy, Lazy, Lazy.

      Oh, and if it's so easy for 32 bit VS to crank out a 64 bit binary, then why, oh, why don't they just do that for VS itself???

      Answer: Because then they would have to MAINTAIN separate 32 and 64 bit Installers, yada yada.

      As I said, OS X solved ALL this YEARS ago. MS copies everything ELSE from OS X, why not that?

    3. Re:Microsoft is Dangerously Incompetent by Anonymous Coward · · Score: 0

      I dont normally defend MS, but when your OS is in 95% of all the computers in the world you cant get away with these changes in the way Apple can. When Apple has ATM's running on OS X etc.. I'll give them credit for keeping up to date. Windows' main selling point is its Achilles heel. Backward compatibility always sets MS back.

    4. Re:Microsoft is Dangerously Incompetent by macs4all · · Score: 1

      I dont normally defend MS, but when your OS is in 95% of all the computers in the world you cant get away with these changes in the way Apple can. When Apple has ATM's running on OS X etc.. I'll give them credit for keeping up to date. Windows' main selling point is its Achilles heel. Backward compatibility always sets MS back.

      Sorry, but the rubric of "backwards compatibility" won't work this time.

      The fact is, when Windows started down the 64 bit path, they COULD have done what Apple did with OS X, but they chose not to. Instead, they drew a big, fat NON-COMPATIBILITY line in the sand between 32 and 64 bit land, and, far too often, made USERS have to do the legwork.

      Apple, OTOH, made the whole thing COMPLETELY SEAMLESS to all but the smallest-subset of users, by clever OS witchery (which I freely admit I do not know for sure how it works, but I assume has something to do with having a 32 bit and 64 bit version or entry point to each API call).

      That has nothing to do with "backward compatibility"; because Apple was able to do its SEAMLESS 32 to 64 bit transition while RETAINING COMPATIBILITY with 32 bit Applications and in most cases, even drivers, as if nothing ever happened.

      No need for "Program Files (x86)", separate 32 and 64 bit Installers and Apps, let alone drivers.

      Sorry, painless "Backward Compatibility" is EXACTLY what OS X accomplished for nearly all users and all applications, and EXACTLY what Windows did NOT give.

      It has a LOT more to do with good OS design than it does with the size of the install base or number and/or breadth of applications.

    5. Re:Microsoft is Dangerously Incompetent by topologist · · Score: 1
      Good points.

      Apple, OTOH, made the whole thing COMPLETELY SEAMLESS to all but the smallest-subset of users, by clever OS witchery (which I freely admit I do not know for sure how it works, but I assume has something to do with having a 32 bit and 64 bit version or entry point to each API call).

      The way the "compatibility mode" kernel that shipped on Mac OS X several years ago works: the kernel is double-mapped into both the low 4G of the address space as well as the upper 128 TB ("negative") region. On a system call, exception or interrupt, the processor branches to the "high" double mapped region, switches to 64-bit mode and executes a small slice of the kernel in 64-bit mode. That slice does some book-keeping and then switches address spaces and modes to execute 32-bit "compatibility" mode IA32 code back in the low 4GiB. With this mechanism, 64-bit programs work without requiring all the 32-bit drivers and the kernel proper to operate entirely in 64-bit mode, which was a significant time-to-market and compatibility advantage. There's a drawback in that performance isn't as good as with a pure 64-bit kernel, but Apple shipped that a few years later.

    6. Re:Microsoft is Dangerously Incompetent by macs4all · · Score: 1

      With this mechanism, 64-bit programs work without requiring all the 32-bit drivers and the kernel proper to operate entirely in 64-bit mode, which was a significant time-to-market and compatibility advantage. There's a drawback in that performance isn't as good as with a pure 64-bit kernel, but Apple shipped that a few years later.

      Thanks for the "props", and for the explanation. It is even cooler than I thought...

  41. that's 64 bit executable... not 64-bit compiler by superwiz · · Score: 1

    I think their argument is that if your project is so large that it needs 64 memory space to parse and generate the binary, then it's too large and should be broken up into smaller modules (dll's, resource files, etc.) The MSVC will definitely produce 64 executables if you configure it to. It's actually more a limitation they put on themselves. Because it means that their running compiler must run as a 32 bit binary. Which requires higher level of discipline from their compiler designers.

    --
    Any guest worker system is indistinguishable from indentured servitude.
    1. Re:that's 64 bit executable... not 64-bit compiler by jonwil · · Score: 1

      Its only the IDE that is 32 bit.
      Visual Studio 2015 ships with a 32-bit compiler that generates 32-bit binaries, a 32-bit compiler that generates 64-bit binaries, a 64-bit compiler that generates 32-bit binaries and a 64-bit compiler that generates 64-bit binaries. (plus both 32-bit and 64-bit compilers that will spit out ARM binaries)

  42. So I have to ask by Anonymous Coward · · Score: 0

    If Microsoft is unwilling to move VisualStudio to 64-bit what is Microsoft using to develop the 64-bit versions of it's own software with? They obviously aren't using their own development studio.

  43. 2003 called by TeknoHog · · Score: 1

    It wants its newfangled CPU architecture back.

    --
    Escher was the first MC and Giger invented the HR department.
  44. It's because VisualStudio has a horrible system by jader3rd · · Score: 1

    The Visual Studio engineering system is horrible. You can tell with how over the years Visual Studio is comprised of so many small iterations. Or a new feature is added, and then never worked on again. If they had a decent engineering system they certainly could afford to do a 32-bit and 64-bit build.

  45. Eclipse has had 64 bit for years by Anonymous Coward · · Score: 0

    People should dump the whole .Nut and just go to Java/C++/PHP within Eclipse.....

    1. Re: Eclipse has had 64 bit for years by cyber-vandal · · Score: 1

      PHP lol that's a good one

  46. 64 bit virtual mem issue by Anonymous Coward · · Score: 0

    Fuck 64 bit, fuck compiler, fuck editor, fuck visual, fuck studio, fuck memory, and FUCK YOU!!!!!!

  47. Why is it to hard to compile an IDE for 64 bits? by Lisandro · · Score: 1

    It should involve only minor code changes - if even. Even large software projects seldom require more than a new compiler flag.

    A couple else suggested this, and i tend to agree: they're not doing it because they can't. My guess is that the VS codebase is a mess to begin with.

  48. Power 8 by Anonymous Coward · · Score: 0

    In the mean time Power 8 supports both little endian and big endian.

  49. Open Source it by Anonymous Coward · · Score: 0

    They should just open source the code as they have been doing with their other technologies. We will make it 64-bit.

  50. Been Down That Road Before by Anonymous Coward · · Score: 0

    It's called Windows 10.

  51. RIP VS by Anonymous Coward · · Score: 0

    You had a good run.

  52. 1999 by Anonymous Coward · · Score: 0

    I haven't even THOUGHT about Visual Studio since 1999.

  53. WTF?????!?! Filter error: Your subject looks too m by Anonymous Coward · · Score: 0

    Microsoft really doesn't have a 64 bit visual studio?

    Glad I wasted absolutely no time in that development environment

  54. Re:Why is it to hard to compile an IDE for 64 bits by Tony+Isaac · · Score: 1

    You've clearly never converted a significant amount of legacy code from 32 bits to 64 bits. Strange things happen, and it's not always easy to isolate the cause. My guess is that there are a lot of calls to unmanaged Win32 libraries that would break, not to mention variables that are declared with non-portable sizes, such as Int32 instead of Int.

    Then there is performance. I suspect they aren't joking when they suggest that performance of a 64-bit version would be slow, if for no other reason than that the larger executables would take longer to load.

  55. Re:Why is it to hard to compile an IDE for 64 bits by Lisandro · · Score: 1

    I did, actually. I even migrated legacy VMS code to x86-64 Linux back in the day, a mixture of C++ and Assembler, and it was never particularly hard. A chore, yes. But not hard, and the resulting binaries were no slogs either. Properly written executed 64 bits code can yield significant performance boosts, if only because the register space is twice as big as x86.

    Keep in mind, we're talking about an IDE here. There are plenty of use cases, specially for large projects, that could have developers using more than 4GB of RAM at work.

  56. Post if you actually need 64 bit Visual Studio by Anonymous Coward · · Score: 0

    I use Visual Studio every day. For my purposes, it is far and away the most useful IDE I've ever dealt with. It's better than anything I've used for embedded systems C and C++. Better than anything I've used for Python. It's better than Eclipse. It's better than XCode. It's better than Android Studio was and the only thing that comes close for me is IntelliJ for Java and Scala. But I'd rather not write in Java, thanks.

    Refactoring, search, analysis, debugging, profiling and customization are all there in one tool and they're all either very good or the best.

    It can be clunky sometimes. It can be slow. It can break. I've built and heavily edited open solutions with 50+ projects and 60K+ files. It didn't run out of memory. I don't need it to use more than 4GB of memory. I want it to be slightly more reliable and faster never hurts. I don't think that going on a 64-bit "upgrade" adventure going to yield more stability, more speed or more features. The very few people who really need more memory for the VS process have work-arounds. I expect that if anyone needs 64-bit VS, it's probably Microsoft. If they aren't doing it for themselves, it probably doesn't need to be done soon.

    IDEs are pretty complex beasts. If you guys are going to complain about it, go ahead and point to a better one.

    1. Re:Post if you actually need 64 bit Visual Studio by Anonymous Coward · · Score: 0

      I don't care for IDEs and I certainly don't need it.
      I do care that their reasons to me seem bogus and honestly I think they are badmouthing a significantly better architecture in order to have excuses not to do it. And I do mind other developers spreading lies and misinformation just to justify what they decided for completely different reasons.
      I am also quite concerned about a development process that under a period of many, many years left no time to fix code issues related to architecture differences. What does that imply for overall code quality?
      Portabilty and good code quality is something I strongly believe all developers should strive for, and it irks me a lot when someone like here argues against it so vehemently and with such questionable arguments.

  57. Visual Studio is a strange beast by Anonymous Coward · · Score: 0

    It's gone through some very strange development. Some of the releases got quite good, then inexplicably they threw out the profiler without offering a replacement, absolutely screwed up VS2003 with a bug which caused unnecessary lengthy recompiles, in VS2010 they screwed it further so if you wanted to have a common include directory you had to go inside every fucking subjproject to add it, shit like that. The last good change with runtime recompiling in 2003, but that was still without a profiler, ut no other change after that has added anything useful.

    They just fuck with the GUI. They add flash-in-the-pan proprietary coding technologies which only a few people give a fuck about and years later even those stop caring. There haven't been any good additions for a long time. The GUI remains a nightmare. Intellisense remains a mess. And the greatest improvements to Intellisense have been Visual Tomato who do far better work with VS than anything Microsoft have done in the past decade.

    So ShanghaiBill, I believe you. The Microsoft Visual Studio "team" should engo a mass firing and be replaced with better coders who give a shit about their work. And Microsoft, just buy out Visual Tomato for Gods sake. They are so far ahead of lazy Microsoft's shit programmers it is pathetic!!!

  58. Actually, come to think of it, that's may be why by melted · · Score: 1

    Actually, come to think of it, that's may be why they aren't implementing 64 bit. Maybe they still don't use it themselves.

  59. the right tool for the right purpose by lucm · · Score: 1

    Notepad++? Meh. I use "echo -n" and write directly to the executable file. That way I don't need makefiles or even "source code", I just put my bash_history in git; when I need to build on Winblow$ I use AutoHotKey and a cygwin shell with a bunch of "arrow up + enter" macros.

    --
    lucm, indeed.
    1. Re:the right tool for the right purpose by Plus1Entropy · · Score: 1

      Wow that's amazing. You should volunteer to do the VS 64bit upgrade for Microsoft for free!

      --
      Only crack the nuts that crack. You don't put the ones that don't crack in the sack.
    2. Re:the right tool for the right purpose by bingoUV · · Score: 1

      If you're good at something, never do it for free.

      --
      Bingo Dictionary - Pragmatist, n. A myopic idealist.
  60. World domination, and then some by lucm · · Score: 1

    If 4,000 represents 0.01%, it means that 40 million people use Visual Studio to code. Yet according to IDC there's about 18.5 million programmers in the world, including hobbyists. This means Microsoft controls roughly 220% of the software development market. I had no idea they were so successful!

    --
    lucm, indeed.
    1. Re:World domination, and then some by Anonymous Coward · · Score: 0

      I think you will find of those 4,000 only a tiny amount are actually affected. Like everything in this world people are happy to jump on an bandwagon if they perceive there is something they aren't getting.

  61. de ja vu by ecl · · Score: 1

    32 bits should be enough for everyone

    --

    Cry havoc, and let slip the dogs of war ...
  62. Laughable reason by Anonymous Coward · · Score: 0

    Given that almost everyone in technology has sold people on how great 64 bit is. Now Microsoft and some others seem reluctant to embrace 64 bit for some applications? Seems to me memory issues could be solved other ways then moving to 64 bit? But maybe I am mistaken? I guess for me, I just have seen a lot of technology sold to the public that may in fact just be to move new product than actually helping anything. We are just now seeing popular apps like Google Chrome move to 64 bit as the default rather than 32. Yet, Firefox remains today as a 32 bit platform. Even though it runs perfectly well and I doubt many people even care its still 32 bit.

  63. COM is back. by Anonymous Coward · · Score: 0

    The original poster is referring to the new Windows runtime WinRT (which is COM), and the use of C++/CX to interface with it.

    WinRT is only useful if you are wining universal apps. WPF is still the premier desktop development platform, but it doesn't interop well with C++. For C++ desktop development you're still stuck on MFC for first party solutions.

  64. I was once burned... by rbrander · · Score: 1

    ...forever wary.
    I did months of work in, I hope I have the version number right, VB 3. That would be about 1997. VB4 comes out, and my VB3 program just won't load into it; there don't even seem to be conversion tools worth using, easier to start again. My program had served about 70% of its purpose, so we just kept it running a little longer and ditched it entirely.
    But the only proprietary environment I ever again coded in was VBA for Excel, which I correctly surmised they had almost no ability to break with non-compatibility because of the backlash. None of the VB stuff in the nineties was for major corporate applications and it was mostly user-department small apps that were sabotaged. But spreadsheets, man, those often run the business.
    Anyway, my little user-department apps now all in Perl and so forth, are often still running (I'm retired) in their late teens and early 20s. The IT department applications, which did stick with MS all the way, through VB6 and .Net and C#....all had to be rewritten every 4-5 years as MS switched their recommended product for major corporate programming. And everybody had to buy new MS software, but importantly, spend 100X as much re-writing.

    I watched that the whole last 18 years, marvelling that anybody would have their development environment depend on a corporation whose interests are SO divorced from theirs that they'd inflict a million-dollar rewrite on them just to sell $10,000 worth of software.

  65. What I don't get by wwphx · · Score: 1

    And I freely admit that I don't track things like CPU specs any more, is why Windows is still 32 bit? Are modern CPUs still coming in 32 bit? I have no problem slapping 16 gig or more of RAM in any of my Macs and they just say Cool! Why do we have to buy a 64 bit version of Windows to get more than 4 gig of RAM in a box?

    --
    When you sympathize with stupidity, you start thinking like an idiot.
    1. Re:What I don't get by Anonymous Coward · · Score: 0

      In a nutshell, for backward compatibility. There are metric crap-tons of 32-bit internal LOB applications that companies won't allocate funds to port, or cannot readily port because so many of them were written in classic VB (automatic .Net conversion tools work OK on MS sample apps, not so much in the far uglier real world). Additionally, there's a large body of other business-critical 32-bit applications which were written by long-gone employees/contractors and long-defunct companies which either failed to preserve the source code or the purchased applications were closed source. I have actually done contract work involving a combination of both problems (VB6 app with missing source code I had to reconstitute from multiple "repositories" consisting of zip files of not entirely consistent directory hierarchies). Business customers are where the real MS lock-in is at; MS is slowly losing in the consumer space, but they can slow that pace by keeping people comfortable with MS platforms at work while they attempt to re-align yet again (successfully or not).

      MS has promised support for the VB6 run-time through 2024 (sorry, no link, but that should be easy to verify), and I would not be surprised if that were extended. That alone cements 32-bit support for at least that long, but there are plenty of non-VB 32-bit applications. MS is slowly losing ground on the shrinking desktop/laptop market, and the future seems to be mobile platforms where they face stiff competition (for tablets, though the Surface Pro is quite good), or utterly failed to extend their desktop monopoly (Windows Phone just isn't winning). Linux (and perhaps BSD) are eating into their server market share. Abandoning 32-bit only gives their shrinking consumer market fewer reasons to choose them, and would give business customers reason to entertain competing desktop/server platforms - if they're effectively forced to either re-write their 32-bit apps or relegate them to unsupported Windows OS instances running as virtual images, they're more likely to bite the bullet and move to Java (seems to be the choice for LOB app conversions) on Linux/BSD or whatever cloud solution du jour the CTO picks via the use of a dartboard.

      - T

  66. Nobody thought of it? Or did but thought it dumb? by eric_harris_76 · · Score: 1

    640K should be enough for anybody.

    --
    There's no time like the present. Well, the past used to be.
  67. Type conversions by fyngyrz · · Score: 1

    All program languages allow nonsensical constructs. 0 + 0 won't generate an error in any language I am aware of (not to say none of them, just thirty or so.) Doing something twice, like a=0; a=0; won't generate an error, etc. It's not up to the language to catch you when you're stupid (at least, it shouldn't be... every attempt at that I have run into has turned into some kind of annoyance) it's up to you to not do stupid things.

    c's automatic type conversions are generally useful when they are used with a knowledge of what is going on. When you want something else to happen, you can use explicit casts. When even that won't do it, there are always unions - you can do damn near anything you can imagine with a union. And if *that* won't do it, then just start copying raw memory around. :)

    The point being, what you want to do should be available for you to do, and not constrained by the idea that someone with low skills might get in there and do something that is in some sense functionally wrong or unexpected -- because if it is unexpected, then that's a reflection on a lack of understanding the language. Not on the language (unless, of course, it's a bug in the compiler / interpreter / parser, etc.)

    --
    I've fallen off your lawn, and I can't get up.
  68. Not a footgun. A railgun. by fyngyrz · · Score: 1

    Also, it isn't that c is a footgun; it's that c is a railgun, so you definitely shouldn't point it at your foot.

    If you're the kind of programmer that aims at your foot, then use a language that keeps its "muzzle" pointed away from you until you go through the equivalent of a weapons safety course for the big guns. Otherwise.... yup, no feet. :)

    --
    I've fallen off your lawn, and I can't get up.
  69. Come over to the Mac by RogueWarrior65 · · Score: 1

    We've got 64-bits... and cookies.

  70. I'd be happier by Anonymous Coward · · Score: 0

    if they addressed the plethora of issues that are resolved by merely running as administrator.

  71. VS is just a shell by fluffynuts · · Score: 1

    Basically all functionality comes from extensions (even the 'built-in' functionality). And extensions *can* be written as 64-bit (https://blogs.msdn.microsoft.com/ricom/2016/01/04/64-bit-visual-studio-the-pro-64-argument/). So what's the big deal, fellas? The built-in extensions don't need the extra address space -- it's normally costly (but often helpful) extensions like R# that do. Even in a solution with > 100 projects, I wasn't even pushing a gig.

    This is much ado about nuffin.

  72. Re:Remember how long Excel sticked to max 64k rows by stoicio · · Score: 1

    There are people in my office that try to use Excel as a relational database.

    There are days when I know Excel is there. I just can't go to work. Then I day dream of launching dead, bloated, stinking, plague infected cows, into the Microsoft campus, using a trebuche. Each with an office 365 licence for Excel glued to their silken, bovine, fur......good times......

    There should be a dialog or something that pops up each time Excel opens that says, "This program is for counting. It is a violation of the terms of service to use this application as a database.". Not that anyone reads the shrink wrap.....I'm just bitter now....

    The Holsteins outside look nervous. I wonder what they are sensing......storm maybe.... :|

  73. Firefox Too Big To Link On 32-bit Windows by tepples · · Score: 1

    Seriously, if your project is running out of memory while building then maybe the problem is with the project.

    That ship sailed in December 2011, when the Firefox web browser became too large to build with profile-guided whole-program optimization without exceeding 3 GB. See Firefox Too Big To Link On 32-bit Windows.

    1. Re:Firefox Too Big To Link On 32-bit Windows by Darinbob · · Score: 1

      That's the linker, it's external to the build process, visual studio is a wrapper around separate tools. I'm not sure if Mozilla uses visual studio (probably not as the build should be portable). But as a project manager that deals with calling out to external tools you'd still need a pretty damn big project before you're going to hit 32-bit memory limitations. So just make the linker 64-bit. If you run it on a 64-bit system you've still got closer to 4gb ram to use anyway.

  74. Hilarity ensues by Anonymous Coward · · Score: 0

    M$ telling people to write better code.

    Best laugh I've had in a long, long time.

  75. Here we go again by Apostalypse · · Score: 1

    A unnamed spokesman said 640k should be enough for anybody.

  76. Jaguar is 64-bit DO THE MATH by tepples · · Score: 1

    Games need to catch up to 64-bit land.

    I thought they already had, first with the Atari Jaguar, then with the Nintendo 64, and finally with the AMD Jaguar processor in the PlayStation 4 and Xbox One consoles.

  77. They learned their lesson from MS Office by mileshigh · · Score: 1

    The 64-bit version of Office isn't exactly a resounding success. The Office install program even strongly encourages you to use the 32-bit version unless you have a compelling reason to install the 64-bitter. Memory bloat is an issue, but the biggie is compatibility with add-ins: a lot of them are NOT 64-bit ready, including some of Microsoft's own. The 64-bitter doesn't feel any more responsive and starts up slower on older systems.

    There are some strong similarities between Office and VS: flagship products, extensive 3rd-party ecosystem including add-ins, IO-bound, massive codebase & dependencies. Emphatically not just a matter of a changing a few compile switches!