Knoledge_v0

This commit is contained in:
lambehorn
2025-12-19 13:39:24 +05:00
parent e97ecdf4dc
commit 422861cb0b
165 changed files with 2282 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
Это два разных подхода к тому, как [языки программирования](Язык%20программирования) работают с [типами данных](Типы%20данных.md) (числа, строки, списки и т.п.).
## Статическая типизация
Тип переменной известен на этапе компиляции, до запуска программы.
Примеры языков: C, C++, Java, Rust, Go, C#.
#### Особенности
- Типы переменных объявляются заранее.
- Ошибки несоответствия типов обнаруживаются **до запуска**.
- Код работает быстрее.
- Программист должен строго следить за типами.
### Плюсы
- Раннее обнаружение ошибок.
- Быстрая работа.
- Легче оптимизировать.
### Минусы
- Много “служебного” кода.
- Менее гибко.
## Динамическая типизация
**Тип переменной определяется во время выполнения программы**.
Примеры: **Python, JavaScript, Ruby, PHP, Lua**.
#### Особенности
- Можно присвоить переменной значение любого типа.
- Ошибки типов проявляются только во время выполнения.
- Код гибче и короче.
### Плюсы
- Гибкость.
- Быстрая разработка.
- Меньше кода.
### Минусы
- Ошибки типов могут проявиться поздно.
- Немного медленнее, потому что типы проверяются на ходу.