一個國外小老頭,用被淘汰的編程工具,開發(fā)了一個了不起的軟件
就是他,David Vacanti。
圖片
1974年,David從科羅拉多州立大學獲得電氣工程學位,隨后加入波音公司,主要設計各種各樣的雷達,一口氣干了21年。
1998年跳槽到霍尼韋爾公司,還是研究雷達,又干了19年。
可以說,David 一輩子都在和雷達打交道。
更讓人稱奇的是,他在1983年,開啟了自己的副業(yè),開了一家叫做“Vacanti Yacht Design”的公司(美國允許在職的人這么做嗎?),專門開發(fā)出售船舶設計軟件:PROLINES。
圖片
這個軟件不斷被維護,升級,如今PROLINES 已經40歲了,已經是一個成熟、穩(wěn)定、強大的3D CAD程序,幾乎可用于設計任何類型的船舶。
用PROLINES可以設計這樣的船:
圖片
這樣的(贏得多次賽艇競賽):
圖片
這樣的:
圖片
PROLINES有多牛呢?
小型船只設計是個非常小眾的市場,用戶只是業(yè)余愛好者,專業(yè)游艇設計師,PROLINES在80年代后期推出,一直不斷發(fā)展和升級,全世界有超過3000個 PROLINES 安裝, 可以說在全世界范圍內培養(yǎng)了一批追隨者。
PROLINES 第一個引入了參數(shù)化船體設計概念。通過選擇船體類型并輸入一些基本的船體尺寸,可以在幾秒鐘內創(chuàng)建一個船體,這種輸入“船體參數(shù)”的概念已被整個行業(yè)采用。
PROLINES 在內部使用 NURB(非均勻有理 B 樣條曲線),這就可以創(chuàng)建任何可以想到的船體形狀,并將其導出為 STL、DXF、IGES、GHS GF1、VPP 和其他文件格式。
PROLINES甚至成為美國大學土木工程師的一個標準工具。
......
David用來開發(fā)PROLINES的工具就是老古董IDE Delphi。
圖片
上世紀80年代末,David用Turbo Pascal 和Metagraphics編寫了PROLINES,在DOS時代,GUI編程是非常困難的,他必須得自己創(chuàng)建下拉菜單,檢測窗口中的點擊事件、創(chuàng)建對話框窗口,這讓David不勝其煩。
當1995年,Delphi發(fā)布時,David非常激動,Turbo Pascal 升級成了Object Pascal,并且提供了對GUI快速開發(fā)的能力,他意識到Delhpi能極大地改進PROLINES,立刻把產品開發(fā)升級到Delphi,并且一直堅持用Delphi開發(fā),直到28年后的今天。
圖片
Delphi 是 Borland出品的快速開發(fā)工具,在上個世紀90年代非常火熱,它學起來比VC簡單,編譯出的代碼又比VB快,人送外號“VB Killer”。
很多人喜歡Delphi,甚至勝過VB。
Foxmail、Total Commander、Skype、WinRAR、BeyondCompare等知名軟件都是用Delphi開發(fā)的。
Borland這家公司很可惜,以Turbo Pascal、Trubo C/C++起家,打造驚世之作Delphi,后來推出C++ Builder、JBuilder,可以說一代程序員是伴隨著Borland成長起來的。
但是在桌面應用轉向Web應用的關鍵時刻,Borland受到了微軟、開源的Eclipse、Java的巨大沖擊,最終隕落,Delphi也落到了Embarcadero公司手中。
雖然Embarcadero還在推出Delphi的新版本(最近的版本是2023年2月發(fā)布的11.3),但使用它的人群恐怕只剩下兩種人:
1.鐵粉
2.需要維護Delphi開發(fā)的應用,例如David。
我在上一篇文章《Bill Gates 和 Linus Torvalds 同時推崇的編程語言》中講了VB的簡單,有位粉絲留言,說“簡單,意味著你在末端,最早畢業(yè)的就是你”。
其實并不是這樣,VB和Delphi都是使用起來簡單,但是一點也不缺乏開發(fā)復雜應用程序的能力,VB和Delphi的極限依賴于程序員的編程極限。
David通過PROLINES就發(fā)揮了Delphi的極限:生成復雜的公式和計算,強大的3D CAD繪圖渲染能力,支持高DPI的顯示器,這對CAD應用程序的精細設計至關重要。
像David這樣的程序員,不僅沒有畢業(yè),反而在自己的賽道中發(fā)展得越來越好,是小而美的典型。
David現(xiàn)在的生活很舒服,時不時開船出去轉轉。
圖片
回到“祖籍”意大利西西里島尋根問祖。(PS:Redis之父也生活在西西里島)
圖片
我不是鼓勵大家現(xiàn)在去學Delphi,它太古老了,應用程序已經從桌面轉向Web和手機,它已經不是開發(fā)這些應用程序的最佳選擇了。
我們要思考的是,能否像David這樣,結合自己的專業(yè)優(yōu)勢和愛好,用自己擅長的開發(fā)工具去開發(fā)一個軟件,長期維護,不斷打磨,最終成為細分領域的領先者。
這樣長期,穩(wěn)定的副業(yè)才是程序員夢寐以求的、真正的副業(yè)。
當然,想完成這樣的事情,首先得有業(yè)余時間,其次得有自己的愛好,能達到這兩點的中國程序員太少了......
如需轉載,請通過作者微信公眾號coderising獲取授權。