What is API?

An application programming interface (API) is a particular set of rules (‘code’) and specifications that software programs can follow to communicate with each other.

It serves as an interface between different software programs and facilitates their interaction, similar to the way the user interface facilitates interaction between humans and computers.

A nice article written about API’s is here.

http://www.computerworld.com/s/article/43487/Application_Programming_Interface

Difference between C and C++

Very famous question. It may have come in your exams and it may appear in an interview too.

C is a structured programming language.

C++ is an object oriented programming language. In C++ you have got the concept of a class which is a user defined data type. An instance of a class is an object. C++ was built as an extension of C.

C is good for low level programming like building Operating Systems, Device Drivers etc.

C++ is useful for High Level Programming for building complex systems. 

Difference between C++ and Java

This is a very famous question asked in many interviews (specially to Programmers)…

C++ was developed as an extension of C. C++ added object oriented capabilities to C and became very popular. It is still widely used for many low level programming jobs. C++ was influenced from Smalltalk the first object oriented programming language.

Java was influenced from C++.

C++ has got pointers but in Java there were no concept of pointers.

In C++ there are destructors which is like a function used to free any memory created during the program execution.

Java’s garbage collector takes care of the freeing of memory, the programmer don’t need to worry about it.