Understand Programming Languages

Understand Programming Languages



Views:89417|Rating:4.92|View Time:8:39Minutes|Likes:2336|Dislikes:40
Facebook Page:
Community:
Book:
Home:
Twitter:
Email: [email protected]

hey guys what's going on hope you're all doing well today we're going to cover a pretty big topic and that's understanding programming languages a little better all right so we're just going to cover really really basic fundamentals and things that we should all understand about programming languages all right let's do it the first thing we're going to do is we're just going to categorize different programming languages and we're going to start from the bottom and go all the way to the top the lowest lowest level of a language are machine instructions and these are literally ones and zeros that you're not supposed to understand it would look like gibberish if you ever looked at it but these are purely instructions that a computer understands if you looked at this it would be like 1 0 0 1 0 0 and what that means is add these two numbers so these type of instructions or machine level code is supposed to be interpreted by a machine not a human ok so this is the lowest lowest lowest level of a language let's take it one step further and mention assembly languages and what assembly languages really are is just a really really simple wrapper on top of machine code so if you're working with an assembly level language instead of writing 1 0 0 1 0 0 you can really write add 2 plus 3 and it'll translate it down to machine instruction so assembly is still really really low-level it's still really primitive but it's still a language and it's one level above machine code alright so let's take our languages and move it one step higher and we're going to talk about system languages how do we define exactly what a system language is well a system language is anything that we use to program the actual computer system itself which includes things like the operating system or device drivers if you're programming the actual computer like how the actual computer works you usually use system languages and one of the most common system languages are C and C++ ok so we're already at last last level and this is the highest level of programming language categories and these are application languages or high level languages so this category is very very broad I've made it really really general because many many different programming languages kind of fit into this category and these are languages that you use to build consumer facing applications usually like Excel flappy bird Twitter examples of these languages are usually Java Python or Ruby but the major major takeaway that I want us to understand from this point is the fundamental difference between system level languages and application or high level languages system programming and the languages that usually tend to be used for system programming like we mentioned C well remember system programming is the act of programming the computer itself and how the computer system operates while application level programming with application like languages those are used to build things that we use on a day to day basis okay so what we just covered is just a really really basic categorization of languages when we started from the bottom and now we went all the way to the top we started that machine level code that's interpreted directly by the hardware all the way up to high-level applications and high-level programming each of these categories has languages that lend themselves to that category like for systems programming you usually use C or C++ for application programming you usually use Python Ruby Java etc okay so we've been really really general up to this point and hopefully right now you're getting a small intuition about the different categories of languages but we have to dive a little deeper and talk about a really really really important concept this is the concept of compiled versus interpreted and it's commonly misunderstood so we're just going to clear it up right now with compilation there's a very explicit step called a compilation step in which your source code gets translated to gene code so if you wrote a program and see usually you have to use a compiler like GCC to translate all the text you wrote into machine code that the processor can execute the one major takeaway of compiling is that there's an explicit compilation step which translates your source code into those machine instructions ok so now what exactly is interpretation or interpreters well with interpreters there's actually no explicit compilation or translation step interpretation is when another program commonly known as an interpreter literally interprets your program your source code line by line and executes the right thing the major difference actually the only difference and most important thing you have to realize is that for interpreted your program never goes through a compilation step so this ultimately leads us to like one of the number-one points of confusion between these two concepts and that's that either languages can be interpreted or compiled and this is like a false notion remember that every single programming language actually has multiple implementations like if you just take Ruby for example Ruby is a programming language which means kind of like it defines a nice grammar and syntax for Ruby but actually there's many many many different implementations of Ruby if you just go on wiki and look up Ruby implementations they'll be like you know 20 30 40 maybe hundreds of implementations this is analogous to processor land if you guys remember that a lot remember with processors we define an instruction set architecture and different processors implement the same instruction set architecture so it's very similar to how languages work in that analogy okay so the number one takeaway here is that a language itself can't be defined as interpreted or compiled it's the implementation of a language that's interpreted or compiled I know this sounds a little weird so let's just take a couple examples and hopefully clear things up if you're a Python software developer the majority of cases Python the implementations of Python are interpreted you will write a lot of Python source code and then you'll usually run some Python interpreter Python to Python 3 and you'll just run your program and it will do the right thing or spit out errors at you well actually there's also implementations which compile Python code into machine code they're less common than the interpreters but they do exist so you could potentially use your same Python code the same source code that you wrote but you would use a Python compiler which would compile translate all that source code into machine code so when that happens that implementation is actually a compiled version of Python alright guys so I hope that that distinction was really clear for everyone you cannot say a language is either interpreted or compiled it's the implementation of that language that's either interpreted or compiled and you know every language is really different in each one means different ways Python and Ruby are usually interpreted and C and C++ are usually compiled but it's not 100% of the time also let's remember the different categorizations of languages and we started at the very bottom remember all the way down at machine code or machine instructions the system programming all the way up to application programming all right so we understand those basic categories and now we understand fundamentally what's the difference between interpreted and compiled keep the concepts of interpreted versus compiled really really clearing your head and it's going to make programming much easier alright so yeah that's the end of the video guys thanks for watching hope you have a better understanding and just intuition behind what a programming language really is if you liked the video just give me a like down here or drop me a comment I hope you guys have a great rest of the week and I'll see you next time alright

