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...
Main Author: | |
---|---|
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 |