mirror of
https://github.com/ByteByteGoHq/system-design-101.git
synced 2026-04-01 16:57:23 -04:00
This PR adds all the guides from [Visual Guides](https://bytebytego.com/guides/) section on bytebytego to the repository with proper links. - [x] Markdown files for guides and categories are placed inside `data/guides` and `data/categories` - [x] Guide links in readme are auto-generated using `scripts/readme.ts`. Everytime you run the script `npm run update-readme`, it reads the categories and guides from the above mentioned folders, generate production links for guides and categories and populate the table of content in the readme. This ensures that any future guides and categories will automatically get added to the readme. - [x] Sorting inside the readme matches the actual category and guides sorting on production
25 lines
1.0 KiB
Markdown
25 lines
1.0 KiB
Markdown
---
|
|
title: "How Do C++, Java, Python Work?"
|
|
description: "Understanding the inner workings of C++, Java, and Python."
|
|
image: "https://assets.bytebytego.com/diagrams/0003-how-python-works.png"
|
|
createdAt: "2024-03-02"
|
|
draft: false
|
|
categories:
|
|
- software-development
|
|
tags:
|
|
- "programming-languages"
|
|
- "compilers"
|
|
---
|
|
|
|

|
|
|
|
The diagram shows how the compilation and execution work.
|
|
|
|
Compiled languages are compiled into machine code by the compiler. The machine code can later be executed directly by the CPU. Examples: C, C++, Go.
|
|
|
|
A bytecode language like Java, compiles the source code into bytecode first, then the JVM executes the program. Sometimes JIT (Just-In-Time) compiler compiles the source code into machine code to speed up the execution. Examples: Java, C#
|
|
|
|
Interpreted languages are not compiled. They are interpreted by the interpreter during runtime. Examples: Python, Javascript, Ruby
|
|
|
|
Compiled languages in general run faster than interpreted languages.
|