iors ▁on ▁the ▁fly , ▁based ▁on ▁run - time ▁data . ▁Such ▁advanced ▁construct s ▁are ▁often ▁provided ▁by ▁dynamic ▁programming ▁languages ; ▁many ▁of ▁these ▁are ▁dynamically ▁typed , ▁although ▁dynamic ▁typing ▁need ▁not ▁be ▁related ▁to ▁dynamic ▁programming ▁languages . ▁ ▁Str ong ▁and ▁weak ▁type ▁systems ▁▁ ▁L anguages ▁are ▁often ▁col lo qu ial ly ▁referred ▁to ▁as ▁strongly ▁typed ▁or ▁weak ly ▁typed . ▁In ▁fact , ▁there ▁is ▁no ▁univers ally ▁accepted ▁definition ▁of ▁what ▁these ▁terms ▁mean . ▁In ▁general , ▁there ▁are ▁more ▁precise ▁terms ▁to ▁represent ▁the ▁differences ▁between ▁type ▁systems ▁that ▁lead ▁people ▁to ▁call ▁them ▁" strong " ▁or ▁" weak ". ▁ ▁Type ▁safety ▁and ▁memory ▁safety ▁▁ ▁A ▁third ▁way ▁of ▁categor izing ▁the ▁type ▁system ▁of ▁a ▁programming ▁language ▁is ▁by ▁the ▁safety ▁of ▁typed ▁operations ▁and ▁convers ions . ▁Computer ▁scient ists ▁use ▁the ▁term ▁type - safe ▁language ▁to ▁describe ▁languages ▁that ▁do ▁not ▁allow ▁operations ▁or ▁convers ions ▁that ▁viol ate ▁the ▁rules ▁of ▁the ▁type ▁system . ▁ ▁Computer ▁scient ists ▁use ▁the ▁term ▁memory - safe ▁language ▁( or ▁just ▁safe ▁language ) ▁to ▁describe ▁languages ▁that ▁do ▁not ▁allow ▁programs ▁to ▁access ▁memory ▁that ▁has ▁not ▁been ▁assigned ▁for ▁their ▁use . ▁For ▁example , ▁a ▁memory - safe ▁language ▁will ▁check ▁array ▁bounds , ▁or ▁else ▁stat ically ▁guarantee ▁( i . e ., ▁at ▁compile ▁time ▁before ▁execution ) ▁that ▁array ▁access es ▁out ▁of ▁the ▁array ▁boundaries ▁will ▁cause