How do computers read code?

How do computers read code?

When you first learned to write code, you probably realized that computers don’t really have any common sense. You need to tell a computer exactly what you want. But do you know about all the work the computer does to understand what you mean?

Twitter: https://twitter.com/frameofessence
Facebook: https://www.facebook.com/frameofessence
YouTube: https://www.youtube.com/user/frameofessence

Video links:

Crash Course Computer Science:

Building the Bits and Qubits

Tools used:
gdb
gcc

Monospaced font:
Menlo-Regular

Images and other visuals:

The IDE in the intro:
Eclipse

Python scripting:
IDLE

Source code distribution example:
Apache httpd on GitHub

Executable distribution examples:
Audacity
VLC media player
Blender

Punch cards:
https://en.wikipedia.org/wiki/File:FortranCardPROJ039.agr.jpg
https://commons.wikimedia.org/wiki/File:Punched_card_program_deck.agr.jpg

Early computers:
https://en.wikipedia.org/wiki/File:BRL61-IBM_702.jpg
https://en.wikipedia.org/wiki/File:IBM_701console.jpg

Complex history of computer languages:
https://en.wikipedia.org/wiki/Generational_list_of_programming_languages

Montage:
Sublime Text
IntelliJ IDEA
https://www.haskell.org/
IntelliJ IDEA again…

Print “Hello, world!” command:
Python shell

Music:

YouTube audio library:
Sunflower

Incompetech:
Call to Adventure
If I Had a Chicken

Premium Beat:
Cutting Edge Technology
Second Time Around

Swoosh 1 sound effect came from here:
http://soundbible.com/682-Swoosh-1.html
…and is under this license:
https://creativecommons.org/licenses/sampling+/1.0/

