分類
❄網站新玩意 (New Stuffs)

移植 VB/PHP 到 Python

Visual Basic 6 起採用它來開發應用程式,那是在二十年 (1999) 前的資策會,當做解決千禧蟲(Year 2000 Problem,俗稱Y2K)的雛形工具。目前自己公司內仍有幾個 Windows 應用程式是用 VB6 設計的,趁著新冠肺炎疫情的空檔期間,決定改移植到 Python (3.8.5)。

雖然我是 Java (Javascript) 程式語言的愛用者,但 Python 近幾年持續排名第一,穩居龍頭寶座,也想藉機一探究竟,順便甩掉 VB6 (VBA) 的舊包袱,微軟公司也打算如此,如同 Adobe 即將甩掉 Flash 一樣 (2020之後不再更新與支援它)。

當一個程式語言被廣泛使用時,網路上的程式庫 (library)、範例就會特別多,學習起來就很容易,也吸引更多人加入此陣營。當年的 Visual Basic 是這樣,現在的 Python 亦是如此,官網的 PyPi 收納了數十萬的 Package,省掉許多開發應用程式的時間。

我的第一個 VB6 移植工作 (約1500行VB6 Code),包括 MySQL 資料庫存取、PDF檔轉存圖片 (Wand)、Gmail發送、日誌紀錄 (logging) 等功能,只花費兩天就改寫、測試完工 (僅250行 Code),有現成的程式庫,真的很方便、快速。

但學習 Python 者有樣事情特別讓人困擾,就是版本間差異大,並不向下相容。有些 Python 2 開發者甚至說不愛 Python 3,他的程式庫也不會支援新版本,就會發生在網路上找到了好的範例、程式庫,試用時才發現無法在新版上使用的窘境。

接續也移植 PHP 程式碼為 Python,如有空檔的話,會想用 xlwings (Make Excel Fly!) 來改寫 Excel VBA (增益集) ,為 MS Excel 添加翅膀,擺脫掉 VBA 的多年束縛。甚至改用 LibreOffice + Python 跟 Office 說掰掰。

分享