Programming in C Languages
What is C?
C is a low-level programming language developed by Dennis Ritchie at Bell Labs. In the late 1960s, computers were increasingly expensive, so they had to be shared among users with different tasks.There was a need for computers that could take on multiple applications at different times and store files when not in use so information didn’t need to be input again. A language for Operating Systems was required, and so C was developed.
C is an imperative procedural language, as opposed to later object-oriented languages like Java. It is still useful because it employs simple compilers that are available for most operating systems and efficiently maps to machine language, making it a low-level language that is available to many people who want to learn coding. It also offers portability, meaning it can be compiled for different operating systems with minimal changes to the source code.
What is C++?
Developed by Bjarne Stroustrup at Bell labs, C++ was first released in 1985, and was standardized by the International Organization for Standardization in 1998 as C++98. A flexible general purpose language, it allows for object-oriented programming in C, and incorporates functional, procedural, and generic programming paradigms. The Standard Template Library provides a set of common classes and generic algorithms so that code can be re-used with different data sets.
C++ is a mid-level language, meaning it’s easy to work in but can also operate quickly, capable of communicating at all levels, from applications to hardware. It’s useful for operating systems and embedded software like desktop applications, and is still popular today because of its speed and ease of use. Some notable programs that were developed with C++ are the Microsoft Office suite, Adobe Photoshop, Firefox, and Google Chrome.
What is C#?
A higher-level language than C++, C# was developed by Microsoft alongside the .NET framework to utilize its Framework Class Library and ASP.NET runtime for web applications. Anders Hejlsberg and his team developed the Common Language Runtime and C# to fix problems with earlier languages like C++ and Java. First released in 2000, C# is an object-oriented language that was originally very similar to Java, and is used to develop software components suitable for distributed environments.
A class-based language, C# works with the Visual Studio IDE for easier development of enterprise applications. The Common Language Infrastructure allows high-level languages to be platform-agnostic, so code doesn’t have to be rewritten for different architectures. C# also provides support for strong type checking and works with LINQ to extract data from spreadsheet and database files.
Which Version Should I Learn?
Luckily, there are lot of resources online to help you figure out which language is right for you. C languages have the advantage of being easy to learn and widely used, so there is a lot of utility in gaining experience with them. You can read up on which language you want to learn (which mostly depends on the type of programming you’re looking to do in the future) and get started with one of the many free tutorials available online.