C Programming Language, and similar languages based on it: C++ and C#

Standard C, C++

After K&R C, the ANSI and ISO standardization groups made newer C standards. C++ became popular, and a number of products supported C and C++.

Additional solutions that often work very well for people are on the Software Development page in the section for multi-language suites. For exmaple, the GNU C Compiler (GCC) is not extensively mentioned on this site, since that program gained support for other languages and is now called the GNU Compiler Collection and is mentioned in the section about multi-language software suites.

For DOS, the Info-Zip package (which is a software archiver) comes with a README.DOS file. (To differentiate it from the readme.dos file in the directories where the Info-Zip package comes from, as they are files about completely different topics, I renamed the local copy to zipondos.txt.) This file reviews some compilers and memory extenders (namely citing issues with Borland software, Microsoft C 5.1 or earlier, some DJGPP 1.xx issues, and some extenders, mostly problems with PMODE/W).

Back in the day (when DOS programming was widespread and 32-bit Windows programming hadn't taken off), Borland's C++ products (Turbo C, then Turbo C++, then Borland C++) were more popular than Microsoft's C++. In later years, with later versions, Microsoft Visual C++ became much more widely used than Borland's products (which became known as C++ builder).
C++ Builder
Borland C++
Borland C++ 3.1
Borland C++ 3.1 contained executables for both DOS and Windows (3.x). There was a release titled "Borland C++ & Application Frameworks 3.1" that came on CD and supported PC-DOS (MS-DOS) 3.31 and MS Windows 3.0. An eBay auction selling this referred to TASM 3.
Borland C++ Compiler version 5.5

Borland C++ Compiler version 5.5 Freeware Command Line Tools (via FTP, the easy way), and the exact same file via HTTP (which Borland has made into the hard way): BC++ Compiler Free Download Tools version 5.5 (URL for logged in users) gives "Forbidden", although the link worked just fine when I clicked on it from Trial/Survey page (after visiting Login URL for Trial/Survey page and completing a form as a new user so one can log in to the Trial/Survey page). The file from the http download was byte for byte identical to that of the FTP download.

Found from: The C++Builder Downloads page, which also linked to: What is Inculded, Using C++Builder Compiler, and Supplementary Information regarding the Borland C++ 5.5 Command-line Tools (which "Provides explicit instructions for setting up and using the free command-line compiler.") I also found a link to an announcement of the release of the BC++ Compiler 5.5 Freeware command line tools.

For alternative locations: TOOGAM zipped the file. Alternate source of BC++ 5.5 Compiler freeware tools. Also, there is: http://www.filewatcher.com/m/freecommandLinetools.exe.8935988.0.0.html (links to other files that are not yet verified to be the same)

Turbo C++ (and Turbo C)
Turbo C++ 2006
The Explorer edition is free to download, whereas the Professional editin is not. (Year 2006) Turbo Downloads Turbo C++ Explorer download page has:
  • http link
  • ftp download link
  • Form: Causes activation file to be sent to provided E-Mail address
  • Download details: says there is a 2 part download, with the first part containing pre-requisites like IE 6.0 SP1. Download size: 390.1MB. A Turbo product cannot be installed on a PC or VM with another Turbo product installed. "In addition, the Turbo products cannot be installed on a machine that has the Borland Developer Studio installed."
  • Some links to other resources
Turbo C++ for Windows
As far as I've been able to tell, the last 16-bit version of this was 4.52, although there was another version called "Borland C++ 4.53 (CodeGuard)" (referenced in a BC++ patches page. (Maybe it was only called 4.53 if CodeGuard was installed?)
Borland C++ 5.0
Last version to target DOS/Win16? info on using Protected Mode: "Users of Borland C++ Version 4.xx could once purchase the Borland PowerPack for DOS Version 1.00" "that the extender is integrated into Borland C++ version 5.x" (I've seen a site reference "Borland - PowerPack 1.0a - Installation Disks.zip", although that probably was not a version legal to distribute freely.)) Versions that exist include 5.0A and 5.02.
Turbo C++ (and Turbo C) for DOS

The last stand-alone version sold by Borland was Turbo C++ 3.0 for DOS. (This is not the latest version: Borland C++ 3.1 includes an updated version of this DOS software. However, this was the most recent version to sell, as this was part of the Turbo C++ Suite (with components compared on the Turbo C++ Suite Matrix) which included Turbo C++ for Windows 4.5 (4.52?) but did not include Borland C++ 3.1.

Earlier versions have been made available as public downloads from the Borland Community Museum which has been renamed: Borland Community was renamed to the Borland Developer Network which has been again renamed to the CodeGear Developer Network Home Page.

(Borland has also released old versions of Turbo Pascal for free download.)
Borland C++ Patches page has info on BC++ 4.0 through 5.02, and Turbo C++ 4.5, and some other non-C++ products.
Microsoft C, Quick C
This was discontinued as Microsoft wished to favor Visual C++, which became a part of Visual Studio.
Visual C++
This has been included in a bundle of software development products called Visual Studio.
Visual C++ 1.52c
Bundled with Visual C++ 4.0 for Win32
Visual Studio 6

Last version to work in Win9x, came with VC++ 6.0. URL

Visual C++ Processor Pack

Supports instructions for Intel Pentium III instruction set (Streaming SIMD Extensions [SSE]), Intel's Pentium 4 new instruction sets (Streaming SIMD Extensions 2 [SSE2]), and Advanced Micro Devices (AMD)'s 3DNow! Instruction set. Requires VC++ 6.0 Enterprise or VC++ 6.0 Professional Edition w/ SP5, and Win 98, NT 4.0, or 2K. Processor Pack for Visual Studio 6.0 with Service pack 5, Info page, Processor Pack Readme (ppreadme.doc inside a self-extracting WinZip archive)

The Visual C++ page on Wikipedia says about Visual C++ 6.0: "There are however issues with this version under Windows XP, especially under the debugging mode (ex: the values of static variables do not display). The debugging issues can be solved with a patch called the "Visual C++ 6.0 Processor Pack" downloadable from http://msdn2.microsoft.com/en-us/vstudio/aa718349.aspx; curiously, this page stresses that Users must also be running Windows 98, Windows NT 4.0, or Windows 2000." This may be needed to install at least some versions of the official XDK (Xbox Development Kit).

Service Packs

Visual Studio service packs have been released. Software Development page.

Service Pack 6
Service Pack 6 for Visual Basic 6.0, Visual C++ 6.0 with Visual Source Safe 6.0d: For Win 95+, NT through XP. Needs MDAC 2.5 or later.
Service Pack 4
Merge Modules for Service Pack 6 for Visual Basic 6.0 and Visual C++ 6.0
Short URL referenced in the Long URL, redirected to from the Redirection page, when English is selected from the Merge Modules info/download page (Merge Modules info/download page (alternate URL))
Visual Studio Express Editions
Visual Studio Express 2005 requires Win2K, XP, Server 2003, or Vista. Installation of Visua Studio 2005 on Intel Itanium (IA64) is not supported. Visual Studio Express: Manual Installation, Microsoft Visual Studeio 2005 Express Editions Service Pack 1 (which requires Windows Installer 3.1 or later). FAQ Discussion about the *.IMG files
Other Visual Studio versions
Visual Studio 97 came with Visual C++ 5.0. (Visual Studio 6.0 came with VC++ 6.0.) Visual Studio .NET (2002) came with VC++, adding extentions called "Manged Extensions for C++" to allow creation of .NET programs.
Quick C
Described by an LSM file on FreeDOS site for OpenWatcom as " Joint effort between SciTech Software Inc, Sybase, and the Open Source development community to maintain and enhance the Sybase Watcom C/C++ and Fortran compiler products." For DOS, Windows, NT, and OS/2. Uses the OpenWatcom License (which is OSI approved).
C# (C-Sharp)
As I understand it, there are some differences, such as C# not supporting if(x) (it needs if(x!=0)), or something like that. I haven't really used C# at all to know well what I'm commenting on, though.