C Programming 2019: Master The Basics!
C Programming 2019: Master The Basics!
What is C?
C:
C:
C is a programming language. Why C Programming is Awesome? In the past I've gotten some slack for not mentioning C As much as I probably should but in this article this is dedicated to C programmers So anybody that likes C is gonna hopefully like this articlesy and what I have to say about this language.
So I'm just gonna touch on a few of the key points of why I think C is a good language to learn Why it's good maybe as a first language maybe just as a a subsequent language.
If that's something that you're interested in but there's many reasons to learn C I'm not going to be able to mention them all in this article.
This is just a few things that first come to my mind whenever I think of the C programming language.
Alright so number one almost all popular languages are built on top of C language so every language out there And I could've listed all of them so if I didn't list C++ or C# then hopefully don't take offense.
But I mean you can see here some very popular languages like Python Ruby Java JavaScript. They are all C level languages.
So they're languages that are libraries built in C code that translate into a higher level language which is then called JavaScript or Java or whatever but ultimately the code that you can find in Python is the same code that you'll uh find in C if you break it down enough 500,000 lines of C code power the Mars Curiosity Rover.
So I find that really awesome I'm a real big space nerd so I think it's great that uhm that Mars Curiosity is has embedded systems.
And C is the language of choice for those embedded systems and one of the main reasons behind that is that You can't get bogged down with a lot of large libraries like if you're using maybe C# and .net.
C# requires access to the .net library to do you know most things that you're gonna do with C# You can't have that kind of overhead bogging down your systems when you're talking about the amount of you know radiation and everything else that these spaceships have to deal with when they're getting sent across space in this case 38,000 miles an hour.
So you have to have lean and mean systems and 500,000 lines of C code is tested over and over and over and over again over at NASA and eventually you end up getting that C code embedded into these robots.
And things ultimately that's how it's able to execute and call home and everything like that And I'm probably not doing enough justice with the amount of complexity behind that but you know it is cool that C is the language that they're gonna choose they're not gonna use Java they're not gonna use Python.
So it's C all the way for something like that.It's the coding language of choice for kernel development so a kernel is an essential part of the operating system it manages the task of a computer and hardware most notably memory and CPU time.
So basically it's the most fundamental part of the operating system and it controls all other parts of the programs on the computer.
So if you need something that is that needs to be fast like operating systems or anything like that that needs to have very close access to to hardware on your machine then C is gonna be one of the first languages that you choose to do something like that C is considered a high level language.
When you compare it to something like Assembly which can also be used to program hardware and things like that but ultimately C is gonna be the language that you see most often with kernel development.
So it's been around for more than 30 years it isn't going anywhere any time soon and when I say soon probably in the next decades probably within our lifetimes.
So C as you can see here is behind Java but that says a lot considering that Java is built for enterprise development as well as C# here so I mean you're gonna see tons of jobs in any sort of enterprise development language like those two.
But C the fact that it's been around for so long it's in so many embedded systems it's the language that most of these higher level languages are built on top of there's always gonna be some knowledge of C that you're gonna need as a programmer.
So the fact that it's #2 here you can see in TIOBE it was number 1 last year but now it's number 2 So it constantly fluctuates between like #1 and #2 But I mean it's been that way now for decades and it's gonna be probably decades in the future before we see that change too much.
So writing code in C will ultimately tell you how a computer really works so with C you have to manage your own memory so it you have to have a very intimate knowledge of how a computer is actually operating.
For that reason I actually don't do any C development you know I'm typically sticking with a higher level language like Python or C# or Java I don't normally have to do a lot of embedded systems.
In fact I don't have to do any so the knowledge of C that I have is because I was just trying to learn and I was trying to you know play around with it and mess around with it.
So I'm not a "deep C" guy but ultimately though if you are a C guy and you're managing everything like memory then It is gonna require a very intimate knowledge of how a computer system works of how hardware is being interacted with from your computer programming language.
So Uhm it's gonna give you much more appreciation for what higher level languages like Python JavaScript and C# are doing for you when they make certain tasks much easier than what you would have to go through with C.
And mainly that's garbage collection is one of the first things that come to mind that I can think of with that So if you wanna start running into some real nightmares try to manage your own memory and understand how all that stuff works and C is gonna require that of you It's in high demand for jobs.
And it's been this way for a long time so you can see it's relatively flat you know flat curve here all the way back from 2012.
And it would probably be something very similar if you go back several decades but when you compare it to something like Java you know Java being the #1 on the TIOBE index you can still see that so many jobs require knowledge of C compared to all these other languages down here.
So I'm just gonna touch on a few of the key points of why I think C is a good language to learn Why it's good maybe as a first language maybe just as a a subsequent language.
If that's something that you're interested in but there's many reasons to learn C I'm not going to be able to mention them all in this article.
This is just a few things that first come to my mind whenever I think of the C programming language.
Alright so number one almost all popular languages are built on top of C language so every language out there And I could've listed all of them so if I didn't list C++ or C# then hopefully don't take offense.
But I mean you can see here some very popular languages like Python Ruby Java JavaScript. They are all C level languages.
So they're languages that are libraries built in C code that translate into a higher level language which is then called JavaScript or Java or whatever but ultimately the code that you can find in Python is the same code that you'll uh find in C if you break it down enough 500,000 lines of C code power the Mars Curiosity Rover.
So I find that really awesome I'm a real big space nerd so I think it's great that uhm that Mars Curiosity is has embedded systems.
And C is the language of choice for those embedded systems and one of the main reasons behind that is that You can't get bogged down with a lot of large libraries like if you're using maybe C# and .net.
C# requires access to the .net library to do you know most things that you're gonna do with C# You can't have that kind of overhead bogging down your systems when you're talking about the amount of you know radiation and everything else that these spaceships have to deal with when they're getting sent across space in this case 38,000 miles an hour.
So you have to have lean and mean systems and 500,000 lines of C code is tested over and over and over and over again over at NASA and eventually you end up getting that C code embedded into these robots.
And things ultimately that's how it's able to execute and call home and everything like that And I'm probably not doing enough justice with the amount of complexity behind that but you know it is cool that C is the language that they're gonna choose they're not gonna use Java they're not gonna use Python.
So it's C all the way for something like that.It's the coding language of choice for kernel development so a kernel is an essential part of the operating system it manages the task of a computer and hardware most notably memory and CPU time.
So basically it's the most fundamental part of the operating system and it controls all other parts of the programs on the computer.
So if you need something that is that needs to be fast like operating systems or anything like that that needs to have very close access to to hardware on your machine then C is gonna be one of the first languages that you choose to do something like that C is considered a high level language.
When you compare it to something like Assembly which can also be used to program hardware and things like that but ultimately C is gonna be the language that you see most often with kernel development.
So it's been around for more than 30 years it isn't going anywhere any time soon and when I say soon probably in the next decades probably within our lifetimes.
So C as you can see here is behind Java but that says a lot considering that Java is built for enterprise development as well as C# here so I mean you're gonna see tons of jobs in any sort of enterprise development language like those two.
But C the fact that it's been around for so long it's in so many embedded systems it's the language that most of these higher level languages are built on top of there's always gonna be some knowledge of C that you're gonna need as a programmer.
So the fact that it's #2 here you can see in TIOBE it was number 1 last year but now it's number 2 So it constantly fluctuates between like #1 and #2 But I mean it's been that way now for decades and it's gonna be probably decades in the future before we see that change too much.
So writing code in C will ultimately tell you how a computer really works so with C you have to manage your own memory so it you have to have a very intimate knowledge of how a computer is actually operating.
For that reason I actually don't do any C development you know I'm typically sticking with a higher level language like Python or C# or Java I don't normally have to do a lot of embedded systems.
In fact I don't have to do any so the knowledge of C that I have is because I was just trying to learn and I was trying to you know play around with it and mess around with it.
So I'm not a "deep C" guy but ultimately though if you are a C guy and you're managing everything like memory then It is gonna require a very intimate knowledge of how a computer system works of how hardware is being interacted with from your computer programming language.
So Uhm it's gonna give you much more appreciation for what higher level languages like Python JavaScript and C# are doing for you when they make certain tasks much easier than what you would have to go through with C.
And mainly that's garbage collection is one of the first things that come to mind that I can think of with that So if you wanna start running into some real nightmares try to manage your own memory and understand how all that stuff works and C is gonna require that of you It's in high demand for jobs.
And it's been this way for a long time so you can see it's relatively flat you know flat curve here all the way back from 2012.
And it would probably be something very similar if you go back several decades but when you compare it to something like Java you know Java being the #1 on the TIOBE index you can still see that so many jobs require knowledge of C compared to all these other languages down here.
Free of cost for 1 to 10 days
With Certificate
0 Comments
Please do not enter any spam link in the comment box.