{"title":"Reflections on reflection","authors":"J. Coplien","doi":"10.1145/2384716.2384721","DOIUrl":null,"url":null,"abstract":"Though it usually makes its appearance only as a footnote in the broader discourse of object design, reflection is a recurring and sometimes noisily divisive topic in object-orientation. Glimmers of reflection pervade even the darkest corners of the tapestry of object orientation's history. In fact, the broader notion of code's self-knowledge, such as run-time method dispatch, goes to the heart of what differentiates objects from other paradigms. Object orientation, at its roots, was about people and human mental models. It is impossible to make serious headway in these models without reasoning about the system outside of its simple imperative expression. By analogy, the silent movie era of film held that by removing speech, the media of film could both appeal to broader audiences and to tap into the broader human universals that speech obfuscates.\n Programs are the silent films that connect much of humanity today. The silent experience plays out at the screen; the Internet is the deep hardware on which it runs, and our software illuminates and articulates the connections between them. To make software fulfil any social agenda of human problem-solving requires a link between the reflections of the individual and those of the soft-ware; to rise to social phenomena requires a computational model that accommodates reflection at the social and societal layers.\n The DCI (Data, Context, and Interaction) paradigm provides a world model whose reflection allows program structure to shift with the dynamics in the context of application while featuring new ways to clearly present program structure to faithfully cap-ture end-user mental models of uses cases and data. DCI and other recent post-modern approaches offer breakthroughs that raise reflection to its proper place as a first-class programming concern.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"27 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2012-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2384716.2384721","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

Abstract

Though it usually makes its appearance only as a footnote in the broader discourse of object design, reflection is a recurring and sometimes noisily divisive topic in object-orientation. Glimmers of reflection pervade even the darkest corners of the tapestry of object orientation's history. In fact, the broader notion of code's self-knowledge, such as run-time method dispatch, goes to the heart of what differentiates objects from other paradigms. Object orientation, at its roots, was about people and human mental models. It is impossible to make serious headway in these models without reasoning about the system outside of its simple imperative expression. By analogy, the silent movie era of film held that by removing speech, the media of film could both appeal to broader audiences and to tap into the broader human universals that speech obfuscates. Programs are the silent films that connect much of humanity today. The silent experience plays out at the screen; the Internet is the deep hardware on which it runs, and our software illuminates and articulates the connections between them. To make software fulfil any social agenda of human problem-solving requires a link between the reflections of the individual and those of the soft-ware; to rise to social phenomena requires a computational model that accommodates reflection at the social and societal layers. The DCI (Data, Context, and Interaction) paradigm provides a world model whose reflection allows program structure to shift with the dynamics in the context of application while featuring new ways to clearly present program structure to faithfully cap-ture end-user mental models of uses cases and data. DCI and other recent post-modern approaches offer breakthroughs that raise reflection to its proper place as a first-class programming concern.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
反思的反思
虽然它通常只是作为对象设计的一个脚注出现在更广泛的话语中,但反射在面向对象中是一个反复出现的,有时是嘈杂的分裂话题。即使是面向对象历史上最黑暗的角落,也能看到反射的微光。事实上,代码自我认知的更广泛的概念,例如运行时方法分派,是区分对象与其他范例的核心。从根本上说,面向对象是关于人和人的心智模型的。如果不在简单的命令式表达式之外对系统进行推理,就不可能在这些模型中取得重大进展。类似地,无声电影时代的电影认为,通过消除语言,电影媒体既可以吸引更广泛的观众,又可以挖掘语言所模糊的更广泛的人类共性。节目是无声电影,它将今天的人类联系在一起。无声的体验在屏幕上上演;互联网是它赖以运行的深层硬件,而我们的软件阐明并阐明了它们之间的联系。要使软件满足人类解决问题的任何社会议程,就需要在个人的反映和软件的反映之间建立联系;为了产生社会现象,需要一个计算模型来适应社会和社会层面的反映。DCI(数据、上下文和交互)范式提供了一个世界模型,它的反映允许程序结构随着应用程序上下文中的动态变化而变化,同时提供了新的方法来清晰地呈现程序结构,以忠实地捕捉用例和数据的最终用户心理模型。DCI和其他最近的后现代方法提供了突破,使人们反思其作为一流编程关注的适当位置。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
A programmatic introduction to Neo4j Advanced debugging techniques to identify concurrency bugs in actor-based programs When importless becomes meaningful DSLDI 2014: second workshop on domain specific languages design and implementation FPW'14: future programming workshop
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1