2026/06/29

What Remains When the Technology Is Gone?

By Eden Wu

 

 

 


 

 

I spent twenty years chasing a technology.
Only recently did I realize I was actually chasing an idea. 

 

 

When I was younger, I believed I was investing my career in a framework.

Over the years, that framework gradually disappeared from the industry.

For a long time, I thought that meant twenty years of experience had become obsolete.

I was wrong.

It took me two decades to realize that I hadn't really learned the framework.

I had learned the design behind it.

 

 

 

Every technology eventually reaches the end of its life.

COBOL.

PowerBuilder.

Silverlight.

Flash.

AngularJS.

Windows Forms.

One day, even React, Flutter, or whatever we currently call modern may join that list.

The technology changes.

The real question is:

What remains when the technology is gone?

For me, the answer was not DataSnap.

It was something much smaller.

A feature called Delta.

At first glance, Delta looked like an implementation detail.

It was not.

It was a design philosophy.

Delta was not really about ClientDataSet.

It was not really about DataSetProvider.

It was not really about MIDAS.

It was not even really about Delphi.

It was about representing change.

Instead of sending an entire dataset back to the server, Delta captured what had actually changed:

  • what was inserted,
  • what was modified,
  • what was deleted,
  • and what state each record carried.

That idea was elegant.

It separated data from intent.

It allowed the client to work with data locally, then send only the meaningful changes back to the middle tier.

Looking back now, I realize that this was the part I had been chasing for twenty years.

Not the component.

Not the IDE.

Not the framework.

The idea.

In the MIDAS and DataSnap world, this idea was wrapped inside Borland's architecture.

For a long time, I thought I needed that architecture in order to keep the idea alive.

But AI changed that.

When AI became capable of helping me design and rebuild software systems, I expected it to help me find a DataSnap replacement.

Instead, it helped me understand that I did not need a replacement at all.

I needed a new place where the same idea could live.

Node.js could express it.

PHP could express it.

React could express it.

A modern data grid could express it.

Even a browser could participate in it.

The framework had changed.

The idea had not.

That realization changed how I look at my own experience.

For years, I thought my value came from knowing a specific technology deeply.

Now I think my real value came from understanding why that technology worked.

DataSnap may disappear.

ClientDataSet may become legacy.

The tools may be pushed aside by newer platforms, newer frameworks, and newer development models.

But the architectural lesson remains.

Track changes.

Preserve intent.

Separate the client state from the persistence layer.

Let the middle tier decide how those changes should be applied.

That is not a Delphi idea.

That is a software design idea.

And once I understood that, I no longer felt trapped by the tool.

I could finally carry the idea forward.

This is what twenty years of experience really gave me.

Not mastery of a product.

Not loyalty to a framework.

Not nostalgia for a disappearing ecosystem.

It taught me how to recognize a design principle that could survive the death of the tool that introduced it to me.

Maybe that is what engineering really is.

Not memorizing frameworks.

Not defending tools forever.

But learning how to extract principles that outlive them.

When the tool is gone, what did you actually learn?

For me, the answer is finally clear.

I did not spend twenty years learning DataSnap.

I spent twenty years learning Delta.

And Delta is still alive.

2026/06/25

我花了二十年,才知道自己真正學會的是什麼

 作者:吳祐賓

 


 


 

我年輕時學了一套技術。

後來市場淘汰了它。

我花了二十年,一直以為自己是在追那套技術。

直到最近才發現,我真正追的是它背後的思想。

現在,我終於能把那個思想帶到新的技術上。

 

 

這不是一篇關於 DataSnap 的文章,這是一篇關於「如何把一項即將消失的技術,提煉成一輩子都帶得走的能力」的文章



 「如果有一天不能再用 DataSnap,我真正想保留的是什麼?」

 

 

【DataSnap 死了,但 Delta 還活著】

—— 我花了二十年,才知道自己真正學會的是什麼

 

從 MIDAS 到 AI 時代的一場 30 年追逐


DataSnap 在漫長的 MIDAS 發展史上,最關鍵的就是 DataSetProvider 這個元件


在分散式架構當時還在萌芽階段, Borland 在 1995~1997 年間做了兩件事:


1. 買下 CORBA 技術。併購了 Visigenic (VisiBroker, CORBA) 公司
2. Delphi 3 加入 MIDAS (Multi-Tier Distributed Application Services)


(和 2015 年 Idera/Embarcadero 公司併購 AnyDAC 歷史有夠像)

 

當時 MIDAS 架構的 Delta 異動機制簡直是劃時代的創舉,超越資料庫 Trigger 的架構,和後來 ADO.NET DataRowState 謎樣相似框架 (Anders Hejlsberg 被挖角和後來 Delphi 8 要去吃這塊的黑歷史有機會再說)

 

放到 2026 年的今天,這個架構仍然是先進且優雅的,在我個人執業生涯中:


.PHP 沒這東西
.Database Trigger 深不見底的難維護
.dot NET 的 OOOOO (一堆複雜的 Object 等著你背)


... 不是學習門檻過高,就是難以維護


沒一個能像 DataSnap 這麼能打的 (DataSnap 表示:還有誰!)


但在那時羸弱的網路環境:


1. 32K, 56K 數據撥接
2. 10Mbps 同軸電纜網路線
3. 10Mbps RJ-45 網路線


MIDAS 走在時代的尖端卻成為死在沙灘的第一人


不知道怪誰,就怪環境吧


2006 年,我首次接觸到 dbExpress 資料庫程式開發,我就覺得這架構實在太有趣了,當時的技術書籍除了陳惟彬老師的 C++ Builder資料庫程式設計-人事薪資系統 / Delphi 進銷存(會計)系統
這三本書有提到 Delta 更新的魔法外,再無其他書籍提到


案子一個接一個來,BDE Paradox 轉到 DBX 工作也不下 N 次,突然有一天,我被迫參與了網際網路戰場


當時在 Native Program 和 Web Program 之間的掙扎、談判、糾結,這講下去又可以講個好幾篇


與 AI 討論很久,才發現

 

原來我等的,不是一個 DataSnap 替代品,而是一個足夠有能力讓我重新實現 Delta 思想的前端

 

而 DevExtreme Data Grid 完美承接這個優點



那麼,中間層是否能再使用 Borland 的 DataSetProvider 或 Embarcadero 的 FdMemTable 就已不再重要


因為在 AI 的協助下,不論是 PHP 或 Node.js,都能完美地再現 DataSnap 經典的 Delta 魔法


而 DataSnap 都要被官方掃入垃圾桶了,糾結是要 ClientDataSet 還是 FireDAC 說白了就是偽議題


為人作嫁不如擴充自己,讓自己有底氣不受工具限制發展,才是工程師真正的生存之道