成为ThoughtWorks技术雷达团队的一员是一种特权,现在在我们的第十个年头,我可以自豪地说,到目前为止,我已经成为每一个雷达的一员。每一次都充满了有趣的讨论和洞察力,我们想要说的话总是比雷达本身能容纳的更多,这总是真实的。这篇文章是一篇持续的配套文章,我花了一些时间(和一些文字)来扩展技术行业正在发生的更大的趋势。我们在这个月的雷达上的一个主题,可能也是当今技术领域最大的持续趋势之一是我们所说的编程的“民主化”。这就是把编程交到任何想要编程的人手中,并使编写机器或系统的能力更容易获得。这并不是一个新想法;COBOL-“通用的、面向业务的语言”-在20世纪60年代就试图使用非程序员更容易理解的类似英语的语言来创建计算机程序。今天,我们看到人们对承诺允许我们在不需要程序员的情况下创建软件的“低码”平台产生了巨大的兴趣。还有一些平台,如以消费者为中心的IFTTT或以企业为中心的Zapier,允许技术含量较低的受众将各种设备、SaaS平台、端点和工作流连接在一起,以做有趣而有用的事情。如果您正在寻找集成框架,Apiant、Blendr、Microsoft Flow、PipeDream、Quickwork和Tray.io(仅举几例)可以提供帮助。在应用程序创建方面,Amazon Honeycode获得了一些动力,尽管它被一位雷达作者描述为“云上的Microsoft Access”。“我们认为编程的能力,或者至少对我们使用的系统的功能有一定的发言权,是极其重要的。”在道格拉斯·拉什科夫(Douglas Rushkoff)的“程序或被编程”(Program Or Be Programming)一书中,他认为,我们必须选择是指导技术,还是让自己被它和那些掌握它的人引导。除了这种哲学观点之外,一个显而易见的事实是,世界需要的软件比现有IT团队所能创建的更多,而且更快。电子表格就是一个常见的例子。几乎每个企业都有某种类型的电子表格来运行它,IT行业的每个人都看到了可能出错的地方;嵌入了关键的、未经测试的业务逻辑的巨型电子表格相当常见。最近,甚至更令人担忧的是,我们看到世界各地的多家医疗服务机构由于电子表格错误而丢失或错误处理新冠肺炎数据。电子表格通常用于允许非程序员快速创建、存储和操作数据,而不需要与“真正的”程序员进入漫长的开发周期。低码平台的相似之处在于,它们承诺通过使用预烘焙的组件和配置而不是代码来加速软件开发。电子表格和低级代码有一个共同的关键特征:就所需功能的类型或问题域的复杂性而言,它们都在某个“最佳位置”工作得很好,但进一步推进可能会严重失败。不幸的是,最初选择这样的解决方案的原因-技术人才或时间的匮乏-也会阻止使用电子表格或低码环境的人意识到他们已经将解决方案推到了最佳位置之外。出于这个原因,我们建议使用有限的低代码平台来管理这种风险,同时仍然利用民主化编程平台可能的加速。我们最喜欢的编程语言之一是Rust,这是一种高性能类型和内存安全的语言,可以用作系统编程语言(取代C或C++),也可以单独用作通用语言。铁锈的受欢迎程度持续增长,连续五年被评为Stack Overflow最喜欢的语言。在这一版的雷达中,我们注意到Rust正被用于大数据和机器学习任务,这些任务传统上需要Python,并且在某些情况下可以提供很大的性能优势。我们还注意到Materialize,这是一个用Rust编写的面向流的低延迟数据库。那么,是什么让“锈”如此受欢迎呢?就我个人而言,我发现它将强大的表现力与编译时安全性结合在一起是独一无二的。Stack Overflow指出,Rust是一种编程语言,“看起来就像是由用户体验设计者开发的”,他们对该语言有清晰的愿景,并仔细选择了要包含的内容。所有这些善意都在Rust周围创建了一个支持性的、可访问的社区,以及一个不断完善的库和工具生态系统。这个版本的雷达包括一些很好的可视化工具的例子。对微服务生态系统中的体系结构、代码复杂性、系统性能或分布式跟踪进行良好描述的能力,对于理解复杂系统比以往任何时候都更加重要。