C++ Vs C Programming Language – Which is Better !!!
For the programmers reading this question must seem as old as the chicken & egg question and as hotly debated. While C++ did originate primarily as a means to overcome the shortcomings inherently present in C, there is still a case to be made for learning C language. Today, we go into a little deep into this question.
C was designed in the early 1970’s and still uses the command line for its output in most free development environments. It is a procedural language designed to be compiled with a straight-forward and easy to use compiler. One of the primary reasons for its development was to provide direct access to lower level memory, to provide language constructs that map efficiently to machine instructions and to run all of this with minimal run-time support. Thus, becoming useful to design applications that were previously designed with assembly language. Despite its low – level capabilities, a program written in C with standard compliance can be executed on any machine, though with some additional overhead.
Just in case you didn’t already know, C++ is the upgrade to C – with its name coming from the increment operator used in C (++). This is a general purpose programming language and was the first one to implement features of object oriented programming. Therefore it should come as no surprise that C++ quickly became the go to, for developing complex applications where C didn’t cut it. To develop more sophisticated applications with higher dynamic content, C++ was the first language. Considering it was designed in 1983, it still used the command line, but offered programmers opportunities like never before.
Which one is better ?
Traditionally, programmers have often pushed for C++ to be better than C. But now, Developer David Timothy Strauss is publishing a call to code “straightforward, easy-to-reason-about approaches” — in an essay titled “Choosing ‘Some C++’ Over C”. (Alternate title: “C++ for Lovers of C.”) The essay – though opinionated – makes a call for “adopting a subset of C++ to smooth out C’s rough edges.” The primary argument being that C++ offers a type-safe approach that is better specifically for event-driven designing. The essay makes some compelling arguments regarding using libraries, allocation ownership, etc. An excerpt from the post:
In an effort to support generic callback functions with “user data,” type safety dies in the process. If I change what type the callback expects without changing the type of pointer I set on the curl handle, I get undefined behavior (and probably crashes). C++ has better answers, all of which provide type safety.
In summary, the developer argues for a case which can be a middle ground between C & C++. To add credence to this being a genuine game changer, quite a few major tech companies have developed their own versions/variations of C & C++ for their own use. Maybe an open source language that combines the best of both worlds could change the programming landscape for the better.