यह समझना महत्वपूर्ण है कि gotoनिर्माण उन दिनों से शेष है जो प्रोग्रामर मशीन कोड और असेंबली भाषा में प्रोग्राम करते हैं। क्योंकि वे भाषाएँ इतनी बुनियादी हैं (जैसा कि, प्रत्येक निर्देश केवल एक काम करता है), कार्यक्रम नियंत्रण प्रवाह पूरी तरह से gotoबयानों के साथ किया जाता है (लेकिन विधानसभा भाषा में, इन्हें जंप या शाखा के रूप में संदर्भित किया जाता है। निर्देशों के )।
अब, हालांकि सी भाषा काफी निम्न स्तर की है, इसे बहुत उच्च स्तरीय विधानसभा भाषा के रूप में सोचा जा सकता है - सी में प्रत्येक कथन और फ़ंक्शन को आसानी से विधानसभा भाषा निर्देशों में तोड़ा जा सकता है। यद्यपि आजकल कंप्यूटर के साथ प्रोग्राम करने के लिए C मुख्य भाषा नहीं है, फिर भी यह निम्न स्तर के अनुप्रयोगों, जैसे एम्बेडेड सिस्टम, में बहुत अधिक उपयोग किया जाता है। क्योंकि C का फ़ंक्शन असेंबली लैंग्वेज के फंक्शन को बहुत करीब से देखता है, इसलिए यह केवल वही समझ पाता है जो gotoC में शामिल है।
यह स्पष्ट है कि जावा C / C ++ का विकास है। जावा सी से बहुत सारी सुविधाएँ साझा करता है, लेकिन विवरणों का एक बहुत अधिक सार है, और इसलिए बस अलग तरह से लिखा गया है। जावा एक बहुत ही उच्च-स्तरीय भाषा है, इसलिए निम्न-स्तरीय विशेषताओं का होना आवश्यक नहीं है, gotoजब अधिक उच्च-स्तरीय निर्माण जैसे कार्य, प्रत्येक के लिए, और जबकि लूप प्रोग्राम नियंत्रण प्रवाह करते हैं। कल्पना करें कि आप एक फ़ंक्शन में थे और gotoकिसी अन्य फ़ंक्शन में लेबल के लिए किया था । अन्य फ़ंक्शन वापस आने पर क्या होगा? यह विचार बेतुका है।
यह आवश्यक रूप से उत्तर नहीं देता है कि जावा में gotoकथन क्यों शामिल है, यह अभी तक संकलित नहीं होने देगा, लेकिन यह जानना महत्वपूर्ण है कि gotoपहले कभी निचले स्तर के अनुप्रयोगों में इसका उपयोग क्यों किया गया था, और यह सिर्फ समझ में क्यों नहीं आता है जावा में उपयोग किया जाता है।