Does any 1 know of a list of commercial apps that are/were (even really old ones) written in C (not C++ or C# only C)
Printable View
Does any 1 know of a list of commercial apps that are/were (even really old ones) written in C (not C++ or C# only C)
The Linux Kernel
3G Stacks used in most 3G phones are written in C
Quake 2, Quake 3, and probably any games that used their engines.
Quake is probably in C too, but I haven't seen the source to that.
Why do you want such a list? Because there are simply thousands if not millions of programs written in C. Are you looking to compare the performance of programs based on what language they're written in?
3D Studio for DOS (which was commercial for years until 3DS Max for Windows appeared).
You can count virtually any major commercial Windows application released for 16 bit Windows, because C++ was not released and put into commercial use until about 1990. While it was started in 79/80, the earliest examples 'spread around' were about '86/'87, but were not used for much commercial application development until Borland's excellent (for the time) compiler for Windows and OS/2 development, and the various Unix compilers that were upgraded at the time (Linux was just getting started).
ID Software have released some if not all of the code as opensource. You can view it on planetsourcecode.com I have seen it myself. All the files shown are written in C. Very advanced code style used, and very very well written. Well done IDQuote:
Quake is probably in C too, but I haven't seen the source to that.
So its homework...?
The benefit/cost ratio will vary widely according to the needs of the specific program. Some programs have to pause frequently for user's input. Others do nothing but complex computations from data either being received at that time, or on disk.
For example, I do a lot of work with Folding@Home, which does complex simulations of protein as they arrange themselves into their working shape. Since the FAH engine pre-dates C++, and since speed is absolutely paramount, C is the language they use, with highly optimized assembly used in critical loops.
Other langauges like Python, Perl, Ada, Ruby, PhP, Fortran, Java, etc., all have their strong ponts. To be successful in a field, though, they must have the speed of execution that is needed. That leaves out Python, Ruby, and Java. Second, they must have programmers who are skilled and available to work in that field. That leaves out Ada and Fortran. Third, the program must lend itself to the strengths of the language. That leaves out Perl and PhP, for F@H.
C++ would have to be considered as a language if there were a major re-write of F@H's programs. Just for the reasons mentioned above.
Computer chess is in the same position, C and C++, with some (or many) assembly optimizations, is all you see in the top programs, for many years. Simply because the ability to "see" further ahead than your chess opponent, is so very critical.
Each job that is to be programmed, needs to be matched with the above factors. No matter how elegant or fast a language may be, if you can't find good programmers who are trained in it, what good is it? Programming a protein folding simulation is MUCH different than a website development program. You can't just say "in 1 hour a Java programmer can write more lines of code than anybody else", There are many factors that need to be considered before a weighted average of those factors, can be accurately developed for any particular programming task.