{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,9]],"date-time":"2026-01-09T00:02:22Z","timestamp":1767916942413,"version":"3.49.0"},"reference-count":37,"publisher":"Wiley","issue":"2","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":7941,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1985,2]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>In recent years, high\u2010level programming languages have evolved specifically for systems programming. In this paper, systems programming languages are surveyed to find common characteristics and individual differences and limitations of a number of current languages, including Ada, Concurrent Pascal, CLU, Pascal\u2010Plus, Modula\u20102, Mesa, Edison, PLZ\/SYS and C. The survey is based on the following classification of systems programming concepts and facilities: types, sequential control, concurrency, encapsulation, environment specifications and programming support environments.<\/jats:p>","DOI":"10.1002\/spe.4380150205","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T01:15:58Z","timestamp":1163812558000},"page":"169-190","source":"Crossref","is-referenced-by-count":9,"title":["A survey of systems programming languages: Concepts and facilities"],"prefix":"10.1002","volume":"15","author":[{"given":"William F.","family":"Appelbe","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Klaus","family":"Hansen","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","series-title":"Prentice\u2010Hall Software Series","volume-title":"The C Programming Language","author":"Kernighan B. W.","year":"1978"},{"key":"e_1_2_1_3_2","first-page":"37","volume-title":"Lecture Notes in Computer Science","author":"Mated P.","year":"1980"},{"key":"e_1_2_1_4_2","doi-asserted-by":"publisher","DOI":"10.1145\/947955.947965"},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380110305"},{"key":"e_1_2_1_6_2","doi-asserted-by":"crossref","unstructured":"F. De Remer and P. Levy (eds) \u2018Summary of the characteristics of several \u201cModern\u201d programming languages\u2019 SIGPLAN Notices 14(5) 28\u201316(1979).","DOI":"10.1145\/988090.988095"},{"key":"e_1_2_1_7_2","first-page":"263","volume-title":"Programming Methodology, A Collection of Articles by Members of IFIP WG2.3","author":"Gries D.","year":"1978"},{"key":"e_1_2_1_8_2","doi-asserted-by":"publisher","DOI":"10.1145\/356901.356903"},{"key":"e_1_2_1_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/947783.948654"},{"key":"e_1_2_1_10_2","unstructured":"H. C.LauerandR. M.Needham \u2018On the duality of operating systems structure\u2019 Proc. 2nd. Int. Symposium on Operating Systems IRIA October 1978"},{"key":"e_1_2_1_10_3","doi-asserted-by":"publisher","DOI":"10.1145\/850657.850658"},{"key":"e_1_2_1_11_2","unstructured":"W. F.AppelbeandA. P.Ravn \u2018Encapsulation constructs in systems programming languages\u2019 Dept. of EECS UCSD Computer Science Tech. Report No. CS\u2010057 August1982."},{"key":"e_1_2_1_12_2","unstructured":"G.Birtwistleet al. Simula Begin Auerbach 1973."},{"key":"e_1_2_1_13_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380130205"},{"key":"e_1_2_1_14_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1980.230462"},{"key":"e_1_2_1_15_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1975.6312866"},{"key":"e_1_2_1_16_2","unstructured":"BellLaboratories UNIX Programmer's Manual Seventh Edition Volume 2A January1979."},{"key":"e_1_2_1_17_2","volume-title":"Concurrent Euclid, the UNIX System, and Tunis","author":"Holt R. C.","year":"1983"},{"key":"e_1_2_1_18_2","doi-asserted-by":"publisher","DOI":"10.1145\/954666.971189"},{"key":"e_1_2_1_19_2","doi-asserted-by":"publisher","DOI":"10.1145\/359763.359782"},{"key":"e_1_2_1_20_2","unstructured":"United States Department of Defense Reference Manual for the Ada Programming Language ANSI\/MIL\u2010STD 1815A February1983."},{"key":"e_1_2_1_21_2","doi-asserted-by":"publisher","DOI":"10.1145\/358549.358561"},{"key":"e_1_2_1_22_2","unstructured":"W. F.Appelbe \u201cImplementing abstract data types in Ada\u201d Dept. of EECS UCSD Computer Science Tech. Report No. CS\u2010060 September1982."},{"key":"e_1_2_1_23_2","doi-asserted-by":"crossref","unstructured":"M.Sherman A.HisgenandJ.Rosenberg \u2018A methodology for programming abstract data types in Ada\u2019 Sigplan AdaTec 82: Conference on Ada Arlington VA October1982 pp.66\u201375.","DOI":"10.1145\/3304133.3304143"},{"key":"e_1_2_1_24_2","doi-asserted-by":"publisher","DOI":"10.1145\/359763.359789"},{"key":"e_1_2_1_25_2","volume-title":"CLU Reference Manual, Lecture Notes in Computer Science","author":"Liskov B. H.","year":"1981"},{"key":"e_1_2_1_26_2","doi-asserted-by":"crossref","unstructured":"B. H.LiskovandR.Scheifler \u2018Guardians and actions: linguistic support for robust distributed programs\u2019 inRecord of the Ninth Annual Principles of Programming Languages Symposium January1982 pp.7\u201319.","DOI":"10.1145\/582153.582155"},{"key":"e_1_2_1_27_2","doi-asserted-by":"publisher","DOI":"10.1145\/359763.359771"},{"key":"e_1_2_1_28_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1975.6312840"},{"key":"e_1_2_1_29_2","volume-title":"The Architecture of Concurrent Programs","author":"Brinch Hansen P.","year":"1977"},{"key":"e_1_2_1_30_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1977.231130"},{"key":"e_1_2_1_31_2","volume-title":"Programming a Personal Computer","author":"Brinch Hansen P.","year":"1983"},{"key":"e_1_2_1_32_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-96757-3"},{"key":"e_1_2_1_33_2","doi-asserted-by":"publisher","DOI":"10.1145\/947941.947945"},{"key":"e_1_2_1_34_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380091109"},{"key":"e_1_2_1_35_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4612-6328-9"},{"issue":"8","key":"e_1_2_1_36_2","first-page":"268","article-title":"Annotated C: a bibliography of the C language","volume":"8","author":"Ward T. A.","year":"1983","journal-title":"BYTE"},{"key":"e_1_2_1_37_2","doi-asserted-by":"crossref","unstructured":"M.Richards \u201cBCPL: a tool for compiler and system writing\u201d Spring Joint Computer Conference 1969 pp.557\u2013566.","DOI":"10.1145\/1476793.1476880"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380150205","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380150205","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,20]],"date-time":"2023-10-20T20:04:36Z","timestamp":1697832276000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380150205"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1985,2]]},"references-count":37,"journal-issue":{"issue":"2","published-print":{"date-parts":[[1985,2]]}},"alternative-id":["10.1002\/spe.4380150205"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380150205","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1985,2]]}}}