词条 | Draft:Emergent Coding |
释义 |
Despite its implications for wider automation in society, software development remains in a pre-industrial paradigm even after 50 years. Recent efforts in Emergent Coding seek to change the underlying paradigm. In 1968 at the first of the NATO Software Engineering Conferences[1], Professor Douglas McIlroy first suggested that software development would be inhibited and ultimately plateau until the process was automated and industrialised. This theory was later formalised and in 1976 published by McIlroy as the academic paper “Mass-Produced Software Components, Software Engineering Concepts and Techniques”.[2] McIlroy is also widely quoted as stating, "As a programmer, it is your job to put yourself out of business. What you do today can be automated tomorrow.”[3] Despite significant progress on areas such as build automation, software development continues to be largely undertaken within an artisan model where individuals or groups are responsible for undertaking most or all aspects of the development of an individual software package rather than the model McIlroy proposed where developers specialise and collaborate to rapidly create even complex software. Emergent Coding is an experimental decentralised computer programming paradigm applying the theory of emergence to potentially allow for feasible developer specialisation which would realise McIllroy’s vision for software industrialisation. It proposes that individual developers contribute less complex features to a project and leave the project binary to emerge as the higher-order complexity of their collective effort. Typically, each developer maps their feature to a combination of smaller features delegated to peers, who do likewise. Peer connections serve to both incrementally create and extend a project scaffold, and to recursively remove the need to render a feature as a binary fragment. Finally, fragments are concatenated back along the scaffold to emerge as the ultimate project binary. Emergent Coding can be considered as seeking to ‘turn the compiler inside-out’ and directly incorporating developers ‘into’ the compiler itself. If successfully deployed, Emergent Coding, would remove the need for High-level programming languages, Libraries, Application programming interfaces or a codebase. The Emergent Coding concept was first proposed in a White Paper in 2015.[4], presented to the 40th International Conference on Software Engineering[5] in 2018 (the 50th anniversary of McIlroy original theory), the concept (discussed in these references in the context of the "CodeValley" group developing emergent coding tools) has gathered third-party commentary including online software industry source "SuperbCrew"[6] and news coverage including Discovery Channel online[7] References1. ^http://homepages.cs.ncl.ac.uk/brian.randell/NATO/NATOReports/ 2. ^M. D. McIlroy, “Mass-Produced Software Components, Software Engineering Concepts and Techniques (1968 NATO Conference on Software Engineering),” Van Nostrand Reinhold, New York, 1976. 3. ^From the text of an address he gave to DLSLUG on 12 March 2009. 4. ^https://codevalley.com/whitepaper.pdf 5. ^{{cite web|url=https://www.youtube.com/watch?v=siJQVk5jkbo|title=Live from ICSE: Industry Forum - Noel Lovisa|first=|last=ICSE 2018|date=30 May 2018|publisher=|via=YouTube}} 6. ^{{cite web|url=https://www.superbcrew.com/code-valley-industrializing-the-software-industry/|title=Code Valley - Industrializing The Software Industry|website=www.superbcrew.com}} 7. ^{{cite web|url=https://newswatchtv.com/2016/06/10/tech-news-discovery-channel-code-valley/|title=Code Valley - Innovative Software Engineering - NewsWatch Review|first=|last=NewsWatch|date=10 June 2016|publisher=}} David.m.donohue (talk) 06:01, 4 March 2019 (UTC)david.m.donohue Update of "Emergent Coding" submission to provide greater readibility, historical context, better references. |
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。