Commonality:
- It is interesting to note the similarities and dissimilarities of portability of C & Java programs.
- Both C & Java are implemented in multiple architectures.
- Both languages have big industry support, total ecology support, Application Developer community, standards organizations, training, education, books, tutorials, conferences, seminars - and religious followers
- Both are available free of cost (GNU - open soruce)
- Both C/C++ code and Java code supports each others calling others and be called by the other language.
- Some of C++ application domains include systems software, application software, device drivers, embedded software, high-performance server and client applications, and entertainment software such as video games.
- Several groups provide both free and proprietary C++ compiler software, including the GNU Project, Microsoft, Intel, Borland and others.
- C++ was developed starting in 1979 as an enhancement to the C programming language. C itself is a general purpose programing language developed in 1972. Meaning - this is available for longer time - to be mature as compared to Java.
- C provides compilers for each architecture where the same source code can be recompiled as needed. java approach is to provide single compiler and have JRE for different platforms.
- C some times provides cross compilers that come in handy for rare/new architectures.
- This author believes there are more architectures that has C compilers than the availability of JRE.
- C was designed to be compiled using a relatively straightforward compiler, to provide low-level access to memory, to provide language constructs that map efficiently to machine instructions, and to require minimal run-time support.
- C was therefore useful for many applications that had formerly been coded in assembly language.
- ISO & ANSI standard
- Memory management (NO memory leak that C/C++ programs are notorious for)
- Garbage collection
- Language is not standardized - pretty much propitiatory spec