A programming language is only a language. The language allows the programmer to communicate to a computer. We can ask a computer to print a “Hello World!” in a console, or doing some other complex things.
When we are writing a program, especially C language and C++ language, we always need the libraries. C language has its standard library, C Standard Library. The standard library contains standard I/O (stdio.h). That is why we can print a “Hello World!” in a console. And C++ has also standard library, C++ Standard Library. Like C Standard Library, C++ Standard Library contains “iostream”, “string”, etc. Furthermore, C++ language also uses STL (Standard Template Library). STL contains vector, stack, queue, etc. These libraries reduce our work when we are writing a program. These libraries are so basic that we don’t need to know how they are written.
The programming language is evolving. Newer programming language collects more basic libraries so that the programmer can perform more complex tasks. The programmer can create GUI easily with the built-in libraries. However, without these libraries, a programming language can do nothing.
May be, one might think that C language and C++ language are too old. We should use Java or C#. Yes, one of the advantage of newer programming language is garbage collection. However, in my opinion, C and C++ are still the powerful language. This is because, there are a lot of libraries can be used to reduce your programming problem.
These libraries, though they are not standard libraries, they are very useful. These are the libraries a I like:
- libjpeg – JPEG
- zlib – Needed for PNG and gzip
- libpng – PNG
- GLUT – OpenGL
- wxWidgets – For developing GUI
- TinyXML – XML
- PCRE – Regular expression
There are a lot of libraries. You can search for any libraries you want. Another problem you might face is the platform compatibility and the compiler problem when using the libraries.