HCL Interview Question
Software Engineer / DevelopersTo be correct, we don't NEED C++.
C++, C#, Fortran, etc, all get compiled down to assembly, which is a standing for machine code, and then executed in a deterministic fashion on a processor.
C++ or any OOP language cannot do anything you could not do straight in assembly, or BASIC, or C, for example.
However, its NICE to have OOP languages such as C++, because it allows you to produce as software solution that is more intuitive and readable for many problems, than if you had to write it in a non OOP language.
Additionally, the object encapsulation allows users to take advantage of other components not desgned by them, aka reuse, and this is important today because software systems have become so very complex and large, that writing them in in a non-OOP language, where the programmers have a good overview of he whole project, is a near impossibility. We must abstract to be able to keep a manageable understanding of what we are working on and the solution being implemented.
To make programs which are scalable, allow you to access the internals of an OS. Have fast execution time (Faster than java), utilise all features of C and harness th4e power(Reuse,Inheritance,polymorphism etc) of object oriented paradigm of developing software.
- purose September 11, 2006