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



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

Изучение программирования – это сложное занятие. Различные теги и структуры данных, алгоритмы и программы – все это создается с использованием определенного языка. И какой именно? Каждый язык программирования обладает своими особенностями, одной из которых является типизация.

Типизация в программировании означает способ, которым язык определяет переменные. Это определяет, нужно ли явно указывать машине, как интерпретировать определенный тег, или язык самостоятельно поймет, что нужно делать и как выполнять различные инструкции.

Как понимать тип

Любая переменная, вне зависимости от используемого языка программирования, представляет собой источник данных, а её тип определяет, какие данные могут быть сохранены в ней и какие операции можно выполнять.

Виды типизации

Существует четыре признака, по которым можно классифицировать все языки:

Давайте рассмотрим различия между каждым из них и выясним, какие преимущества предоставляет определенный тип типизации.

Сначала о бестиповой типизации

Несмотря на отсутствие явного типа данных, язык программирования обладает бестиповой системой типизации. Звучит сложно? Давайте разберемся в этом.

Характерной чертой низкоуровневых или экзотических языков является отсутствие строгой типизации. Примерами таких языков являются Fort и Brainfuck. Основное отличие этих языков заключается в том, что все элементы представлены последовательностью битов различной длины.

Плюсы применения языков программирования без строгой типизации:

Недостатки:

-

Недостатки:

-

Недостатки:

-

Недостатки:

-

Недостатки:

Статическая и динамическая типизация

Основное различие между ними заключается в способе проверки типов. В статически типизированных языках проверка происходит на этапе компиляции, а в динамически типизированных - во время выполнения программы.

Плюсы использования статической типизации:

Преимущества динамической типизации:

В некоторых статических языках возможно внедрение динамических элементов:

В динамически типизированных языках можно взаимодействовать со статикой аналогичным образом. Примером таких языков являются Common Lisp и Perl.

О слабой и сильной типизации

Программисты, использующие языки с сильной типизацией, вынуждены избегать смешивания различных типов данных в одном выражении, в то время как языки со слабой типизацией, наоборот, позволяют такие действия.

Преимущества жесткой типизации:

Плюсы слабой типизации:

Явная и неявная типизация

При использовании неявной типизации данные определяются автоматически при присваивании переменной значения. В отличие от этого, явная типизация требует явного указания типов данных. Некоторые языки программирования с неявной типизацией позволяют явно указывать типы значений, как, например, Haskell.

P.S. Лучше и проще всего заходить в программирование с языка Python. Он востребованный, учит дисциплине и не очень сложный – так говорят опытные программисты.

226   0  

Comments

    Ничего не найдено.