作者Lordaeron (Terry)
看板Soft_Job
標題Re: [新聞] Pascal 語言設計者,尼克勞斯維爾特過世
時間Sun Jan 14 19:38:01 2024
※ 引述《Lordaeron (Terry)》之銘言:
: → superpandal: free pascal也很久沒更了 囧 01/06 22:31
: 推 oopFoo: 穩定更新少正常。C++一直變,我都不敢說我懂C++,像c++23 01/07 09:32
: → oopFoo: 拿掉GC,我才知道C++有GC的spec。 01/07 09:33
: 現存活著的Pascal 有
: 1. Delphi
: 換公司到embarcadero 後,活著!!但真的沒啥進步。
: IDE 爛字不夠形容,Compiler 就吃老本。
: VCL/FMX 沒進步。
: BCB 是更慘,庶出,能活著就不錯了。
: 2. FreePascal
: 這Compiler 是真的很3.2.2 很久了沒錯,但還是有一直在更版。
: 而Compiler 的跨平台也沒話說,Write Once Compile Anywhere 有做到。
: IDE 好吧。Delphi7 的樣子,Delphi7 的程度。
: LCL 的跨平台沒話說。套LCL 的APPLICATION 跨Windows/Mac/Linux/BSD系列沒問題。
: 3. GNU Pascal
: 這GPC....沒在用。
: 按說法,GCC support 的平台它都Support。也可以吃GNU 的toolchain。
講開FPC freepascal 和Delphi 了。
就講一下台灣比較沒人在提的LAZARUS 吧。用它來對應Delphi。
Lazarus 的GUI framework 叫LCL,對應到Delphi 的VCL和FMX。是的,一套對兩套。
LCL 直接跨平台了,不用像Delphi 哪樣,還有一個VCL 卡住。
Lazarus 的String 等於Delphi 的RawString。
Delphi 的String 是UTF-16,Lazarus 的元件是UTF-8,所以建議String 是UTF-8。
所以Lazarus 本身有做好的UTF-8的表,和相應的FUNCTION 來處理和UTF-8的事,
基本上是對照到Java 字串轉換該有的都有了。
Microsoft 的extend 的CP932,CP936,CP949,CP950 表我也做上去了。
Delphi 開發和DB 相關的,基本上LAZARUS 都有。
但DBase DBF,Paradox DB 這兩個基本上不要有任何的期待,特別是Big5。
其它的GUI 元件,則比VCL 的好。
另外LAZARUS 還有不少第三方的Component,可以從install/uninstall component 上
找到或從
https://wiki.freepascal.org/Projects_using_Lazarus_-_Components_and_Libraries
找到。
都沒有,可以上github 上找。
其它的如CRYPT,NETWORK,都有。
第三方的GUI component 是沒有Delphi 的做得漂亮的。
安裝方面,除了
https://www.lazarus-ide.org/
外,我建議
https://github.com/LongDirtyAnimAlf/fpcupdeluxe/releases
fpcupdeluxe 可以讓你客製化你的LAZARUS 包括cross compile,也只有這個才有
M1 MacOs 的Lazarus,M1 MacOs 原來的中文輸入的問題,我也修正和調整好了。
在LAZARUS 3.0 中整進去了。
其它的平台Windows, Linux, BSD 等也有相應的調整。
所以,請用LAZARUS 3.0,但FPC 依舊是3.2.2。
最後,提醒一下,LAZARUS 和Delphi 一樣,只有String 有GC。
其它的,請自行處理。同時,String 是thread unsafe 的。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.165.206 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1705232283.A.010.html
※ 編輯: Lordaeron (36.226.165.206 臺灣), 01/14/2024 19:43:27
推 derecklin: 推 01/15 13:42
→ Lordaeron: 歡迎入坑啊.... 01/15 16:41