43 Replies to “Understand Programming Languages”

  1. ChangeTheGameTV Intro ToEARTHOS

    UrTalk an words +Choise of Music aPerfectPresentation InLogicFLOW
    Somesh Gorla

    2 years ago

    STARTED FROM THE BOTTOM NOW WE HERE 3:26
    StartedFromTheBottom Now OurWholeTeams Here .. Sounds Like a Rapp Song InCreation ..#mCity_MusicMix00

  2. 18bovende

    I don't know that much about programming, but i already know that all my favorite apps (Excel also btw) are written in C++ (what you call a system language) What's up with this then?

  3. OGAquaranus

    An interpreted language has code translated and executed line by line at the same time, while a compiled language has code translated "bulk by bulk" with likely optimal reordering by later execution. Therefore, a compiled language is usually faster.

  4. SAMUEL SAMA

    World Famous Software Developer – Super-Charged Affirmations https://www.youtube.com/watch?v=6Q_xnsAFV4w HI I ENJOY YOUR STYLE, PLEASE DO A PYTHON FROM BASIC BEGINNER TO PRO, AND HOW TO RAP IT AROUND C++ SYSTEM AS I DO PLANE TO LEARN IN 2 YRS MACHINE CODE, TO HELP ME ALONG I INCLUDE SUBLIMINALS ALONG WITH NOOTROPICS (LIMITLESS BRAINFOOD IE CHOLINE LECITHIN/ AND TO SET THE VIDEO ON CONTINUOUS REPEAT TOFROM SPEED UP AND DEEPEN LEARNING AS ITS A MAJOR CHANGE IN MY LIFE F8ROM ELECTRONICS ENG TECH MY EMAIL [email protected]gamil.com

  5. Weizunpua2619 Weizunpua2619

    How to more understand the programming language? I still so confused when my lecture teaching.

  6. hammertapping

    actually most applications(games, office suits, graphic and multimedia applications and players, etc) are written in C++. almost no heavy duty standalone applications are written in python. python is mostly used for web applications and learning.

  7. Mario Rivera

    The only part of this video I comprehended was, “Hey Guys, what’s going on?” Hope you’re all doing well.” 😛😎

  8. elperrodelace

    Hey! How can I contact you? I'm a business major and are looking for motivate talented computer programmers that would be interested in working on a start-up. Let me know.

  9. Rainbow dash

    Outstanding video. Really like you giving us the 50k foot view. Giving explanations using category makes it easier to understand concepts without the confusing minutiae. Thank u brother!!

  10. micjakes1

    That was amazing. Did not know C and C++ were system languages. Thought they were high level programming languages.

Leave a Reply

Your email address will not be published. Required fields are marked *