50 Comments

  1. Excelsoft on October 21, 2019 at 4:02 pm

    Amazing and comprehensive!
    Usually I spend a week to explain all of this to my students (w more details oc), but this is so helpful!



  2. First Name Last Name on October 21, 2019 at 4:02 pm

    *laughs in already just programming in assembly*



  3. QuriOcity on October 21, 2019 at 4:03 pm

    Love it…



  4. Yixe on October 21, 2019 at 4:04 pm

    Please make more videos 🙁



  5. game nation on October 21, 2019 at 4:05 pm

    This video is pure knowledge !



  6. Jimmy Draws on October 21, 2019 at 4:06 pm

    Any computer class worth its salt would go through compilers



  7. Kozaker88 on October 21, 2019 at 4:06 pm

    Непогано пояснив, лайк тобі👏👏👏



  8. isaac johnalphonso on October 21, 2019 at 4:09 pm

    Only 5 mins, then I started to see comments



  9. Andrey Sitnikov on October 21, 2019 at 4:10 pm

    Frame of Essence’s “Frame of Essence” only happens once a year. Hello from 2019, my friend.



  10. ViniGameplay on October 21, 2019 at 4:11 pm

    So the thing that you did in that extra video to make the video making process go smoothly is make 1 video a year instead of 2?



  11. Aaron Horne on October 21, 2019 at 4:13 pm

    Awesome video



  12. Warsin on October 21, 2019 at 4:14 pm

    I can’t fucking tell is this Java or C#



  13. DaveByDaylight on October 21, 2019 at 4:18 pm

    "All you did was Python scripting!?" lmao



  14. jf wang on October 21, 2019 at 4:19 pm

    这是我最过的最好的、最轻松的、最好玩的软件介绍视频!没有之一!!!



  15. Naved on October 21, 2019 at 4:19 pm

    dood i feel like worthless lol



  16. Chris Russell on October 21, 2019 at 4:23 pm

    i cant do C yet, or anything like that. (though i can sort of follow it when having to tackle the firmware on the 3d printers…)

    but i do have the advantage that i learnt about logic gates and binary arithmetic on discrete components before i started learning assembly for pic chips.

    so the whole system makes perfect sense now.

    divison and subtraction are hard operations which involve a few more steps(except for halving, which is a simple shift right). addition and multiplication is easy. doubling especially so (shift left)

    all the compiler does is turn our language into hexadecimal units, which is then fed into the chip as binary. all instructions, data, and variables are binary. just a bunch of switches in parallel basically.+

    and because i work in assembly, and take note of the hex dumps, i can code in binary…

    i draw the line at 8 bits though!

    i gotta learn C. for most purposes its probably easier. its pretty easy to get lost with gotos and skips…

    but when the program is bordering on the limit of ROM… assembly takes longer but is usually far more efficient.



  17. teflontelefon on October 21, 2019 at 4:24 pm

    What if my code identifies as non-binary?



  18. KP Real Soccer on October 21, 2019 at 4:24 pm

    Great video!



  19. Yippee ki-yey on October 21, 2019 at 4:25 pm

    *Lisp* is real pain



  20. sharbel p i b on October 21, 2019 at 4:26 pm

    👏👏👏



  21. Zahid Abdullah on October 21, 2019 at 4:27 pm

    🤣🤣🤣🤣🤣



  22. PQCraft Gaming on October 21, 2019 at 4:28 pm

    BTW you can make a compiler using raw assembly or (in my case) switch bus (I made a home-brew computer and entered in programs by using a 0-9 A-D * (E) and # (F) keypad and you just use a switch to change modes. (memAddr and memSet))



  23. Danio Cionini on October 21, 2019 at 4:28 pm

    really good video! explained perfectly



  24. Luca Valentino Colmi on October 21, 2019 at 4:28 pm

    Wunderbau!



  25. Sebastian Feuerstein on October 21, 2019 at 4:29 pm

    My Head Hurts 😭😂



  26. vaio197 on October 21, 2019 at 4:29 pm

    No one programmer knows how to make me understand HOW REALLY THE ABSTRACTION LAYER WORKS. How compiler translate? I mean, how compiler knows 3 is 00000011? I guess there will be a table who tells compiler even the most easy instruction what really is. When you put 3 in your source code, really 00000011 is alocated in some place and compiler read this? Is the ASCII code? I mean, if a type "3" in the keyboard, in C or Phyton, is is really stored like 00000011? Cause no matter what low-level a program be, sometime the code are converted to a electrical signal who open or close logical gates. Even so, 0 and 1, they still are a representation for off/on, closed/open, etc.. Making several google searches, i read about microcode. Is it actually when the "magic" happens? Maybe the instruction set architecture? And again…. how text (although binary) like 00000001 or 00001011 is understanded by the processor? I´m not english speaker, I hope you understand what I mean and I expect someone explain my doubts clearly, if possible xD



  27. Tech stickman on October 21, 2019 at 4:30 pm

    damn how did you get to know my mind question at the starting point?



  28. GreatMCGamer on October 21, 2019 at 4:31 pm

    I haven’t gone trough any classes.
    I’ve only watched youtube videos.
    And half way finished Windows 8.1 app: Solo Learn C++
    And I can’t remember anything about it.
    🙂



  29. angrywolfjr on October 21, 2019 at 4:35 pm

    the fact you did not do x++ and did x=x+1 hurts my soul



  30. Morpheus x on October 21, 2019 at 4:36 pm

    Soon Ai will be creating code leaving all the programmers jobless .



  31. M Sufiyan on October 21, 2019 at 4:39 pm

    You should have like 100 million subscribers



  32. :D on October 21, 2019 at 4:41 pm

    A problem has been detected and Windows has been shut down to prevent damage to your computer.

    111101000100010110001011



  33. Ivan Bryan on October 21, 2019 at 4:41 pm

    Is it wrong that I still write in a programming language that’s 35 years old? 😀



  34. Alex Chabanenko on October 21, 2019 at 4:41 pm

    попробуйте написать на ассемблере программу для микроконтроллера AVR и вы увидите что такое status register, cerry flag и т.д. . Вы узнаете что такое таймеры, стек, макросы. Хотя… не надо, просто продолжайте-> System.out.println("Hello world") и Ваши идеи станут двигателем прогресса.
    P.S. но кто-кто должен написать компилятор для Вас…



  35. Azdim Zul Fahmi on October 21, 2019 at 4:42 pm

    this video made me that I’m nothing



  36. Gian Marco Cialdi on October 21, 2019 at 4:43 pm

    Which assembly was in the video? 8086?



  37. Rakesh Rai on October 21, 2019 at 4:43 pm

    Python is better then C any day



  38. Keine Ahnung on October 21, 2019 at 4:44 pm

    But how does the compiler know, how to convert the assembly–instructions, to hexadecimal?



  39. same same on October 21, 2019 at 4:45 pm

    this is FUNNY!



  40. Phạm Huy on October 21, 2019 at 4:46 pm

    Even when I write "Hello world" there are 20 errors



  41. Anna Jevailn on October 21, 2019 at 4:47 pm

    no one
    my brain: where am I ..? why am I????whoo am I !!????



  42. Gaminsecret on October 21, 2019 at 4:47 pm

    Well I liked this channel



  43. D Man on October 21, 2019 at 4:48 pm

    Why 0 and 1 , why not 0 , 1, and 2 for quantum computers, 2 can be 0 and 1 at the same time :0



  44. Daniel Ramp on October 21, 2019 at 4:52 pm

    My days okey, and how is your day going?



  45. PQCraft Gaming on October 21, 2019 at 4:52 pm

    I opened a 32-bit .asm file and the first 10 characters were ╩P@_AS÷∩¿@



  46. tremon 36 on October 21, 2019 at 4:54 pm

    Imagine doing all the holes for old computer programs and then you realize you forgot a semicolon….



  47. Varelity on October 21, 2019 at 4:54 pm

    CPU uses a fetch execute cycle. It fetches an instruction from memory, decodes that instruction, and executes the instruction
    Source: Tom Scott, god of the universe



  48. Lærke on October 21, 2019 at 4:57 pm

    I’ve always been curious about that fact.
    When you write a code, how does the computer know that if statements mean so and so. Now I know, cool



  49. Mallchad on October 21, 2019 at 4:57 pm

    I recently though about something that this video touched upon kinda. So if programs such as compilers were written in entirely machine code, even assembly, and the building of transistors for processors that run the robots that build the processes, how awful would it be, and how far would we be set back if we somehow (in a somewhat likely and pending scenario) lose the code and programs that allow us to compile programs…. Even if were to live on another world, we would likely have to take all this knowledge and programs with us, and possibly even a hardware manufacturing robot to even make the hardware for the factories that make us hardware to make the civilisation reasonably advanced in comparison to Earth. Kinda scary how easily we could be set back give a nuclear or digital Armageddon.



  50. Peng on October 21, 2019 at 4:59 pm

    0:01
    I never got to programming class tho