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 說白了就是偽議題


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


沒有留言:

張貼留言