Поскольку я вырос на Паскале (да и сейчас в основном использую его современные версии), то некоторые особенности С/С++ и им подобных языков мне совершенно непонятны. Например, зачем было делать break в конструкции switch/case? В Паскале это делается так: var x : Integer = 1; case x of 0 : WriteLn(0); 1 : WriteLn(1); 2 : WriteLn(2); 3 : WriteLn(3); end; Но можно сделать и так: case x of 0, 2 : WriteLn(x); 1 : WriteLn(1); 3 : WriteLn(3); end; А можно и вот так: case x of 0..3 : WriteLn(x); end; А вот...
Интервальный тип есть далеко не во всех языках программирования. Например, в “великом и могучем” С++ его нет (ну может сейчас появился, не знаю точно). И лично меня это сильно бесило, поскольку начинал я с Паскаля, где этот тип есть. И наличие этого типа - это прям существенное преимущество (с моей точки зрения, во всяком случае). Разумеется, есть этот тип и в наследниках Паскаля: Delphi, Lazarus и др. Интервальный тип задаётся границами своих значений внутри базового типа. Например, внутри типа Byte (диапазон 0…255) вы можете определить свой тип в диапазоне 1...