Преимущества сильной типизации в программировании:
- Надёжность. 1 В случае неправильных действий машина выдаст ошибку. 2
- Оперативность. 2 При строгой типизации все преобразования прописываются максимально прозрачно, поэтому программист знает все медленные и наиболее затратные участки кода. 2
- Понимание работы программы. 1 Разработчик пишет её вручную и понимает тонкости каждой операции. 2
- Определённость. 1 Когда преобразования пишутся вручную, программист точно знает, что он преобразует и во что. 1 Также он понимает, что такие преобразования могут привести к потере точности и к неверным результатам. 1
Недостатки сильной типизации:
- Сложность. 1 Часто возникает необходимость в представлении комплексных значений, таких как списки, строки или структуры. 1
- Отсутствие проверок. 1 Любые бессмысленные действия, например вычитание указателя на массив из символа, будут считаться совершенно нормальными, что чревато трудноуловимыми ошибками. 1
- Низкий уровень абстракции. 1 Работа с любым сложным типом данных ничем не отличается от работы с числами, что создаёт трудности для разработчика. 1