Debunking the 'Expensive Procedure Call' Myth, or, Procedure Call Implementations Considered Harmful, or, Lambda: The Ultimate GOTO

Folklore states that GOTO statements are 'cheap', while procedure calls are 'expensive'. This myth is largely a result of poorly designed language implementations. The historical growth of this myth is considered. Both theoretical ideas and an existing implementation are discusse...

Full description

Bibliographic Details
Main Author: Steele, Guy Lewis, Jr.
Language:en_US
Published: 2004
Online Access:http://hdl.handle.net/1721.1/5753
_version_ 1826202299375026176
author Steele, Guy Lewis, Jr.
author_facet Steele, Guy Lewis, Jr.
author_sort Steele, Guy Lewis, Jr.
collection MIT
description Folklore states that GOTO statements are 'cheap', while procedure calls are 'expensive'. This myth is largely a result of poorly designed language implementations. The historical growth of this myth is considered. Both theoretical ideas and an existing implementation are discussed which debunk this myth. It is shown that the unrestricted use of procedure calls permits great stylistic freedom. In particular, any flowchart can be written as a 'structured' program without introducing extra variables. The difficulty with the GOTO statement and the procedure call is characterized as a conflict between abstract programming concepts and concrete language constructs.
first_indexed 2024-09-23T12:05:19Z
id mit-1721.1/5753
institution Massachusetts Institute of Technology
language en_US
last_indexed 2024-09-23T12:05:19Z
publishDate 2004
record_format dspace
spelling mit-1721.1/57532019-04-12T08:27:33Z Debunking the 'Expensive Procedure Call' Myth, or, Procedure Call Implementations Considered Harmful, or, Lambda: The Ultimate GOTO Steele, Guy Lewis, Jr. Folklore states that GOTO statements are 'cheap', while procedure calls are 'expensive'. This myth is largely a result of poorly designed language implementations. The historical growth of this myth is considered. Both theoretical ideas and an existing implementation are discussed which debunk this myth. It is shown that the unrestricted use of procedure calls permits great stylistic freedom. In particular, any flowchart can be written as a 'structured' program without introducing extra variables. The difficulty with the GOTO statement and the procedure call is characterized as a conflict between abstract programming concepts and concrete language constructs. 2004-10-01T20:34:01Z 2004-10-01T20:34:01Z 1977-10-01 AIM-443 http://hdl.handle.net/1721.1/5753 en_US AIM-443 23 p. 2539096 bytes 1976403 bytes application/postscript application/pdf application/postscript application/pdf
spellingShingle Steele, Guy Lewis, Jr.
Debunking the 'Expensive Procedure Call' Myth, or, Procedure Call Implementations Considered Harmful, or, Lambda: The Ultimate GOTO
title Debunking the 'Expensive Procedure Call' Myth, or, Procedure Call Implementations Considered Harmful, or, Lambda: The Ultimate GOTO
title_full Debunking the 'Expensive Procedure Call' Myth, or, Procedure Call Implementations Considered Harmful, or, Lambda: The Ultimate GOTO
title_fullStr Debunking the 'Expensive Procedure Call' Myth, or, Procedure Call Implementations Considered Harmful, or, Lambda: The Ultimate GOTO
title_full_unstemmed Debunking the 'Expensive Procedure Call' Myth, or, Procedure Call Implementations Considered Harmful, or, Lambda: The Ultimate GOTO
title_short Debunking the 'Expensive Procedure Call' Myth, or, Procedure Call Implementations Considered Harmful, or, Lambda: The Ultimate GOTO
title_sort debunking the expensive procedure call myth or procedure call implementations considered harmful or lambda the ultimate goto
url http://hdl.handle.net/1721.1/5753
work_keys_str_mv AT steeleguylewisjr debunkingtheexpensiveprocedurecallmythorprocedurecallimplementationsconsideredharmfulorlambdatheultimategoto