|This is the talk page for discussing improvements to the Visual C++ article.
This is not a forum for general discussion of the article's subject.
|This article is of interest to the following WikiProjects:|
- 1 History
- 2 Extern links in article proper
- 3 Debugger available as separate download?
- 4 NPOV?
- 5 More Detail
- 6 QuickC
- 7 Boasts Advanced Features
- 8 Shorten compile times
- 9 Article name
- 10 Compiler Output is Unclear
- 11 (Redirected from Microsoft C)
- 12 RISC Edition
- 13 this is an abominable article
- 14 _MSC_VER information
- 15 MSC 1.0 was not K&R
- 16 Target platforms
- 17 Issues for whom?
- 18 C99
- 19 Programming Language
- 20 Objection to source by User:Michaelmalak
- 21 Which runtimes are shipped with each version of Windows?
- 22 No New Features in VS 2012
- 23 The great gimmick of "support" for C standards later than C90
- 24 Controversy
I've done my best to clean up the "history" section, which used improper tenses & had other grammatical mistakes - as well as some very strange, mangled HTML & Wiki code - but someone with better knowledge of the history of Visual C++ could probably help improve that section quite a bit. Keithius 22:17, 13 December 2005 (UTC)
I used Visual C++ 1 and 1.5, and as far as I remember, it had no 32-bit programming capacity. To clarify slightly - it was limited to the WIN16 programming model. It couldn't compile for WIN32. There was an option to use different memory models within WIN16. When Visual C++ 2.0 was released, it included a copy of 1.5 for WIN16 development.
I'm not sure of the details of this, so I haven't updated the article. If I can find a copy of 1.0 or 1.5 I might install it to see what it actually has. JHWW.
Westprog 11:42, 2 February 2007 (UTC)
My retail-boxed Visual C++ 4.0 AE (Academic Edition) also came bundled with Visual C++ 1.52. And the subscription-edition (4.1) came with the Microsoft Game SDK. At the time, that was a big deal, because the VC++ subscription was the cheapest way to (legally) obtain the Game SDK. (Less than a year later, Microsoft re-released the Game/SDK as 'DirectX 2.0 SDK', free download for all.)
11:42, 22 February 2007 (UTC)
Not sure about VC 1.0 but 1.5 does indeed produce 32-bit (i386) code and includes support for large memory models. It does not include support for the newer Windows32 API and the linker supplied does not support the newer related formats (AFAIK). Another interesting feature is the integration of MASM including a compiler switch (/MA) allowing you to pass parameters. Borland compilers had even cooler features in this regard. sPAzzMatiC 18:45, 23 September 2009 (UTC)
Minor quibble, but "extremely compatible" seems a bit hyperbolic. Perhaps highly compatible or highly compliant would be better language? — Preceding unsigned comment added by 184.108.40.206 (talk) 16:20, 12 February 2015 (UTC)
Is it, or is it not appropriate to include an external link in the article where it is mentioned? It seems to me that if the article wants to mention exactly what this external link discribes - something that is not exactly standard - would it not be convenient to the reader to provide the link for more information - right then and there - so he can continue with his quest for knowledge? I just noticed in the history that I have added the link 3 times, and the same user has removed the link 2 times due to the fact it is included in the external links. I appreciate that the link is now included twice if it exists in the article and in the links section, but from the point of view of convenience and usability, why not give the link right at the point in time the reader wishes to see it, rather than making him un-conveniently have to search for it in a links list. Many articles on Wikipedia do this, and I am sure most are ok for this exact reason. 220.127.116.11 12:32, 18 August 2005 (UTC)
- That user who removed them was probably me. Using extern links in the article proper is against Wikipedia standards. Including it as a cite is permissible, however, as I have done with your link. The link is right there for the user to click on, but it doesn't look like a wikilink; it is clearly a reference to an extern site. — Frecklefoot | Talk 19:32, August 18, 2005 (UTC)
- Yes, it was you. I just realized today that we were each re-doing / un-doing each other's work. I understand now, the citation is much more proper, and it achieves the result I was attempting to explain. Thanks. 18.104.22.168 03:59, 19 August 2005 (UTC)
Debugger available as separate download?
Article states that although the "C++ Toolkit 2003" lacks the "Platform SDK" and the debugger, these are "available as separate downloads." From context one would assume these are available for free download. I wasn't able to find a debugger available for free download at the Microsoft Developer Network download site.
If there really is a free debugger available for download, I suggest adding an external link as has been done for the "C++ Toolkit 2003". If not, the article needs to be corrected. Note: The latest version of the "Platform SDK" has debuggers for 64 bit code, but not for 32 bit code.
- See Debug Tools For Windows .
How is syntax hilighting an advanced feature? Or two-macine debugging? This smacks of marketing (or sycophancy) to me. -Ahruman 09:47, 30 March 2006 (UTC)
"Keep this in mind, however, the problems you are likely to encounter are rare." That seems to me to be a sales pitch by a Microsoft representative... IMacWin95 16:26, 12 June 2006 (UTC)
Would anyone complain if I removed "syntax highlighting" from the "boasts such advanced features..." sentence? Would anyone complain if I removed "Keep this in mind..." as well? IMacWin95 22:37, 2 July 2006 (UTC)
- Go ahead and remove the "marketing language," but syntax highlighting is a feature. It used to be advanced back in '93 or '94, but it's not anymore. So go ahead and remove the text that says the feature is "advanced," but it is still a valid feature. — Frecklefoot | Talk 16:12, 5 July 2006 (UTC)
I was just reading the article on [GNU Compiler Collection|GCC] and found it much more detailed than this article. Can this article be brought up to the same level of detail, or does the closed-source nature of MS VC++ prevent that? It seems that it shouldn't. 22.214.171.124 18:46, 25 May 2006 (UTC)
Right now, QuickC redirects to this, but QuickC isn't really covered in this article. Would it be better to split QuickC off into a separate article? --Improv 05:20, 2 June 2006 (UTC)
Boasts Advanced Features
The Wikipedia entry reads: boasts advanced features such as syntax highlighting.... This expression doesn't sound very encyclopedia-isch to me, rather more like marketing speak. Esp since quite a few users of other fine editors and IDEs might believe that syntax highlighting is quite normal and not very advanced at all...
Shorten compile times
"The compile and build system feature, precompiled header files, "minimal rebuild" functionality and incremental link: these features significantly shorten turn-around time to edit, compile and link the program, especially for large software projects."
- While it is certainly true that these features significantly shorten compile and link times, I'm wondering if Visual C++ now supports distributed builds or multiple processors. Last time I checked, MSVC would only use a single-core processor at a time and was unable to distribute the build to other computers (such as distcc), though this could possibly be added by third-party components. The end result, of course, was that full builds are often significantly slower on MSVC than with other build environments. If MSVC does not make use of multicore or multiprocessor computers, we should probably mention this limitation. I'm not sure if it is worth mentioning the lack of support for distributed builds, though. Comments? --Yamla 17:00, 21 August 2006 (UTC)
- VS2005 supports multi-processor builds, as long as you have multiple projects without dependencies between them: e.g. if you have one project producing A.lib, another producing B.lib, and a third linking them together in C.exe, then it can compile A and B in parallel on two separate processors/cores; but it can't compile half of A's .cpp files in parallel with the other half (unlike distcc), and it has to wait until they're both finished before it starts building any of C. 126.96.36.199 20:01, 16 December 2006 (UTC)
Compiler Output is Unclear
It's not clear to me what the C++ compiler does exactly. From personal experience I believe that the earlier versions of C++ up to version VC6 primarily generated native code, such as .EXEs, .DLLs, etc., but with the advent of the later versions bearing the .NET label, from the article, it's not possible to determine if the compiler generates Common Intermediate Language for output or if it's a native code compiler or if it does both.
I agree that this should be clarified as many people, esp. at release, believed you could only target .NET given the name "VS.NET". You can, of course, generate IL or native code. —Preceding unsigned comment added by 188.8.131.52 (talk) 02:33, 18 October 2010 (UTC)
(Redirected from Microsoft C)
Well I wanted to do some research on Microsoft C and was redirected here. But there is nothing here about pre "Visual" MS-C/C++!. The history section begins with Visual C++ 1.0.
There is a link called The predecessor to Visual C++ was called Microsoft C/C++. - but that one is red. So where is the information on pre "Visual" MS-C gone - and more importantly: Why was I redirected to a page where the requested information clearly isn't available?
Hey everyone, there is a RISC edition of Visual C++. I believe it can target RISC systems and run on them. Its for the Alpha AXP, MIPS and PowerPC. It runs under any win32 system. —Preceding unsigned comment added by MichaelCody89 (talk • contribs) 03:10, 9 February 2008 (UTC)
this is an abominable article
encyclopedia entries are supposed to be readable and understandable by people not necessarily expert in the field. this sort of gobbledygook is what one would expect to find in a programmers'/developers' forum. whoever adds or edits this article should ask himself "does this explain to a non-versed reader what this is and how it works?" that hardly means it needs to be reduced to kindergarten-sized bites. but it should indicate what this is, to which components/programs it is crucial, etc. etc. etc. —Preceding unsigned comment added by 184.108.40.206 (talk) 23:39, 17 June 2010 (UTC)
- "Microsoft Visual C++ is a commercial integrated development environment (IDE) product engineered by Microsoft for the C, C++, and C++/CLI programming languages."
- That's about as simple as we can make it. Anything that differentiates it from similar projects is highly technical. Can you suggest how we could improve the article? Would making a more prominant link to Microsoft Visual Studio help? –Gunslinger47 07:56, 18 June 2010 (UTC)
- This should be clear to anyone who reads and understands the first sentence. It's a development environment for work with a programming language, so yes, it's for programmers. If you don't understand term on Wikipedia, be sure to click it and read its summary before continuing onward. Following this article's first link, for example, will tell you that IDEs (such as VC++) provide "comprehensive facilities to computer programmers for software development." –Gunslinger47 03:07, 28 October 2011 (UTC)
- Visual C++ [b]was[/b] an IDE. Now it comes as part of the visual studio IDE, so technically it is a module giving functionality to an IDE. It includes a compiler and libraries such as MFC. As such, some sources refer to Visual C++ as only the compiler and libraries. Beside C and C++ the compiler (cl.exe) also compiles C++/CLI.
Because of this vc++ is also referred to as a language (e.g. "software written in vc++") though c++/cli should be used to avoid confusing a product with a language.Jayjiggunjer (talk) 13:46, 18 March 2015 (UTC)
A table of the values of the _MSC_VER predefined preprocessor value for different versions of the compiler would be most useful. (Actually this would more accurately give an indication of the "compiler" version which for VC++ 10 indicates that it is 16.00. A table of the complete values is a good idea. This is what I know:
VC6 1200 VC.NET 1300 VC2003 1310 VC2005 1400 VC2008 1500 VC2010 1600
02:45, 18 October 2010 (UTC)
MSC 1.0 was not K&R
The comment about MSC 1.0 not being K&R sounds unnecessarily negative to me. First, I am not sure there is a strict definition of what K&R C is but the Lattice compiler supported the exact C language as UNIX compilers of the time did with a few extensions (such as allowing the $ character in identifiers). Some of the "normal" UNIX library routines (like strcspn) were not implemented but in many ways the library routines provide were better than those that became part of the defacto standard (ie, K&R) and later C89.
I ported a lot of code from MSC 2.0 to MSC3.0 in 1985. In many ways the new compiler was a backward step, with inferior code generation, optimizations, and library functions. But it was more compatible with UNIX compilers of the time being basically a port of Microsoft's Xenix compiler.
BTW I have never had any relation to Lattice apart from using their compiler under MSDOS and AmigaDOS. —Preceding unsigned comment added by AndrewWPhillips (talk • contribs) 03:09, 18 October 2010 (UTC)
- Hm. x86, x86, Itanium... no, ARM's not mentioned. Aren't there versions for PowerPC too? I'll fix this when I can actually write properly (a.k.a. not midnight). --EM64T (talk) 00:38, 18 November 2012 (UTC)
Issues for whom?
The first 2 issues paragraphs cam be simplified as "No ABI compatiblity". Why make it an issue when the C++ standard says otherwise? Does a common programming mistake qualify as an issue for each and every C++ compiler?--Skyfiler (talk) 22:10, 26 February 2013 (UTC)
Visual C++'s c99 support is being further developed (seemingly due to customer pressure to support libraries like ffmpeg) - http://herbsutter.com/2013/09/09/visual-studio-2013-rc-is-now-available/ , http://blogs.msdn.com/b/somasegar/archive/2013/06/28/cpp-conformance-roadmap.aspx .
It is true that including C# in the list of languages that Visual C++ is implemented in would constitute WP:SYNTH, synthesis of that the Visual C++ IDE mostly or completely overlaps the Visual Studio IDE and that Visual Studio is partially implemented in C#. However, it is misleading to list only C++ based on lextrait.com, the personal website of someone in another country. I suggest either deleting "Written in" completely from the Infobox or adding a "Better source" template to the existing lextrait.com reference (along with explanatory text in that template that C# is also likely another implementation language, which it almost certainly is). Michaelmalak (talk) 18:33, 28 August 2014 (UTC)
Objection to source by User:Michaelmalak
I am writing this as a follow up to my reversion of an edit by Michaelmalak in accordance to WP:BRD. (I am hoping you are seeing this, Michael.) Michael has requested one of the sources (in the infobox) to be changed, having provided the following reasons:
Source is a personal web page from a country different than the publisher; [...]
[...] moreover, source indicates Visual Studio is written in C++ and C# but Visual C++ only in C++, even though both products share the same IDE
Now this one is not accurate. The source lists Visual Studio under development environments and says it is written in C++ and C#. But the list under which C++, C#, Visual Basic and GCC are placed is titled "Compilers/Interpreters" meaning that the list has nothing to do with anything else that is C++-related.
- Then perhaps instead of the "better source" template I used, what is needed is just a plain old "citation needed" template for the C# assertion, since it seems we have no source directly indicating the Visual C++ IDE is partially written in C# (and to clarify, according to the introduction of this Wikipedia article, it is about the IDE product and not just the compiler), and since we seem to agree that inferring it from that the Visual Studio IDE is partially written in C# would be WP:SYNTH. As I asserted in the above Talk:Visual C++ section on Programming Language, stating Visual C++ is written only in C++ is probably wrong and thus misleading. An alternative solution is to eliminate the "Programming Language" line altogether from the Infobox.
- Michaelmalak (talk) 22:37, 2 September 2014 (UTC)
- Hi. There is no need to resort to such measures at all. You can simply not assert C# in the article because:
- First, this article is about C++ only, there is the freedom of simply not bothering with Visual Studio.
- Second, to my knowledge there is no such thing as Visual C++ IDE. Microsoft has only one IDE for C++: Visual Studio. It serves as a front-end to a command line compiler that is also included with Windows SDK. (Now that I think, a rather long time ago, I had a discussion with someone who wanted to remove the article logo, but somehow, back then, there was evidence about the existence of distinct a VC++ IDE or so I was lead to believe. Still, if situation has changed, it is only logical that we change with it.) Of course, the burden of providing source is with the person who says there is a distinct Visual C++ IDE.
- Hi. There is no need to resort to such measures at all. You can simply not assert C# in the article because:
- OK, Googling just now it looks like Visual C++ has not been offered separately from Visual Studio since the 2010 version (the last version I personally used a lot of). So this whole article needs to be rephrased to indicate that. I'll do that at some point in the future. (And of course that means Visual C++ being written in only C++ is correct, for the current 2013 version :-) Michaelmalak (talk) 03:55, 3 September 2014 (UTC)
Which runtimes are shipped with each version of Windows?
Does anyone know which version of Visual C++ runtime is shipped with each version of Windows? If any are shipped and installed by default, then please create a section similar to .NET_Framework#History. Thanks! • Sbmeirow • Talk • 05:14, 15 November 2014 (UTC)
No New Features in VS 2012
No new features are listed under VS 2012 and 2013 in history. Just the version numbers are listed.No new C++11 features are listed. But in the 2005 and 2006 section the exact ISO C++ features are listed. Go To Case 1 (talk) 22:20, 25 May 2015 (UTC)
The great gimmick of "support" for C standards later than C90
There is no Burger King (fast food) restaurant in my country 'A'. Burger King has a restaurant in a neighboring country 'B'. The 'B' country is on good terms with mine and thus I can visit the Burger King restaurant over there easily.
Can Burger King now claim, since they're feeding some people from country 'A', that they are supporting/established in Country 'A'? No.
Similar situation is seen with Microsoft's C standard support. C99/11 is country 'A', C++11 is country 'B' and microsoft is Burger King.
Since there is a some overlap in the standards of C++11 and C99/11 and that C++11 compilers(that Microsoft has) can compile C too, they want you to write your C code on a C++11 compiler, pretend you're really coding in C and let them tell you that they worked hard on supporting the latest C standards.
They have recommended C developers to rename their file to .cpp to use the latest compilers. references: http://herbsutter.com/2012/05/03/reader-qa-what-about-vc-and-c99/
Microsoft just hates C and they have totally ignored it since C90. But admitting that upfront will be damaging to their sales. — Preceding unsigned comment added by 220.127.116.11 (talk) 07:57, 10 July 2015 (UTC)
I edited the "controversy" section to include a more direct link to the VC++ dev manager's comments, and also to note that the offensive CRT function was removed. The latter doesn't have an online attribution--it makes news when Microsoft does something to raise suspicions and drive conspiracy theories, but not so much when Microsoft fixes it :)
Full disclosure: I am the PM in charge of most of the VC++ command-line tools (though not the libraries). I try to be extra fair and balanced slightly away from favoring Microsoft when editing Wikipedia but I understand if people would question my motivations. — Preceding unsigned comment added by Apardoe (talk • contribs) 00:08, 18 August 2016 (UTC)