{"title":"提前调试,或者不摸黑编程","authors":"J. Snell","doi":"10.1109/STEP.1997.615516","DOIUrl":null,"url":null,"abstract":"Code composition is error-prone because it places severe demands on the programmer's cognitive processes. The programmer could benefit from the machine's help at this stage, but conventional programming environments are essentially passive then. The usual assumption is that the programmer does debugging after entering a whole routine, although by this time his/her memory of some details may have decayed. We propose that coding efficiency would be improved if, as soon as a statement is typed, it is executed, and the new program state is displayed. The programmer can see whether the statement has the intended effects, and correct it while the thinking for it is still fresh. We have implemented and informally tested a prototype of this \"ahead-of-time debugging\" feature. We found that users fix more bugs during code entry and produce code faster and with fewer errors, compared with a conventional environment and report that using the latter is like \"programming in the dark\".","PeriodicalId":68622,"journal":{"name":"软件","volume":"195 1","pages":"288-293"},"PeriodicalIF":0.0000,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":"{\"title\":\"Ahead-of-time debugging, or programming not in the dark\",\"authors\":\"J. Snell\",\"doi\":\"10.1109/STEP.1997.615516\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Code composition is error-prone because it places severe demands on the programmer's cognitive processes. The programmer could benefit from the machine's help at this stage, but conventional programming environments are essentially passive then. The usual assumption is that the programmer does debugging after entering a whole routine, although by this time his/her memory of some details may have decayed. We propose that coding efficiency would be improved if, as soon as a statement is typed, it is executed, and the new program state is displayed. The programmer can see whether the statement has the intended effects, and correct it while the thinking for it is still fresh. We have implemented and informally tested a prototype of this \\\"ahead-of-time debugging\\\" feature. We found that users fix more bugs during code entry and produce code faster and with fewer errors, compared with a conventional environment and report that using the latter is like \\\"programming in the dark\\\".\",\"PeriodicalId\":68622,\"journal\":{\"name\":\"软件\",\"volume\":\"195 1\",\"pages\":\"288-293\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1997-07-14\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"6\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"软件\",\"FirstCategoryId\":\"1093\",\"ListUrlMain\":\"https://doi.org/10.1109/STEP.1997.615516\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"软件","FirstCategoryId":"1093","ListUrlMain":"https://doi.org/10.1109/STEP.1997.615516","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Ahead-of-time debugging, or programming not in the dark
Code composition is error-prone because it places severe demands on the programmer's cognitive processes. The programmer could benefit from the machine's help at this stage, but conventional programming environments are essentially passive then. The usual assumption is that the programmer does debugging after entering a whole routine, although by this time his/her memory of some details may have decayed. We propose that coding efficiency would be improved if, as soon as a statement is typed, it is executed, and the new program state is displayed. The programmer can see whether the statement has the intended effects, and correct it while the thinking for it is still fresh. We have implemented and informally tested a prototype of this "ahead-of-time debugging" feature. We found that users fix more bugs during code entry and produce code faster and with fewer errors, compared with a conventional environment and report that using the latter is like "programming in the dark".
期刊介绍:
Computer engineering & Software, founded in 1979, is an academic journal of information technology sponsored by China Association for Science and Technology and China Institute of Electronics and Tianjin Institute of Electronics.
Computer engineering & Software has columns such as expert Forum, Fund project papers, software and database technology research, application technology and research, network and communication, image processing and application, multimedia technology application Artificial intelligence and recognition.
Computer engineering & Software is the source Journal of China Academic Periodical Comprehensive Evaluation Database, the Journal of China Core Periodical (Selection) Database, the source journal of Peking University's Chinese Core Periodical Overview (the first edition in 1992), the Journal of Wanfang data-Digital Periodical Group full-text Collection, the Journal of Chinese Science and Technology Periodical Database (full-text edition), and Wave Journals included in the "Copernicus Index" have been included in the United States "Cambridge Scientific Abstracts", the United States "Uhlig International Journal Guide", the JST Japan Science and Technology Promotion Agency database (2018) and other Chinese and foreign databases.