Programming Is Moving Up Another Level of Abstraction

Programming Is Moving Up Another Level of Abstraction

Today, I used AI to help me build an interactive virtual laboratory for motor control education.

It includes a PMSM model, sensored FOC, Clarke/Park transformations, current and speed controllers, SVPWM, PWM timing, ADC sampling, computational delay, dead time, and interactive waveforms—all with a professional web-based UI.

It took about three hours to build the first working version.

That experience made me rethink what “programming” means in the AI era.

Programming has always evolved toward higher levels of abstraction:

Machine Code → Assembly → C/C++ → High-Level Languages → Visual Programming → Natural Language + AI

AI-assisted programming is not a break from this evolution. It is the next step.

Today, I can describe the architecture, equations, signal flow, and expected behavior in natural language, while AI handles much of the syntax and implementation.

This does not make engineering knowledge less important.

It makes domain knowledge more important.

AI can write a Park transformation. But an engineer still needs to know:

  • Where should it be placed?
  • Which electrical angle should it use?
  • When should the ADC sample?
  • Where does computational delay occur?
  • Does the simulation actually represent the physical system?

These are not syntax questions.They are engineering questions.

The programming workflow is shifting from:

Syntax → Code → Debug → Product

toward:

Problem → Architecture → AI Implementation → Inspect → Validate → Product

As AI becomes better at writing code, I believe the value of engineers will increasingly come from:

Domain Knowledge + System Architecture + First-Principles Reasoning + Validation

AI can write the code.

But you still need to know what the code should mean.

程式設計,正在進入更高一層的抽象

今天,我嘗試利用 AI,協助我建立一個用於電機控制教學的互動式虛擬實驗室。

其中包含 PMSM 模型、Sensor-based FOC、Clarke/Park 轉換、電流與速度控制器、SVPWM、PWM Timer、ADC 採樣、運算延遲、Dead Time,以及互動式波形顯示,並且擁有完整而專業的 Web UI。

第一個可以實際運作的版本,大約只花了三個小時。

這個過程讓我重新思考:在 AI 時代,「Programming」究竟代表什麼?

程式設計的發展史,其實一直都是一部不斷提高**抽象層級(Level of Abstraction)**的歷史:

Machine Code → Assembly → C/C++ → High-Level Languages → Visual Programming → Natural Language + AI

AI 輔助程式設計並不是突然出現的斷點,而是這條演進路徑的下一步。

今天,我可以直接使用自然語言描述系統架構、數學方程式、訊號流程與預期行為,而 AI 負責完成大量的語法與實作工作。

這是否代表工程知識不再重要?

恰恰相反。

Domain Knowledge 反而變得更加重要。

AI 可以寫出 Park Transformation,但工程師仍然必須知道:

  • Park Transformation 應該放在哪裡?
  • 應該使用哪一個電氣角度?
  • ADC 應該在什麼時間點採樣?
  • 運算延遲發生在哪裡?
  • 這個模擬真的符合實際物理系統嗎?

這些都不是語法問題。

這些是工程問題。

我認為 Programming 的工作流程正在從:

Syntax → Code → Debug → Product

逐漸轉變為:

Problem → Architecture → AI Implementation → Inspect → Validate → Product

隨著 AI 越來越擅長撰寫程式碼,我相信工程師真正的競爭力,會越來越集中在:

Domain Knowledge + System Architecture + First-Principles Reasoning + Validation

AI 可以幫你寫程式碼。

但你仍然必須知道,這些程式碼究竟應該代表什麼。

Read more