このプログラミング手法の普及に貢献したのは、1968年の計算機科学者エドガー・ダイクストラによるACM機関紙への投書「Go To Statement Considered Harmful」と言われている。しかし同じくダイクストラが、1969年度NATOソフトウェア工学会議で発表した論文「Structured Programming」との混同を招いてこちら側の名称で知られるようになった。現在に到るまでの国内外の多くの書籍で、構造化プログラミングは制御構文に関する説明に結び付けられている。なお、1969年の論文内容はプログラム正当性検証のための設計技法を扱っており、トップダウン設計、段階的な抽象化、階層的なモジュール化、抽象データ構造と抽象ステートメントを連携させる共同詳細化といった考え方が提唱されていた[3]。
1968年、計算機科学者エドガー・ダイクストラのACM機関紙への投書「Go To Statement Considered Harmful -goto文は有害-[9]」は、その物議を醸す題名でコンピュータプログラミング界隈にいわゆるgoto文論争を巻き起こした[10][11]。これは構造化文の認知度を高めることに貢献している[12]。これを構造化文の第二幕と定義したクヌースは「第二幕はそのムーブメントの大きさによって、多くの人にとっての第一幕になった」と評した[13]。1968年度開催のNATOソフトウェア工学会議でソフトウェア危機は正式な用語になり[14]、産業界と計算機科学共通の懸案事項になった[15]。翌69年度開催の同会議においてダイクストラは「Structured Programming -構造化プログラミング-[3]」と題した論文を寄稿した。これが「構造化プログラミング」の正式な初出である。その論旨はソフトウェア危機解決策としてのソフトウェア正当性検証技術の確立であり、プログラムを適切に分割し抽象化して良く構造化(well-structured)しておけば、プログラムサイズ拡大に関係なくその正当性を証明できるとしていた。その具体的手法としてはトップダウン設計、段階的な抽象化、階層的なモジュール化、抽象データ構造と抽象ステートメントを連携させる共同詳細化などが挙げられていた。goto文抑制など構造化文に関する事柄は数行に留まっていたが[注釈 2]、goto文論争に熱心なプログラマの間ではこの論文を昨年の投書の延長と見る向きも少なからず存在していた。後年のダイクストラは構造化プログラミングという言葉を作った際に二つの失敗をしたと述べている。商標登録しなかった事と、厳密な定義化を避けた事である[16][15]。
そのためには、動的なプロセスの動態指標(dynamic index)と正確に対応できる静的なプログラムの文体指標(textual index)の表現が必要になる。goto先ラベルはその要求を満たしていない。「if B then A」「if B then A1 else A2」の選択節や「while B repeat A」「repeat A until B」の反復節の方が適している。
この投書は、当時のソフトウェア開発現場で横行していたgoto先ラベルの安易な使用に警鐘を鳴らすためのものであったが、添えられた学術的注釈と文芸的比喩の数々が却って読み手の理解を妨げてしまい、冒頭のタイトル印象のみを先走りさせて、goto文論争を発生させることになった。この投書は比較的さり気ないもので、当時のダイクストラが方々の現場で目にしていたラベル多用をたしなめたい所感から書かれていた。ダイクストラが記していた元々の題名はA case against goto statement(goto文への訴え)であり、その時の編集者によって挑戦的なタイトルにすげ替えられていたのが事の真相である[29]。
1972年の共著「Structured Programming[31]」は計算機科学界の錚々たる三名による三章構成で、第一章はエドガー・ダイクストラの「structured programming」、第二章はアントニー・ホーアの「data structuring」、第三章はオルヨハン・ダールの「hierarchical program structures」となっていた。結びの章の「階層的プログラム構造」を著したダールはSimula67の開発者である。Simula67はオブジェクト指向プログラミングの草分けであり、この章名から継承によるクラス階層構造を重視していたことがうかがえる。ダイクストラの構造化プログラミングは、制御構文と構造化定理と構造化設計の影に隠れながらも、Simula67をモデルにしたオブジェクト指向プログラミング発展の歴史に組み込まれて受け継がれていったと言える。1983年にC++を開発したビャーネ・ストロヴストルップは「What Is Object-Oriented Programming?[32]」において、オブジェクト指向を抽象データ構造と階層的プログラム構造の発展形として解説し、同時にSimula67の言語仕様を紹介している。
ダイクストラ提唱の構造化プログラミングを支持するドナルド・クヌースは、1974年に自著「Structured Programming with go to Statements[6]」を発表し、その中でgoto-lessの本質に関する補足と解説を加えている。これは当時のgoto文論争に一つの区切りを付けるものであったが、幅広い認知を得るには到らずにgoto文論争は1980年代になっても散発的に繰り広げられた。1970年代後半からマイコンが普及してBASICなどを扱うパーソナルユーザーが増えると、goto命令を使わないのが構造化プログラミングといった見解が取り上げられて再び議論が始まるなど、この論争の影響は後年まで根強く残っている[注釈 4]。
1968年の自分は「A case against goto statement」(goto文への訴え)と題した記事(article)をCommunications of the ACM(ACMの機関紙)に投稿したが、当期の刊行を急ぐ編集担当者の意向で投書(letter to the Editor)にされる事になり、更にその担当者独自の考えで「The goto statement considered harmful」(goto文は有害)という全く新しい題名を付けられた。その担当者とはニクラウス・ヴィルトであった。また、自分が提唱した構造化プログラミングの本質的内容の普及を好まない某社がハーラン・ミルズの主導で、まるでgoto文を廃止するかのようなプログラミング手法へと矮小化し、構造化プログラミングという用語まで持ち去ってしまった。
^"statements transferring control to labelled points" という言葉で一応 goto 文に触れている[3]
^Harel,David (1980)."On Folk Theorems"(PDF)のP381の左列の中央にハーラン・ミルズ(Harlan Mills)が未公表の講義資料の中で "The Structure Theorem" と名付けたことが書かれている。この資料の出典[67]が1972年のため構造化定理が発明されたのは1970年代初頭と推測される。
^Böhm, C.; Jacopini, G (1966). “Flow Diagrams, Turing Machines And Languages With Only Two Formation Rules”. Communications of the ACM (ACM, New York, NY, USA) 9 (5): 366-371. CiteSeerx: 10.1.1.119.9119.
^Edward Nash Yourdon ed., "Introduction (Chief Programmer Team Management of Production Programming)", Classics in Software Engineering, YOURDON inc., 1979, pp.63-64.
^ abO.-J. Dahl and E. W. Dijkstra and C. A. R. Hoare, Structured Programming, Academic Press, London, 1972
^Bjarne Stroustrup, “What Is Object-Oriented Programming?”, In IEEE Software, Vol. 5, Issue. 3, IEEE Computer Society Press, Los Alamitos, CA, USA, 1988, pp. 10-20
E.W.Dijkstra, "Programming methodologies, their objectives and their nature", Structured Programming, Infotech state of the art report, 1976, pp.205-212, Infotech International.
^E.W.Dijkstra, "Programming methodologies, their objectives and their nature", Structured Programming, Infotech state of the art report, 1976, pp.205-212, Infotech International.
此條目需要补充更多来源。 (2021年7月4日)请协助補充多方面可靠来源以改善这篇条目,无法查证的内容可能會因為异议提出而被移除。致使用者:请搜索一下条目的标题(来源搜索:美国众议院 — 网页、新闻、书籍、学术、图像),以检查网络上是否存在该主题的更多可靠来源(判定指引)。 美國眾議院 United States House of Representatives第118届美国国会众议院徽章 众议院旗帜…
Irlanda 12.do puesto Titular Alternativo Datos generales Asociación FAI Confederación UEFA Seudónimo The Green Army (El ejército verde) Ranking FIFA 15.to lugar (mayo de 2002) Participación 3.ª Mejor resultado Cuartos de final (1990) Entrenador Mick McCarthy Estadísticas Partidos 4 Goles anotados 6 (1.5 por partido) Goles recibidos 3 (0.75 por partido) Goleador Robbie Keane (3 goles) Cronología Anterior Estados Unidos 1994 Siguiente Por definir La selección de Irlanda fue uno de los 32 …
جمعية الشمالالتاريخالتأسيس 1919 الإطارالنوع منظمة غير حكوميةمنظمة غير ربحية الوضع القانوني forening (en) المقر الرئيسي ستوكهولم البلد الدنمارك التنظيمالانتماء Danish Library Association (en) [2] موقع الويب foreningen-norden.dk (الدنماركية) تعديل - تعديل مصدري - تعديل ويكي بيانات شعار مهرجان جمعية …
Tournoi de Doha Généralités Sport Tennis Création 2001 1993 Organisateur(s) Qatar Tennis Federation Éditions 22 (2024) 32 (2024) Catégorie WTA 1000 ATP 250 Périodicité Annuelle Participants 32 joueurs en simple16 équipes de double Statut des participants Professionnel Surface Dur, Plexicushion (ext.) Directeur Saad Al Mohannadi Dotation 3 211 715 $ (2024) 1 395 875 $ (2024) Site(s) Khalifa International Tennis and Squash Complex Doha Site web officiel Site officiel P…
Weltweites Bruttoinlandsprodukt pro Kopf 1500 bis 2003 Unter Wirtschaftswachstum wird ganz allgemein eine Zunahme der Wirtschaftsleistung (je Land, Region oder global) im Zeitablauf verstanden. Die gängigste Maßeinheit ist die prozentuale Veränderung des Bruttoinlandsprodukts (BIP) im Zeitablauf als monatliche, vierteljährliche oder jährliche Wachstumsrate.[1] Diese prozentualen Wachstumsraten berechnen sich als Quotient aus der Änderung des Inlandsprodukts und dem Wert der Vorperi…
UK parliamentary by-election 2021 Hartlepool by-election ← 2019 6 May 2021 (2021-05-06) Next → HartlepoolTurnout42.7% 15.2pp First party Second party Third party Ind Candidate Jill Mortimer Paul Williams Sam Lee Party Conservative Labour Independent Popular vote 15,529 8,589 2,904 Percentage 51.9% 28.7% 9.7% Swing 23.0pp 9.0pp New candidate MP before election Mike Hill Labour Elected MP Jill Mortimer Conservative A by-election for the House…
Suburb of Bradford, West Yorkshire, England Human settlement in EnglandThorpe EdgeYork HouseThorpe EdgeLocation within West YorkshireMetropolitan boroughCity of BradfordMetropolitan countyWest YorkshireRegionYorkshire and the HumberCountryEnglandSovereign stateUnited KingdomPost townBRADFORDPostcode districtBD10Dialling code01274PoliceWest YorkshireFireWest YorkshireAmbulanceYorkshire List of places UK England Yorkshire 53°50′N 1°44′W / 53.84°N 1.7…
The NXT Women's Championship[1] is a women's professional wrestling championship created and promoted by the American professional wrestling promotion WWE on the NXT brand. The championship is generally contested in professional wrestling matches, in which participants execute scripted finishes rather than contend in direct competition. The inaugural champion was Paige, who won the title on NXT on June 20, 2013.[2] Roxanne Perez is the current champion in her second reign. She de…
Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada November 2022. Seder-MasochismSutradaraNina PaleyProduserNina PaleyDitulis olehNina PaleyTanggal rilis 11 Juni 2018 (2018-06-11) (Festival Film Animasi Internasional Annecy[1]) Durasi78 menitNegaraAmerika SerikatBahasaInggrisAnggaran$20.000[2] …
Federal territory of Malaysia This article is about the federal territory and the homonymous island in Malaysia. For other uses, see Labuan (disambiguation). For the federal constituency represented in the Dewan Rakyat, see Labuan (federal constituency). Federal territory in MalaysiaLabuanFederal territoryFederal Territory of LabuanWilayah Persekutuan LabuanOther transcription(s) • Jawiولايه ڤرسكوتوان لابوان • Chinese纳闽联邦直辖区 (…
Swiss rail project The NRLA project is the centrepiece of the Central European rail network. The New Railway Link through the Alps (NRLA; German: Neue Eisenbahn-Alpentransversale, NEAT, French: nouvelle ligne ferroviaire à travers les Alpes, NLFA, Italian: Nuova ferrovia transalpina, NFTA), is a Swiss construction project for faster north–south rail links across the Swiss Alps. It consists of two axes with several improvements along these rails including three new base tunnels several hundred…
Questa voce sugli argomenti filatelia e Francia è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Le aree dei codici postali francesi, contrassegnate dalle prime due cifre del codice postale intero. I codici postali della Francia sono composti da cinque cifre, di cui le prime due indicano il dipartimento in cui si trova il comune. Indice 1 Descrizione 2 Note 3 Voci correlate 4 Altri progetti Descrizione I co…
HectometreThe Great Pyramid of Giza is 137.7 metres high, which is 1.377 hectometres.General informationUnit systemSIUnit oflengthSymbolhmConversions 1 hm in ...... is equal to ... SI base units 100 m imperial/US units 109.36 yd 3937.0 in SI unit of length The hectometre (International spelling as used by the International Bureau of Weights and Measures; SI symbol: hm[1]) or hectomete…
Oval Office desk Theodore Roosevelt deskThe Theodore Roosevelt desk in the Oval office during Harry S. Truman's presidencyDesignerCharles Follen McKimDate1903Made inBoston, Massachusetts, by A. H. Davenport and CompanyMaterialsMahoganyStyle / traditionColonial RevivalHeight30 in (76 cm)Width90 in (230 cm)Depth53.5 in (136 cm) The desk in the Vice President's Ceremonial Office in the Eisenhower Executive Office Building, colloquially known as the Theodore Roosevelt d…
Point clip from Bungendore Railway Station To clip and scotch a set of railway points (Amer. a switch) uses two pieces of equipment to temporarily lock a set of points into a particular position.[1] The point clip clamps the end of a moving rail (the switch rail) of a set of points to its associated stock rail, and the scotch is a timber wedge used to ensure that the other moving rail is kept away from its associated stock rail. In this way the points are fixed in either the 'normal' or …
1944 film For the earlier film, see The Master Detective (1933 film). The Master DetectiveGerman DVD coverGermanDer Meisterdetektiv Directed byHubert MarischkaWritten byKurt E. WalterFelix von EckardtProduced byFriedrich Wilhelm GaikStarringRudolf PlatteCinematographyOtto BaeckerWalter PindterEdited byMargarete SteinbornMusic byFrank FoxProductioncompanyBerlin-FilmDistributed byDeutsche FilmvertriebsRelease date 10 July 1944 (1944-07-10) Running time74 minutesCountryGermanyLanguag…