zoukankan      html  css  js  c++  java
  • 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.

  • 相关阅读:
    oracle如何去除字符串中的重复字符
    MySQL的几个概念:主键,外键,索引,唯一索引
    从头学Qt Quick(3)-- 用QML写一个简单的颜色选择器
    [0x01 用Python讲解数据结构与算法] 关于数据结构和算法还有编程
    [0x00 用Python讲解数据结构与算法] 概览
    从头学Qt Quick(2)-- QML语法从一个简单的例子说起
    从头学Qt Quick(1) --体验快速构建动态效果界面
    Linux下U盘变成只读
    Qt Creator 黑色主题配置
    Qt5 从头学(2)--手动构建HelloWold
  • 原文地址:https://www.cnblogs.com/yangykaifa/p/7253412.html
Copyright © 2011-2022 走看看