云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

天翼云_西南林业大学阿里云_最新活动

小七 141 0

在这篇文章中,我思考我们如何编程,如何描述我们希望计算机为我们做的事情,以及如何成为"什么"和"如何"区别的典型例子。首先,我对核心数据服务(CDS)强大的数据模型定义抽象进行了更多的挖掘,这是继上周在本周一上午的思想系列文章《抽象》之后的又一篇文章

然后,在浏览书架上的内容时,我发现了一本关于SAP汇编程序宏编程的精彩课程,名为IT400,作者是Peter Skov.

(我的原稿丢了;这份新的稿子是由Chris Whealy提供的,他是我们的好朋友和好奇的同伴——他是我们共享的博客语言漫谈的一半,你可能希望在某个阶段细读一下)。

最后,在上周末,我很荣幸能够展示一个远程版本在班加罗尔的UI5con会议上,我选择了介绍JavaScript函数式编程技术,因为这是UI5工具包的母语。每一种都与我们的交流方式有关。主要与机器沟通,但实际上也与我们的同事沟通。尽管有人可能会说情况正好相反——我最近在某个地方读到,程序员只有10%的时间花在编写代码上。另外90%是用来阅读的。试图理解他人代码的逻辑、意图和一般复杂性。在某些情况下,他们自己的代码,几周或几个月后!

关于代码注释,它们过时的速度,以及单元测试如何可能是描述代码功能的更好的替代方法,有一个离题,因为单元测试和代码在意义或意图上不能分歧,就像评论和代码一样——这是最近SAP咖啡角电台播客第4集"ABAP——奈杰尔·詹姆斯和格雷厄姆·罗宾逊的特别雪花"中提出的观点。但我将把它留到另一个时间。

对于CDS,抽象的纯粹性在如何描述数据模型方面是非常明显的。以入门教程中的三实体书店为例,即使是非cd初学者也能理解所写内容的意图,甚至细节。此外,定义和关系的实现方式(以特定于数据库的方式)在这个级别上并不重要。这样做的好处在于,它允许以一种高级和自然的方式将定义扩展到其他模型。(如果您有兴趣了解更多信息,请参阅Oliver Welzel的文章"ITelO–SAP云平台新应用程序编程模型的示例业务应用程序"。

相比之下,在编写汇编程序时,您会情不自禁地感觉自己离机器很近。我学到的第一个汇编程序是6502,与Atom Basic并驾齐驱——对于Acorn Atom来说,你可以在一个程序中把这两种语言交织在一起,这是使Atom既奇特又深受喜爱的众多特性之一。我使用的R/2系统所基于的6502汇编语言或mainframe 370汇编语言(以及IT400课程的主题),当你感觉离机器很近的时候,你却离你的程序员和抽象的意图层很远任务,详细说明最小和最平凡的方面-寄存器存储和管理,字节或字级处理,等等。当然,同一个程序员可以阅读并理解您的代码,但这需要一段时间。再一次,基于纸张的表格相当于我们今天使用校正和传输系统(CTS)或任何类型的连续集成(CI)设置执行的活动,wap自助建站,无论如何,一切都进展缓慢。

因此,我们来到班加罗尔UI5con周五会议的主题。这是我之前以多种不同形式参加过的一次会议——2016年在SAP TechEd上(DEV219"使用JavaScript功能技术构建更稳定的业务应用程序"),在2016年的UI5con("UI5的JavaScript功能技术简介")和UI5con@SAP公司2017年和2018年,以"UI5应用程序的功能编程"这一较长实践研讨会的形式举办。正是基于实践的格式,我创建了一个20页的工作表,供所有在线应用程序使用:

UI5应用程序的功能编程-实践工作表

方式和内容之间的差异

在本工作表的第1部分中,我展示了用JavaScript做事情的低级机械方式之间的对比,更高层次更抽象的方式。从"你希望机器如何做某事"到"你想要什么",对我来说是函数式编程的一个基本主题,或者至少是一个有利的副产品。让我们深入到我使用的示例中。

我们有一个复杂的实体数据结构和这些实体的样本(如果您好奇的话,与UI5探索应用程序相关),并希望计算特定命名空间中实体的样本数。传统的方法是:

这种for循环的构造并不是JavaScript特有的。这里表达的思想,以我们向机器解释如何做某事的方式,云服务器好,可以在许多其他语言中找到非常相似的形式。除了我们正在改变状态这个事实(更糟的是:在计算块之外改变状态,但我们不要去那里),这里的关键问题是,即使在这个非常简单的形式中,大淘客网,也有很多事情要做,而且都是相当机械的。