Типизация в программировании или как выбрать свой язык

Изучение программирования – это сложное занятие. Различные теги и структуры данных, алгоритмы и программы – все это создается с использованием определенного языка. И какой именно? Каждый язык программирования обладает своими особенностями, одной из которых является типизация.
Типизация в программировании означает способ, которым язык определяет переменные. Это определяет, нужно ли явно указывать машине, как интерпретировать определенный тег, или язык самостоятельно поймет, что нужно делать и как выполнять различные инструкции.
Как понимать тип
Любая переменная, вне зависимости от используемого языка программирования, представляет собой источник данных, а её тип определяет, какие данные могут быть сохранены в ней и какие операции можно выполнять.
Виды типизации
Существует четыре признака, по которым можно классифицировать все языки:
Давайте рассмотрим различия между каждым из них и выясним, какие преимущества предоставляет определенный тип типизации.
Сначала о бестиповой типизации
Несмотря на отсутствие явного типа данных, язык программирования обладает бестиповой системой типизации. Звучит сложно? Давайте разберемся в этом.
Характерной чертой низкоуровневых или экзотических языков является отсутствие строгой типизации. Примерами таких языков являются Fort и Brainfuck. Основное отличие этих языков заключается в том, что все элементы представлены последовательностью битов различной длины.
Плюсы применения языков программирования без строгой типизации:
Недостатки:
-Недостатки:
-Недостатки:
-Недостатки:
-Недостатки:
Статическая и динамическая типизация
Основное различие между ними заключается в способе проверки типов. В статически типизированных языках проверка происходит на этапе компиляции, а в динамически типизированных - во время выполнения программы.

Плюсы использования статической типизации:
Преимущества динамической типизации:
В некоторых статических языках возможно внедрение динамических элементов:
В динамически типизированных языках можно взаимодействовать со статикой аналогичным образом. Примером таких языков являются Common Lisp и Perl.
О слабой и сильной типизации
Программисты, использующие языки с сильной типизацией, вынуждены избегать смешивания различных типов данных в одном выражении, в то время как языки со слабой типизацией, наоборот, позволяют такие действия.
Преимущества жесткой типизации:Плюсы слабой типизации:
Явная и неявная типизация
При использовании неявной типизации данные определяются автоматически при присваивании переменной значения. В отличие от этого, явная типизация требует явного указания типов данных. Некоторые языки программирования с неявной типизацией позволяют явно указывать типы значений, как, например, Haskell.
P.S. Лучше и проще всего заходить в программирование с языка Python. Он востребованный, учит дисциплине и не очень сложный – так говорят опытные программисты.
Comments