Типизированные и нетипизированные языки программирования

Языки программирования по признакам типизации делятся на две категории - нетипизированные (untyped) и типизированные (typed). К нетипизированным можно отнести например Assembler или Forth, а к типизированным Java, C#, JavaScript или Python.

Нетипизированные языки

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

Типизированные языки

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

  • статически и динамически типизированные
  • сильно и слабо типизированные
  • явно и неявно типизированные