Heterogeneity Wins

?

Heterogeneity Wins

Edward Garson

THE nATuRAl EvoluTion oF CoMpuTER TECHnology has brought about important changes to the tools that architects can use to build software systems. These changes have brought about a resurgence of interest in polyglot program- ming, which refers to the use of more than one core language in the provision of a software system.

Polyglot programming is not a new concept: one prominent example from the past is frontend Visual Basic clients supported by COM objects authored in C++ on the backend. Fundamentally speaking, this architecture leveraged what those languages were good at in their heyday.

So, what changes took place to fuel this renewed interest in polyglot programming?

The change is that technical standards, together with ever-increasing bandwidth and computing resources, conspired to make text-based protocols viable; gone are the days of arcane binary protocols as a prerequisite to efficient distributed systems. Text-based remote interoperability largely began with XML/SOAP- based web services and continues to evolve with RESTful architectural styles and other supporting (but no less important) protocols such as Atom and XMPP.

This new breed of technologies creates far broader opportunities for heteroge- neous development than ever before, simply because the payload is formatted text, which is universally generated and consumed. Heterogeneous develop- ment affords using the right tool for the job, and text-based interop has blown the doors off what was previously possible.

Architects can now combine specific, powerful tools that move the yardstick from previously being able to employ the right language to now being able to employ the right paradigm. Programming languages support different para- digms, in that some are object-oriented, while others are functional or excel

?

??at concurrent programming. Some of these paradigms are a perfect match for particular problems or domains, while others are a poor fit. Today, however, it is possible to “mash up” some rather unconventional and seemingly dissonant tools into elegant solutions rather more easily than in the past.

The effect of this change has begun, and manifests itself as a combinatorial increase in the architectural topology of modern software systems. This is not just a reflection of their inherent diversity, but a testament to new possibilities.

While choice is not always a good thing, it is “less worse” than the alterna- tive in the context of modern software architecture. As an industry, we are faced with very serious problems1 and we need all the interoperability we can get, particularly as the incumbent platforms are not well equipped to resolve them.2

Your job as architect has become even more challenging because technology silos are crumbling in the face of new possibilities: embrace this, think outside the stack, and leverage the new diversity: heterogeneity wins.

Edward Garson has been passionate about technology since learning to program in Logo on the Apple II. He currently works as a software architect in the Center for Agile Practices at Zuhlke Engineering, a leading Swiss-based technology firm.

时间: 2024-11-05 04:56:15

Heterogeneity Wins的相关文章

bzoj4396[Usaco2015 dec]High Card Wins*

bzoj4396[Usaco2015 dec]High Card Wins 题意: 一共有2n张牌,Alice有n张,Bob有n张,每一局点数大的赢.知道Bob的出牌顺序,求Alice最多能赢几局.n≤50000. 题解: 贪心.将Alice和Bob的牌按点数大小排序,然后如果Alice当前牌能赢Bob当前牌就ans++否则就不断调整Bob的当前牌直到Alice当前牌能赢Bob当前牌. 代码: 1 #include <cstdio> 2 #include <cstring> 3 #

ip地址/子网掩码/默认网关/DNS服务器/DHCP服务器/WINS服务器/NetBIOS over TCP/IP

参考原文地址:http://www.cnblogs.com/JuneWang/p/3917697.html ip地址: ipv4 ip地址=网络号+主机号 子网掩码: 子网掩码是用来判断任意两台计算机的ip地址是否属于同一子网络的根据.最为简单的理解就是两台计算机各自的ip地址与子网掩码进行and运算后,得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯 网关: 那么网关到底是什么呢?网关实质上是一个网络通向其他网络的IP地址.比如有网络A和网络B,网络A的IP地址

netbios wins dns

NetBIOS名称 Network Basic Input/Output System  (RFC-1001,1002)网络基本输入/输出系统协议 NetBIOS是一种高级网络接口,最初是在硬件中实 现的.NetBIOS应用程序要建立一种名为“网络控制块”( Network Control Block,NCB)的数据结构,然后发出一个 BIOS函数调用,以便将NCB的内容发送给网络适配器. Windows Server 2003通过一个NetBIOS模拟程序来提供对 NetBIOS应用程序的支持

Windows server 2003 WINS的配置和使用详解

NetBios名称概述 网络中的一台计算机可以使用NETBIOS和DNS两种命名方式为其命名,在NETBIOS标准中,使用长度不超 过16个字符的名称来惟一标识每个网络资源,用于标识资源或服务类型.在实际工作中.通过WINDOWS操 作系统中的"网上邻居"看到的计算机名.工作组名或域名就是NETBIOS名称. NetBIOS的工作过程 在网络中使用NETBIOS名称时,基本工作过程包括NETBIOS名称的注册.释放和查询.注册是在计算机 启动.服务开始或用户登录时动态进行的.当计算机正

Ubuntu客户端通过WINS查找NetBIOS名称

问题: 在一个必须得使用dhcp的网络环境中,再也无法用固定的ip地址访问主机了,这个时候可以只能使用NetBios主机名访问主机 我们的局域网上有WINS服务器,Windows客户端都可以通过简短的主机名(NetBIOS名称)来访问服务器,可是我的Ubuntu客户端却不能,很郁闷. 解决: 1.告诉Ubuntu客户端WINS服务器地址 ubuntu进入windows网络,必须安装samba sudo apt-get install samba 修改 /etc/samba/smb.conf 在它

Linux 能PING IP 但不能PING 主机域名的解决方法 vim /etc/nsswitch.conf hosts: files dns wins

Linux 能PING IP 但不能PING 主机域名的解决方法 转载 2013年12月25日 10:24:27 13749 . vi /etc/nsswitch.conf hosts: files dns networks: files 改成: hosts: files dns wins networks: files 如果不一样的话,就在hosts:原来那行后面加个wins 就行了. -----------------------------------------------------

Cell theory|Bulk RNA-seq|Cellar heterogeneity|Micromanipulation|Limiting dilution|LCM|FACS|MACS|Droplet|10X genomics|Human cell atlas|Spatially resolved transcriptomes|ST|Slide-seq|SeqFISH|MERFISH

生物信息学 Cell theory:7个要点 All known living things are made up of one or more cells. All living cells arise from pre-existing cells by division. The cell is the fundamental unit of structure and function in all living organisms. The activity of an organi

Snapchat - give sum target list&lt;Integer&gt; first who hits target wins

// DP 从 1-N 不重复取数 加到sum 上 第一个超过target赢 先手可以赢吗? 开始想错了,以为和climbing stairs和combination sum iv一个类型,是一个dfs 1 dfs(list, sum, target) 2 3 1. 如果list长度是0,那么就说明当前玩家没机会赢了,返回false 4 5 2. 如果list长度是1,那么说明该玩家赢了,因为后面一个玩家已经没机会抽了 6 7 3. 对于list中的数依次尝试: 8 9 如果当前数字加上sum能

wins和linux 系统不同编码格式导致的.py执行问题: bad interpreter: No such or file directory

我在win7上用IDLE编写了一个python文件(MyTopo.py),但是用putty传到VM中的ubuntu系统中,用 ./MyTopo方式执行. 显示: /bin/sh^M: bad interpreter: No such  file or directory . 但是用 python MyTopo.py执行方式就可以正确执行. 百思不得其解,后来在网上查到了原因: 这是不同系统编码格式的不同所引起的问题,在windows系统中编辑的.py文件中有linux系统无法识别的字符, 所以在