GoTo - ciekawostka

goto - chyba najbardziej kontrowersyjna konstrukcja programistyczna na świecie. Od czasu słynnego listu Dijkstry instrukcja ta wzbudza wiele kontrowersji i sprzecznych opinii. Panuje więc przekonanie, że instrukcja ta jest zła i nie należy jej stosować. Szanujące się profesjonalne języki wysokiego poziomu takie jak Java* nawet nie posiadają takiej konstrukcji. Right?... Wrong. Wiadomo, że słowo goto jest w Javie zarezerwowane i nie może być użyte przez programistę. Na poziomie języka programowania nie ma dostępu do tej instrukcji, jednak jest ona dostępna bezpośrednio z poziomu bytecode'u. Fakt ten został w ciekawy sposób wykorzystany przez programistów projektu f2j mającego na celu przetłumaczyć biblioteki FORTRANa na Javę. FORTRAN jest językiem, w którym korzystanie z goto było na porządku dziennym. Brak omawianego mechanizmu w Javie stanowił poważne utrudnienie przy tłumaczeniu kodu FORTRANa na Javę. Programiści wymyślili więc bardzo sprytny sposób - generując kod Javy wstawiali w miejsce goto instrukcje zastępcze, które po skompilowaniu były na poziomie bytecode'u zamieniane na prawdziwe wywołania "złowrogiej instrukcji". Swoje wysiłki opisali w ciekawej publikacji. * - Czytelnik słusznie dostrzeże tu nutkę sarkazmu.