Při porovnávání s programem Ada, C / C ++ a Java je programovací jazyk Seed7 výkonnější a všestrannější, jak jej vývojář popisuje na webových stránkách projektu. Je schopen převést programy do aplikací C, které jsou poté kompilovány do kódu počítače. S funkcí Seed7 se funkce s typovými parametry a výsledky typu stanou elegantnějšími než generické pojmy nebo šablony.
Funkce na první pohled
Mezi hlavní funkce patří uživatelsky definované operátory a příkazy, podpora orientace objektů (více dispečinů a rozhraní), podpora ladění zdrojového kódu, podpora silného psaní, podpora zpracování výjimek, přetížení procedur, příkazy, operátory a funkce jako podpora různých předdefinovaných typů, jako jsou měnitelné matice, bitsets, hash, struktury, čas, barva, trvání atd.
Navíc Seed7 podporuje typy bigRational a bigInteger pro čísla, umožňuje uživatelům snadno definovat generiky a šablony bez použití speciální syntaxe a přichází s předdefinovanými konstrukty, jako jsou for-loops a matice. Další zajímavou vlastností je, že software umožňuje vývojářům vytvářet programy, které jsou přenosné z get-go, aniž by museli upravovat zdrojový kód.
Správa automatické paměti
Seed7 je dodáván také s funkčností automatické správy paměti, která funguje mimo krabici, aniž by musel používat sběrač odpadků. Navíc software pomáhá vývojářům snadno zjistit chyby při sestavování jejich programů, a to díky absenci automatických odlitků a kontrole statického typu.
Podporované operační systémy, licence a dostupnost
Seed7 běží pod libovolným operačním systémem GNU / Linux, stejně jako různé operační systémy UNIX a Microsoft Windows. Je dobré vědět, že zatímco knihovna runtime je distribuována pod licencí LGPL, interpret a příklady programů jsou k dispozici ke stažení s licencí GPL.
Co je nového v toto vydání:
- Ruční kapitola popisující rozhraní pro cizí funkce byla vylepšena.
- Manipulace s Unicode v konzole byla vylepšena.
- Všechny řetězce, které jsou předány funkcí C, jsou nyní zkontrolovány.
- Byla vylepšena výkonnost několika funkcí běhu.
- Nové funkce flexibilní konverze byly přidány do bytedata.s7c.
- V několika souborech byly přidány nebo zdokonaleny komentáře k dokumentaci.
- Program chk_all.sd7 byl vylepšen pro kontrolu několika možností kompilátoru.
- Kompilátor byl vylepšen, aby provedl další optimalizace.
- Kontroly byly přidány do souborů chkbig.sd7, chkexc.sd7 a chkflt.sd7.
Co je nového ve verzi:
- Ruční kapitola popisující rozhraní cizích funkcí byla vylepšena.
- Manipulace s Unicode v konzole byla vylepšena.
- Všechny řetězce, které jsou předány funkcí C, jsou nyní zkontrolovány.
- Byla vylepšena výkonnost několika funkcí běhu.
- Nové funkce flexibilní konverze byly přidány do bytedata.s7c.
- V několika souborech byly přidány nebo zdokonaleny komentáře k dokumentaci.
- Program chk_all.sd7 byl vylepšen pro kontrolu několika možností kompilátoru.
- Kompilátor byl vylepšen, aby provedl další optimalizace.
- Kontroly byly přidány do souborů chkbig.sd7, chkexc.sd7 a chkflt.sd7.
Co je nového ve verzi 2016-04-30:
Nové v Seed7 2014-01-19 (20. ledna 2014)
Co je nového ve verzi 2016-03-30:
- Ruční kapitola popisující rozhraní cizích funkcí byla vylepšena.
- Manipulace s Unicode v konzole byla vylepšena.
- Všechny řetězce, které jsou předány funkcí C, jsou nyní zkontrolovány.
- Byla vylepšena výkonnost několika funkcí běhu.
- Nové funkce flexibilní konverze byly přidány do bytedata.s7c.
- V několika souborech byly přidány nebo zdokonaleny komentáře k dokumentaci.
- Program chk_all.sd7 byl vylepšen pro kontrolu několika možností kompilátoru.
- Kompilátor byl vylepšen, aby provedl další optimalizace.
- Kontroly byly přidány do souborů chkbig.sd7, chkexc.sd7 a chkflt.sd7.
Co je nového ve verzi 2016-02-29:
- Ruční kapitola popisující rozhraní cizích funkcí byla vylepšena.
- Manipulace s Unicode v konzole byla vylepšena.
- Všechny řetězce, které jsou předány funkcí C, jsou nyní zkontrolovány.
- Byla vylepšena výkonnost několika funkcí běhu.
- Nové funkce flexibilní konverze byly přidány do bytedata.s7c.
- V několika souborech byly přidány nebo zdokonaleny komentáře k dokumentaci.
- Program chk_all.sd7 byl vylepšen pro kontrolu několika možností kompilátoru.
- Kompilátor byl vylepšen, aby provedl další optimalizace.
- Kontroly byly přidány do souborů chkbig.sd7, chkexc.sd7 a chkflt.sd7.
Co je nového ve verzi 2016-01-30:
- Ruční kapitola popisující rozhraní cizích funkcí byla vylepšena.
- Manipulace s Unicode v konzole byla vylepšena.
- Všechny řetězce, které jsou předány funkcí C, jsou nyní zkontrolovány.
- Byla vylepšena výkonnost několika funkcí běhu.
- Nové funkce flexibilní konverze byly přidány do bytedata.s7c.
- V několika souborech byly přidány nebo zdokonaleny komentáře k dokumentaci.
- Program chk_all.sd7 byl vylepšen pro kontrolu několika možností kompilátoru.
- Kompilátor byl vylepšen, aby provedl další optimalizace.
- Kontroly byly přidány do souborů chkbig.sd7, chkexc.sd7 a chkflt.sd7.
Co je nového ve verzi 2015-11-29:
- Ruční kapitola popisující rozhraní cizích funkcí byla vylepšena.
- Manipulace s Unicode v konzole byla vylepšena.
- Všechny řetězce, které jsou předány funkcí C, jsou nyní zkontrolovány.
- Byla vylepšena výkonnost několika funkcí běhu.
- Nové funkce flexibilní konverze byly přidány do bytedata.s7c.
- V několika souborech byly přidány nebo zdokonaleny komentáře k dokumentaci.
- Program chk_all.sd7 byl vylepšen pro kontrolu několika možností kompilátoru.
- Kompilátor byl vylepšen, aby provedl další optimalizace.
- Kontroly byly přidány do souborů chkbig.sd7, chkexc.sd7 a chkflt.sd7.
Co je nového ve verzi 2015-09-14:
- Ruční kapitola popisující rozhraní cizích funkcí byla vylepšena.
- Manipulace s Unicode v konzole byla vylepšena.
- Všechny řetězce, které jsou předány funkcí C, jsou nyní zkontrolovány.
- Byla vylepšena výkonnost několika funkcí běhu.
- Nové funkce flexibilní konverze byly přidány do bytedata.s7c.
- V několika souborech byly přidány nebo zdokonaleny komentáře k dokumentaci.
- Program chk_all.sd7 byl vylepšen pro kontrolu několika možností kompilátoru.
- Kompilátor byl vylepšen, aby provedl další optimalizace.
- Kontroly byly přidány do souborů chkbig.sd7, chkexc.sd7 a chkflt.sd7.
Co je nového ve verzi 2015-07-05:
- Ruční kapitola popisující rozhraní cizích funkcí byla vylepšena.
- Manipulace s Unicode v konzole byla vylepšena.
- Všechny řetězce, které jsou předány funkcí C, jsou nyní zkontrolovány.
- Byla vylepšena výkonnost několika funkcí běhu.
- Nové funkce flexibilní konverze byly přidány do bytedata.s7c.
- V několika souborech byly přidány nebo zdokonaleny komentáře k dokumentaci.
- Program chk_all.sd7 byl vylepšen pro kontrolu několika možností kompilátoru.
- Kompilátor byl vylepšen, aby provedl další optimalizace.
- Kontroly byly přidány do souborů chkbig.sd7, chkexc.sd7 a chkflt.sd7.
Co je nového ve verzi 2015-06-01:
- Ruční kapitola popisující rozhraní cizích funkcí byla vylepšena.
- Manipulace s Unicode v konzole byla vylepšena.
- Všechny řetězce, které jsou předány funkcí C, jsou nyní zkontrolovány.
- Byla vylepšena výkonnost několika funkcí běhu.
- Nové funkce flexibilní konverze byly přidány do bytedata.s7c.
- V několika souborech byly přidány nebo zdokonaleny komentáře k dokumentaci.
- Program chk_all.sd7 byl vylepšen pro kontrolu několika možností kompilátoru.
- Kompilátor byl vylepšen, aby provedl další optimalizace.
- Kontroly byly přidány do souborů chkbig.sd7, chkexc.sd7 a chkflt.sd7.
Co je nového ve verzi 2015-05-03:
- Ruční kapitola popisující rozhraní cizích funkcí byla vylepšena.
- Manipulace s Unicode v konzole byla vylepšena.
- Všechny řetězce, které jsou předány funkcí C, jsou nyní zkontrolovány.
- Byla vylepšena výkonnost několika funkcí běhu.
- Nové funkce flexibilní konverze byly přidány do bytedata.s7c.
- V několika souborech byly přidány nebo zdokonaleny komentáře k dokumentaci.
- Program chk_all.sd7 byl vylepšen pro kontrolu několika možností kompilátoru.
- Kompilátor byl vylepšen, aby provedl další optimalizace.
- Kontroly byly přidány do souborů chkbig.sd7, chkexc.sd7 a chkflt.sd7.
Co je nového ve verzi 2015-02-16:
- Ruční kapitola popisující rozhraní cizích funkcí byla vylepšena.
- Manipulace s Unicode v konzole byla vylepšena.
- Všechny řetězce, které jsou předány funkcí C, jsou nyní zkontrolovány.
- Byla vylepšena výkonnost několika funkcí běhu.
- Nové funkce flexibilní konverze byly přidány do bytedata.s7c.
- V několika souborech byly přidány nebo zdokonaleny komentáře k dokumentaci.
- Program chk_all.sd7 byl vylepšen pro kontrolu několika možností kompilátoru.
- Kompilátor byl vylepšen, aby provedl další optimalizace.
- Kontroly byly přidány do souborů chkbig.sd7, chkexc.sd7 a chkflt.sd7.
Co je nového ve verzi 2014-01-19:
- Byla přidána knihovna tdes.s7i s podporou šifrování Triple DES.
- Knihovna tls.s7i byla vylepšena, aby přijala zprávy CertificateRequest.
- Kontroly pro mdiv a mod byly přidány do souboru chkbig.sd7.
- Kompilátor byl vylepšen, aby provedl více optimalizací pro příkazy if-operace BIG_MOD (operátor mod) a BIG_MDIV (operátor mdiv).
- Nové funkce pro otevření souborů byly zavedeny v různých knihovnách.
- Staré funkce jsou stále podporovány, ale jsou zastaralé.
- V různých souborech byly přidány nebo zdokonaleny komentáře k dokumentaci.
- Byla přidána funkce getValue pro booleovské hodnoty.
Co je nového ve verzi 2014-01-05:
- Byla přidána knihovna des.s7i s šifrovací podporou DES (Data Encryption Standard).
- Bin32.s7i bylo přidáno několik funkcí a podpora pro zápis hodnot.
- Byla přidána nová knihovna unicode.s7i s funkcemi pro konverzi mezi kódováními Unicode.
- Knihovna gethttps.s7i byla vylepšena, aby přijímala odkazy na HTTP.
- Několik kontrol bylo přidáno do souboru chkbig.sd7.
- Kompilátor byl vylepšen, aby provedl více optimalizací pro funkce bigInteger.
- Do chkccomp.c byla přidána kontrola klíčového slova "omezit".
- Funkce konverzí UTF-8 se zlepšila až o 6%.
Co je nového ve verzi 2013-12-22:
- Následující volání zápisu v bas7.sd7 byly spojeny do jediného volání zápisu resp. writeln.
- Do častých dotazů bylo přidáno několik odkazů.
- Typy karty cardSuit a cardRank a funkce cardPixmap a cardBackside byly přidány do knihovny cards.s7i.
- Knihovna cards.s7i byla vylepšena pro použití funkcí z pic_util.s7i.
- Program carddemo.sd7 byl vylepšen pro použití nových typů a funkcí z karty.s7i.
Co je nového ve verzi 2013-12-08:
- Vysvětlení týkající se toho, jak Seed7 porovnává s jazykem Java a elegantní způsob inicializace dat.
- Několik funkcí bylo přesunuto z shell.s7i do nové knihovny process.s7i.
- Funkce commandPath byla přidána do process.s7i.
- Jako oprava selhání systému Windows byl program chk_all.sd7 vylepšen, aby získal výjimku.
- Některé obrázky byly přidány nebo vylepšeny v obrázcích pic16.s7i a pic32.s7i.
- Funkce cmdPipe2 v cmd_win.c byla vylepšena pro otevření stdin a stdout v textovém režimu.
- Funkce filInputReady byla vylepšena, aby se po zavěšení vrátila TRUE.
Co je nového ve verzi 2013-11-24:
- Byla přidána knihovna pic_util.s7i s funkcemi obrázkových utilit.
- Obrázky cancel_pic, folder_pic a reset_pic byly přidány do pic16.s7i a pic32.s7i.
- Byla přidána funkce pro konverzi pixmapového obrazu na formát BMP a funkce getPixelColor do draw.s7i.
- Všechna použití funkce bez použití parametrů byla nahrazena čirým (černou).
- Výkon funkce strCLit v str_rtl.c byl vylepšen o faktor 10.
- Funkce init_bstri_constants a init_win_constants v s7c.sd7 byly vylepšeny.
- Byly opraveny chyby pravopisu v několika souborech.
Co je nového ve verzi 2013-11-10:
- Knihovna kompilátoru a runtime byla vylepšena, aby fungovala na Sparc
- 64bitové stroje v rámci OpenBSD. Děkujeme za Brian Callahan, protože
- jeho podpora a poskytování přístupu k jeho 64bitovému počítači Sparc.
- Vysvětlení nejčastějších dotazů ohledně přenositelnosti bylo vylepšeno.
- Byla přidána nová knihovna cc_conf.s7i. Tato knihovna spravuje
- konfigurační hodnoty pro kompilátor C a dobu běhu.
- Kompilátor byl vylepšen pro použití knihovny cc_conf.s7i.
- Kapitola týkající se definic použitých ve verzi.h byla vylepšena
- v souboru src / read_me.txt.
- Typ rtlGenerictype byl v přejmenován na generictype
- soubory knihovny runtime. Nyní knihovna kompilátoru a runtime
- oba používají název generictype.
- Funkce checkForLimitedStringLiteralLength, kontrola
- trigrafické sekvence a kontroly přítomnosti getrlimit ()
- a siglongjmp () byly přidány do chkccomp.c.
- Funkce setupStack byla přidána do souboru cmd_rtl.c. Tato funkce
- se pokusí zvýšit limit zásobníku na STACK_SIZE.
- Použití USE_SIGSETJMP bylo přejmenováno na HAS_SIGSETJMP.
- Tabulka key_code byla vylepšena v kbd_inf.c a kbd_poll.c.
- Teraz je mazací znak rozhraní terminálu (VERASE) vždy
- vrácena jako backspace (KEY_BS '8'). To se zlepšuje
- chování v rámci programu Cygwin.
- Funkce utf8_init byla změněna v kbd_inf.c a
- kbd_poll.c převezme režim UTF-8 v případě, že neexistuje žádné prostředí prostředí
- je nastavena proměnná
- Funkce msgDigest v adresáři msgdigest.s7i byla změněna na použití
- v parametrech.
- Funkce configValue byla přesunuta z osfiles.s7i na
- cc_conf.s7i.
- Makro REALLOC_STRI_SIZE_SMALLER bylo přidáno do heaputl.h.
- Několik použití v souboru REALLOC_STRI_SIZE_OK v knihovně runtime
- bylo změněno na použití REALLOC_STRI_SIZE_SMALLER.
- Kompilátor byl vylepšen, aby inicializoval boolean a
- Výčet prvků struktů s hodnotami value.boolvalue
- hodnota value.enumvalue. To je nutné pro správnou funkci
- na velkých endiánových systémech.
- Tlumočník a překladač byly vylepšeny, aby podporovaly akce
- ACT_EQ a ACT_NE.
Co je nového ve verzi 2013-10-27:
- Knihovna kompilátoru a runtime byla vylepšena pro podporu velkých endiánových systémů.
- Dokumentace v souboru src / read_me.txt byla vylepšena.
- Knihovna tls.s7i byla vylepšena, aby nedošlo k vynechání výjimky, když vzdálená strana zavře zásuvku.
- Poznámky k dokumentaci byly přidány nebo vylepšeny v několika zdrojových souborech.
- Byla optimalizována řada funkcí.
- Funkce typNum byla vylepšena pro použití hashtable.
- Funkce typ_num a typ_str byly vylepšeny pro volání typNum resp. typStr.
- Podpora akcí ACT_ICONV a ACT_ORD byla přidána k interpretovi a kompilátoru.
Co je nového ve verzi 2013-10-13:
- Byly přidány knihovny pro podporu TLS / SSL a HTTPS.
- Porovnávání operátorů za < (správná podmnožina) a> (správná nadmnožina) byly přidány do hashsetof.s7i.
- Typ digestAlgorithm a funkce pro něj byly přidány do msgdigest.s7i.
- Hex funkce byla přidána do bytedata.s7i.
- Příkladný program castle.sd7 byl vylepšen.
- Do několika souborů byly přidány komentáře k dokumentaci.
- Čalounění funkcí digestu zpráv msgdigest.s7i bylo opraveno.
- Funkce getHttp v adresáři gethttp.s7i byla vylepšena, aby bylo možné použít porovnání názvů polí záhlaví protokolu HTTP.
Co je nového ve verzi 2013-09-29:
- Funkce bStriLe, bytesLe, bStriBe a bytesBe byly přidány do bytedata.s7i. Tyto funkce převedou celé číslo na posloupnost bajtů.
- Kompilátor byl vylepšen, aby generoval inline kód pro akci STR_PUSH.
- Tato akce přidá znak k řetězci (používá jej operátor & amp;: =).
- Funkce konverzí byly přidány do time.s7i.
- Ke chkbig.sd7, chkint.sd7 a chkstr.sd7 byly přidány kontroly několika operátorů a funkcí.
- Funkce doLocalDeclsOfStatement byla přidána do kompilátoru. Tato funkce se používá k zjednodušení zpracování různých příkazů.
Co je nového ve verzi 2013-09-08:
- Soubor makefile mk_freebsd.mk byl přidán pro podporu kompilace v rámci freeBSD.
- Funkce převodu mezi sekvencemi bajtů a čísly bigInteger byly přidány do bytedata.s7i.
- Funkce bytesLeAsInt a bytesBeAsInt byly přejmenovány na bajtyLe2Int a bytesBe2Int.
- Kontroly byly přidány do souborů chkbig.sd7 a chkset.sd7.
- Funkce bigRand ve formátu big_rtl.c byla vylepšena, aby se zabránilo podmínkám, ve kterých je náhodné číslo mimo požadovaný rozsah.
- Jména parametrů byly přidány do několika souborů.
- Je-li znaky inicializovány, kompilátor byl vylepšen, aby používal charvalue namísto intvalue.
Co je nového ve verzi 2013-08-20:
- Knihovna sha1.s7i byla přejmenována na msgdigest.s7i.
- Ke zprávě msgdigest.s7i byly přidány funkce digest a bezpečné funkce hash md4, md5, sha224 a sha256.
- Byla přidána nová knihovna propertyfile.s7i, která definuje funkce pro čtení souboru vlastností do tabulky hash.
- Vylepšil se výkon generátoru náhodných čísel.
- BytesLeAsInt byla přidána do knihovny bytedata.s7i.
- Ve funkci bytedata.s7i byla funkce int64AsBytesBytesLe přejmenována na int64AsEightBytesLe.
- Varianta funkce skipWhiteSpace byla přidána do knihovny scanfile.s7i.
Co je nového ve verzi 2013-07-22:
- Opraveny byly chyby pravopisu v souboru chlog.txt, faq.htm a faq.txt.
- Funkce conText (v con_win.c) byla vylepšena, aby fungovala správně pro dlouhé řetězce (když by WriteConsoleW selže).
- Několik funkcí bylo přesunuto z drw_win.c do nového souboru gkb_win.c.
- Nesprávná použití inIntRange byla nahrazena lepším kódem v drw_win.c.
- V souboru con_win.c byla tabulka map_key vylepšena tak, že kbdGetc rozpozná klíč F12.
- Program chk_all.sd7 byl vylepšen pro volání chkhsh.sd7.
- Kompilátor byl vylepšen pro generování srovnatelných funkcí se správným prototypem.
Co je nového ve verzi 2013-06-16:
- V několika souborech byly přidány nebo zdokonaleny komentáře k dokumentaci.
- Funkce dolní a horní v řetězcích string.s7i a char.s7i byly vylepšeny tak, aby používaly výchozí mapování případů Unicode.
- Výkon komprese deflace byl vylepšen o faktor mezi 5 a 10.
- Výkon funkcí str_cmp, str_range, str_substr, strCompare, strRangeSlice, strRange, strSubstrSlice a strSubstr byl vylepšen.
- Testy pro několik řetězcových funkcí byly přidány do souboru chkstr.sd7.
- Kompilátor byl vylepšen pro vložení kódu pro akce STR_HASHCODE, STR_RANGE a STR_SUBSTR.
Komentáře nebyl nalezen