與Ada,C / C ++和Java相比, Seed7 編程語言更強大,更通用,因為它的開發人員在項目的網站上對其進行了描述。它能夠將程序轉換為C應用程序,然後將其編譯為機器代碼。使用Seed7,具有類型參數和類型結果的函數比泛型概念或模板更加優雅。
功能一目了然
主要功能包括用戶定義的運算符和語句,支持面向對象(多個調度和接口),支持調試源代碼,強類型支持,異常處理支持,重載過程,語句,運算符和函數,以及支持各種預定義類型,例如可調整大小的數組,位集,散列,結構,時間,顏色,持續時間等。
此外,Seed7支持數字的bigRational和bigInteger類型,允許用戶在不使用特殊語法的情況下輕鬆定義泛型和模板,並且它帶有預定義的構造,例如for循環和數組。另一個有趣的特性是該軟件允許開發人員創建可從一開始就可移植的程序,而無需修改源代碼。
自動內存管理
Seed7還具有自動內存管理功能,無需使用垃圾收集器即可開箱即用。此外,由於缺少自動轉換和靜態類型檢查,該軟件可幫助開發人員在編譯程序時輕鬆發現錯誤。
支持的操作系統,許可證和可用性
Seed7可在任何GNU / Linux操作系統以及各種UNIX和Microsoft Windows操作系統下運行。很高興知道雖然運行時庫是根據LGPL許可證分發的,但解釋器和示例程序可以通過GPL許可證下載。
什麼是新的這個版本:
- 描述外部功能界面的手冊章節已得到改進。
- 控制台中的Unicode處理已得到改進。
- 現在檢查傳遞給C函數的所有字符串。
- 改進了幾個運行時函數的性能。
- 新的靈活轉換功能已添加到bytedata.s7c。
- 已在多個文件中添加或改進了文檔註釋。
- 程序chk_all.sd7已經過改進,可以檢查幾個編譯器選項。
- 編譯器已經過改進,可以進行更多優化。
- 檢查已添加到chkbig.sd7,chkexc.sd7和chkflt.sd7。
版本中的新功能:
- 描述外部功能界面的手冊章節已得到改進。
- 控制台中的Unicode處理已得到改進。
- 現在檢查傳遞給C函數的所有字符串。
- 改進了幾個運行時函數的性能。
- 新的靈活轉換功能已添加到bytedata.s7c。
- 已在多個文件中添加或改進了文檔註釋。
- 程序chk_all.sd7已經過改進,可以檢查幾個編譯器選項。
- 編譯器已經過改進,可以進行更多優化。
- 檢查已添加到chkbig.sd7,chkexc.sd7和chkflt.sd7。
2016-04-30版本中的
新功能:
Seed7新功能2014-01-19(2014年1月20日)
2016-03-30版本中的新功能:
- 描述外部功能界面的手冊章節已得到改進。
- 控制台中的Unicode處理已得到改進。
- 現在檢查傳遞給C函數的所有字符串。
- 改進了幾個運行時函數的性能。
- 新的靈活轉換功能已添加到bytedata.s7c。
- 已在多個文件中添加或改進了文檔註釋。
- 程序chk_all.sd7已經過改進,可以檢查幾個編譯器選項。
- 編譯器已經過改進,可以進行更多優化。
- 檢查已添加到chkbig.sd7,chkexc.sd7和chkflt.sd7。
2016-02-29版本中的
新功能:
- 描述外部功能界面的手冊章節已得到改進。
- 控制台中的Unicode處理已得到改進。
- 現在檢查傳遞給C函數的所有字符串。
- 改進了幾個運行時函數的性能。
- 新的靈活轉換功能已添加到bytedata.s7c。
- 已在多個文件中添加或改進了文檔註釋。
- 程序chk_all.sd7已經過改進,可以檢查幾個編譯器選項。
- 編譯器已經過改進,可以進行更多優化。
- 檢查已添加到chkbig.sd7,chkexc.sd7和chkflt.sd7。
2016-01-30版本中的新功能:
- 描述外部功能界面的手冊章節已得到改進。
- 控制台中的Unicode處理已得到改進。
- 現在檢查傳遞給C函數的所有字符串。
- 改進了幾個運行時函數的性能。
- 新的靈活轉換功能已添加到bytedata.s7c。
- 已在多個文件中添加或改進了文檔註釋。
- 程序chk_all.sd7已經過改進,可以檢查幾個編譯器選項。
- 編譯器已經過改進,可以進行更多優化。
- 檢查已添加到chkbig.sd7,chkexc.sd7和chkflt.sd7。
2015-11-29版本中的新功能:
- 描述外部功能界面的手冊章節已得到改進。
- 控制台中的Unicode處理已得到改進。
- 現在檢查傳遞給C函數的所有字符串。
- 改進了幾個運行時函數的性能。
- 新的靈活轉換功能已添加到bytedata.s7c。
- 已在多個文件中添加或改進了文檔註釋。
- 程序chk_all.sd7已經過改進,可以檢查幾個編譯器選項。
- 編譯器已經過改進,可以進行更多優化。
- 檢查已添加到chkbig.sd7,chkexc.sd7和chkflt.sd7。
2015-09-14版本中的新功能:
- 描述外部功能界面的手冊章節已得到改進。
- 控制台中的Unicode處理已得到改進。
- 現在檢查傳遞給C函數的所有字符串。
- 改進了幾個運行時函數的性能。
- 新的靈活轉換功能已添加到bytedata.s7c。
- 已在多個文件中添加或改進了文檔註釋。
- 程序chk_all.sd7已經過改進,可以檢查幾個編譯器選項。
- 編譯器已經過改進,可以進行更多優化。
- 檢查已添加到chkbig.sd7,chkexc.sd7和chkflt.sd7。
2015-07-05版本中的新功能:
- 描述外部功能界面的手冊章節已得到改進。
- 控制台中的Unicode處理已得到改進。
- 現在檢查傳遞給C函數的所有字符串。
- 改進了幾個運行時函數的性能。
- 新的靈活轉換功能已添加到bytedata.s7c。
- 已在多個文件中添加或改進了文檔註釋。
- 程序chk_all.sd7已經過改進,可以檢查幾個編譯器選項。
- 編譯器已經過改進,可以進行更多優化。
- 檢查已添加到chkbig.sd7,chkexc.sd7和chkflt.sd7。
2015-06-01版本中的新功能:
- 描述外部功能界面的手冊章節已得到改進。
- 控制台中的Unicode處理已得到改進。
- 現在檢查傳遞給C函數的所有字符串。
- 改進了幾個運行時函數的性能。
- 新的靈活轉換功能已添加到bytedata.s7c。
- 已在多個文件中添加或改進了文檔註釋。
- 程序chk_all.sd7已經過改進,可以檢查幾個編譯器選項。
- 編譯器已經過改進,可以進行更多優化。
- 檢查已添加到chkbig.sd7,chkexc.sd7和chkflt.sd7。
2015-05-03版本中的新功能:
- 描述外部功能界面的手冊章節已得到改進。
- 控制台中的Unicode處理已得到改進。
- 現在檢查傳遞給C函數的所有字符串。
- 改進了幾個運行時函數的性能。
- 新的靈活轉換功能已添加到bytedata.s7c。
- 已在多個文件中添加或改進了文檔註釋。
- 程序chk_all.sd7已經過改進,可以檢查幾個編譯器選項。
- 編譯器已經過改進,可以進行更多優化。
- 檢查已添加到chkbig.sd7,chkexc.sd7和chkflt.sd7。
2015-02-16版本中的
新功能:
- 描述外部功能界面的手冊章節已得到改進。
- 控制台中的Unicode處理已得到改進。
- 現在檢查傳遞給C函數的所有字符串。
- 改進了幾個運行時函數的性能。
- 新的靈活轉換功能已添加到bytedata.s7c。
- 已在多個文件中添加或改進了文檔註釋。
- 程序chk_all.sd7已經過改進,可以檢查幾個編譯器選項。
- 編譯器已經過改進,可以進行更多優化。
- 檢查已添加到chkbig.sd7,chkexc.sd7和chkflt.sd7。
2014-01-19版本中的新功能:
- 已添加具有Triple DES密碼支持的庫tdes.s7i。
- 庫tls.s7i已經過改進,可以接受CertificateRequest消息。
- 檢查mdiv和mod已添加到chkbig.sd7。
- 編譯器已經過改進,可以對if語句,動作BIG_MOD(運算符mod)和BIG_MDIV(運算符mdiv)進行更多優化。
- 各種圖書館都引入了打開文件的新功能。
- 仍支持舊功能,但不推薦使用舊功能。
- 已在各種文件中添加或改進了文檔註釋。
- 已添加布爾值的函數getValue。
2014-01-05版本中的新功能:
- 已添加具有DES(數據加密標準)密碼支持的庫des.s7i。
- bin32.s7i中添加了幾個函數和寫入值支持。
- 添加了新庫unicode.s7i,其中包含在Unicode編碼之間進行轉換的功能。
- 庫gethttps.s7i已得到改進,可接受HTTP鏈接。
- chkbig.sd7已添加了幾項檢查。
- 編譯器已經過改進,可以對bigInteger函數進行更多優化。
- 檢查關鍵字'restrict'已添加到chkccomp.c。
- UTF-8轉換功能的性能提高了6%。
2013-12-22版本中的新功能:
- bas7.sd7中寫入的連續調用已合併為write writevern的單個調用。
- 常見問題解答中添加了幾個鏈接。
- 類型cardSuit和cardRank以及函數cardPixmap和cardBackside已添加到庫cards.s7i。
- 庫cards.s7i已經過改進,可以使用pic_util.s7i中的函數。
- 程序carddemo.sd7已經過改進,可以使用cards.s7i中的新類型和功能。
2013-12-08版本中的新功能:
- 有關Seed7與Java的比較以及初始化數據的優雅方式的說明已添加到常見問題解答中。
- 已將幾個函數從shell.s7i移至新庫process.s7i。
- 函數commandPath已添加到process.s7i。
- 作為對Windows失敗的更正,程序chk_all.sd7已得到改進以捕獲異常。
- 在pic16.s7i和pic32.s7i中添加或改進了幾張圖片。
- cmd_win.c中的cmdPipe2函數已經改進,可以在文本模式下打開stdin和stdout。
- 函數filInputReady已經改進,挂機後返回TRUE。
2013-11-24版
新內容:
- 已添加具有圖片實用程序功能的庫pic_util.s7i。
- 圖片cancel_pic,folder_pic和reset_pic已添加到pic16.s7i和pic32.s7i。
- 將pixmap圖像轉換為BMP格式的函數和函數getPixelColor已添加到draw.s7i。
- 無參數的功能清除的所有用法都已用clear(黑色)替換。
- str_rtl.c中函數strCLit的性能提高了10倍。
- s7c.sd7中的函數init_bstri_constants和init_win_constants已得到改進。
- 修復了多個文件中的拼寫錯誤。
2013-11-10版本中的新功能:
- 編譯器和運行時庫已經過改進,可用於Sparc
- OpenBSD下的64位計算機。謝謝Brian Callahan,
- 他的支持和訪問他的Sparc 64位計算機。
- 有關便攜性的常見問題解答已得到改進。
- 添加了新庫cc_conf.s7i。該庫管理
- C編譯器和運行時的配置值。
- 編譯器已經過改進,可以使用庫cc_conf.s7i。
- 有關version.h中使用的定義的章節已得到改進
- in src / read_me.txt。
- 類型rtlGenerictype已在 中重命名為generictype
- 運行時庫的文件。現在編譯器和運行時庫
- 都使用名稱generictype。
- 函數checkForLimitedStringLiteralLength,檢查
- 三字符序列並檢查是否存在getrlimit()
- 和siglongjmp()已添加到chkccomp.c。
- 函數setupStack已添加到cmd_rtl.c中。這個功能
- 嘗試將堆棧限制提高到STACK_SIZE。
- USE_SIGSETJMP的用法已重命名為HAS_SIGSETJMP。
- 表key_code在kbd_inf.c和kbd_poll.c中得到了改進。
- 現在終端接口(VERASE)的擦除字符始終為
- 作為退格鍵返回(KEY_BS分別為'8')。這提高了
- Cygwin下的行為。
- 功能utf8_init已在kbd_inf.c和 中更改
- kbd_poll.c在沒有語言環境時採用UTF-8模式
- 變量已設置。
- msgdigest.s7i中的msgDigest函數已更改為使用
- 在參數。
- 函數configValue已從osfiles.s7i移至
- cc_conf.s7i。
- 宏REALLOC_STRI_SIZE_SMALLER已添加到heaputl.h。
- 運行時庫中REALLOC_STRI_SIZE_OK的幾個用法
- 已更改為REALLOC_STRI_SIZE_SMALLER。 的用法
- 編譯器已經過改進,初始化了boolean和
- 值為value.boolvalue 的結構的枚舉元素
- 分別為value.enumvalue。這是正常工作所必需的
- on big-endian systems。
- 已改進解釋器和編譯器以支持操作
- ACT_EQ和ACT_NE。
2013-10-27版本中的新功能:
- 已對編譯器和運行時庫進行了改進,以支持big-endian系統。
- src / read_me.txt中的文檔已得到改進。
- 當遠程端關閉套接字時,庫tls.s7i已得到改進,以避免引發異常。
- 已在多個源文件中添加或改進了文檔註釋。
- 已優化了多項功能。
- 函數typNum已經過改進,可以使用哈希表。
- 函數typ_num和typ_str已經改進,分別調用typNum typStr。
- 支持ACT_ICONV和ACT_ORD的操作已添加到解釋器和編譯器中。
2013-10-13版本中的新功能:
- 已添加用於TLS / SSL和HTTPS支持的庫。
- <比較運算符(適當的子集)和> (適當的超集)已被添加到hashsetof.s7i。
- 類型digestAlgorithm及其函數已添加到msgdigest.s7i。
- 函數hex已添加到bytedata.s7i。
- 示例程序castle.sd7已得到改進。
- 文檔註釋已添加到多個文件中。
- msgdigest.s7i的消息摘要功能中的填充已更正。
- 改進了gethttp.s7i中的函數getHttp,以便對HTTP頭字段名稱使用不區分大小寫的比較。
2013-09-29版本中的新功能:
- 函數bStriLe,bytesLe,bStriBe和bytesBe已添加到bytedata.s7i。這些函數將整數轉換為字節序列。
- 編譯器已經過改進,可以為STR_PUSH操作生成內聯代碼。
- 此操作會在字符串中附加一個字符(由運算符&:=使用)。
- 轉換功能已添加到time.s7i。
- 檢查chkbig.sd7,chkint.sd7和chkstr.sd7中是否添加了多個運算符和函數。
- 函數doLocalDeclsOfStatement已添加到編譯器中。此函數用於簡化各種語句的處理。
2013-09-08版本中的新功能:
- 添加了makefile mk_freebsd.mk以支持freeBSD下的編譯。
- bytedata.s7i已添加了在字節序列和bigInteger數字之間進行轉換的函數。
- 函數bytesLeAsInt和bytesBeAsInt已重命名為bytesLe2Int和bytesBe2Int。
- 檢查已添加到chkbig.sd7和chkset.sd7。
- 改進了big_rtl.c中的bigRand函數,以避免隨機數超出所需範圍的情況。
- 參數名稱已添加到多個文件中。
- 編譯器已經過改進,在初始化字符時使用charvalue而不是intvalue。
2013-08-20版本中的新功能:
- sha1.s7i庫已重命名為msgdigest.s7i。
- 消息摘要和安全散列函數md4,md5,sha224和sha256已添加到msgdigest.s7i。
- 添加了一個新的propertyfile.s7i庫,它定義了將屬性文件讀入哈希表的函數。
- 隨機數發生器的性能得到了改善。
- 在bytedata.s7i庫中添加了bytesLeAsInt函數。
- 在bytedata.s7i中,int64AsBytesBytesLe函數被重命名為int64AsEightBytesLe。
- skipWhiteSpace函數的一個變體已添加到scanfile.s7i庫。
2013-07-22版本中的新功能:
- 修復了chlog.txt,faq.htm和faq.txt中的拼寫錯誤。
- 函數conText(在con_win.c中)已得到改進,可以在長字符串中正常工作(當WriteConsoleW失敗時)。
- 已將幾個函數從drw_win.c移至新文件gkb_win.c。
- inIntRange的錯誤用法已被drw_win.c中更好的代碼替換。
- 在con_win.c中,表map_key已得到改進,以便kbdGetc識別密鑰F12。
- 程序chk_all.sd7已經改進,可以調用chkhsh.sd7。
- 編譯器已經過改進,可以使用正確的原型生成比較函數。
2013-06-16版本中的新功能:
- 已在多個文件中添加或改進了文檔註釋。
- string.s7i和char.s7i中的lower和upper函數已經過改進,使用默認的Unicode case映射。
- 放氣壓縮的性能提高了5到10倍。
- 功能str_cmp,str_range,str_substr,strCompare,strRangeSlice,strRange,strSubstrSlice和strSubstr的性能得到了改進。
- chkstr.sd7中添加了幾個字符串函數的測試。
- 編譯器已改進為STR_HASHCODE,STR_RANGE和STR_SUBSTR操作的內聯代碼。
評論沒有發現