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