Typ variant jest z pewnością bardzo wygodny. Jednak za wygodą nie idzie wydajność, ten typ jest znacznie wolniejszy od standardowych typów. Jeśli nie wykonujemy jakiś skomplikowanych operacji to możemy go używać. Szczególnie przydatny może się okazać w procedurach bezpośrednio obsługujących interface użytkownika.
Jeżeli chodzi o opinię, że ten typ sprzyja powstawaniu błędów to bym polemizował. Przecież jeśli do standardowego typu np. integer wstawisz napis to też masz błąd. Obojętnie czy typ jest standardowy czy variant trzeba pamiętać aby mieć ograniczone zaufanie do użytkownika. Mogę jedynie przyznać, że błedy powstałe przy używaniu typu variant mogą być trudniejsze do wykrycia.
Lamerstwo? W tym momencie obrażasz zwolenników Perla i PHP, przecież tam nie można wprowadzić danych innym typem niż variant.
Jako ciekawostkę podam, że w Perlu do łączenia napisów używa się operatora kropki (.), inne są również operatory testowania i porównywania dla zmiennych liczbowych, a inne dla tekstowych. Te rozróżnienie na operatory tekstowe i liczbowe wyklucza takie błędy jakie standardowo powtarza się przy opisie typu variant w Delphi, czyli '10'+'20' = '1020'
Wynikiem działania takiego kodu w Perlu
$a = '10';
$b = '20';
$c = $a+$b;
będzie 30, a nie 1020.
Teraz powinno się zadać pytanie czy lamerstwem jest używanie typu variant czy programowanie w Delphi ;P