Palyginus su Ada, C / C ++ ir Java, programavimo kalba Seed7 yra galingesnė ir universalesnė, nes jos kūrėjas ją aprašo projekto svetainėje. Jis sugeba verčiant programas į C programas, kurios tada kaupiamos į mašinos kodą. Su "Seed7" funkcijos su tipo parametrais ir tipo rezultatai tampa elegantiškesni už generinių koncepcijų ar šablonų.
Savybės iš pirmo žvilgsnio
Pagrindinės funkcijos apima vartotojo apibrėžtus operatorius ir teiginius, paramą objektų orientacijai (daugkartiniam siuntimui ir sąsajoms), paramą šaltinio kodų derinimui, stiprią spausdinimo palaikymą, išimčių tvarkymo palaikymą, procedūrų, teiginių, operatorių ir funkcijų perkrovimą kaip parama įvairiems iš anksto apibrėžtiems tipams, pavyzdžiui, keičiamo dydžio masyvai, bitai, maišos, struktūros, laikas, spalva, trukmė ir kt.
Be to, "Seed7" palaiko numerius "bigRational" ir "bigInteger" tipus, todėl vartotojai gali lengvai apibūdinti generinius ir šablonus nenaudodami specialaus sintaksės, taip pat yra iš anksto apibrėžtų konstrukcijų, pvz., for-loopų ir masyvų. Kitas įdomus bruožas yra tai, kad programinė įranga leidžia kūrėjams kurti programas, kurios yra perkeliamos iš "get-go", nereikalaujant modifikuoti šaltinio kodo.
Automatinis atminties valdymas
"Seed7" taip pat yra su automatine atminties tvarkymo funkcija, kuri dirba "iš karto" be naudojimosi šiukšliadėžiu. Be to, programinė įranga padeda kūrėjams lengvai surasti klaidas rengiant programas dėl to, kad nėra automatinių bandymų ir statinio tipo patikros.
Palaikomos operacinės sistemos, licencijos ir prieinamumas
Seed7 veikia pagal bet kurią "GNU / Linux" operacinę sistemą, taip pat įvairias "UNIX" ir "Microsoft Windows" operacines sistemas. Gerai žinoti, kad nors "runtime" biblioteka platinama pagal LGPL licenciją, vertėjas ir pavyzdinės programos gali būti atsisiųstos su GPL licencija.
Kas naujo ši versija:
- Pataisytas rankinis skyrius, kuriame aprašoma užsienio funkcijų sąsaja.
- "Unicode" valdymas konsolėje buvo patobulintas.
- Dabar visos eilutės, kurios perduodamos C funkcijoms, yra tikrinamos.
- Pagerėjo kelių vykdomųjų funkcijų našumas.
- Naujos lanksčios konvertavimo funkcijos buvo pridėtos prie bytedata.s7c.
- Dokumentacijos komentarai buvo pridėti ar patobulinti keliuose failuose.
- Programa chk_all.sd7 buvo patobulintas, norint patikrinti keletą kompiliatorių parinkčių.
- Kompiliatorius buvo patobulintas, kad būtų galima atlikti daugiau optimizavimo.
- Patikrinimai buvo pridėti prie chkbig.sd7, chkexc.sd7 ir chkflt.sd7.
Kas naujo versijoje:
- Pagerintas rankinis skyrius, kuriame aprašoma užsienio funkcijų sąsaja.
- "Unicode" valdymas konsolėje buvo patobulintas.
- Dabar visos eilutės, kurios perduodamos C funkcijoms, yra tikrinamos.
- Pagerėjo kelių vykdomųjų funkcijų našumas.
- Naujos lanksčios konvertavimo funkcijos buvo pridėtos prie bytedata.s7c.
- Dokumentacijos komentarai buvo pridėti ar patobulinti keliuose failuose.
- Programa chk_all.sd7 buvo patobulintas, norint patikrinti keletą kompiliatorių parinkčių.
- Kompiliatorius buvo patobulintas, kad būtų galima atlikti daugiau optimizavimo.
- Patikrinimai buvo pridėti prie chkbig.sd7, chkexc.sd7 ir chkflt.sd7.
Kas naujo versijoje 2016-04-30:
Naujas Seed7 2014-01-19 (2014 m. Sausio 20 d.)
Kas naujo versijoje 2016-03-30:
- Pagerintas rankinis skyrius, kuriame aprašoma užsienio funkcijų sąsaja.
- "Unicode" valdymas konsolėje buvo patobulintas.
- Dabar visos eilutės, kurios perduodamos C funkcijoms, yra tikrinamos.
- Pagerėjo kelių vykdomųjų funkcijų našumas.
- Naujos lanksčios konvertavimo funkcijos buvo pridėtos prie bytedata.s7c.
- Dokumentacijos komentarai buvo pridėti ar patobulinti keliuose failuose.
- Programa chk_all.sd7 buvo patobulintas, norint patikrinti keletą kompiliatorių parinkčių.
- Kompiliatorius buvo patobulintas, kad būtų galima atlikti daugiau optimizavimo.
- Patikrinimai buvo pridėti prie chkbig.sd7, chkexc.sd7 ir chkflt.sd7.
Kas naujo versijoje 2016-02-29:
- Pagerintas rankinis skyrius, kuriame aprašoma užsienio funkcijų sąsaja.
- "Unicode" valdymas konsolėje buvo patobulintas.
- Dabar visos eilutės, kurios perduodamos C funkcijoms, yra tikrinamos.
- Pagerėjo kelių vykdomųjų funkcijų našumas.
- Naujos lanksčios konvertavimo funkcijos buvo pridėtos prie bytedata.s7c.
- Dokumentacijos komentarai buvo pridėti ar patobulinti keliuose failuose.
- Programa chk_all.sd7 buvo patobulintas, norint patikrinti keletą kompiliatorių parinkčių.
- Kompiliatorius buvo patobulintas, kad būtų galima atlikti daugiau optimizavimo.
- Patikrinimai buvo pridėti prie chkbig.sd7, chkexc.sd7 ir chkflt.sd7.
Kas naujo versijoje 2016-01-30:
- Pagerintas rankinis skyrius, kuriame aprašoma užsienio funkcijų sąsaja.
- "Unicode" valdymas konsolėje buvo patobulintas.
- Dabar visos eilutės, kurios perduodamos C funkcijoms, yra tikrinamos.
- Pagerėjo kelių vykdomųjų funkcijų našumas.
- Naujos lanksčios konvertavimo funkcijos buvo pridėtos prie bytedata.s7c.
- Dokumentacijos komentarai buvo pridėti ar patobulinti keliuose failuose.
- Programa chk_all.sd7 buvo patobulintas, norint patikrinti keletą kompiliatorių parinkčių.
- Kompiliatorius buvo patobulintas, kad būtų galima atlikti daugiau optimizavimo.
- Patikrinimai buvo pridėti prie chkbig.sd7, chkexc.sd7 ir chkflt.sd7.
Kas naujo versijoje 2015-11-29:
- Pagerintas rankinis skyrius, kuriame aprašoma užsienio funkcijų sąsaja.
- "Unicode" valdymas konsolėje buvo patobulintas.
- Dabar visos eilutės, kurios perduodamos C funkcijoms, yra tikrinamos.
- Pagerėjo kelių vykdomųjų funkcijų našumas.
- Naujos lanksčios konvertavimo funkcijos buvo pridėtos prie bytedata.s7c.
- Dokumentacijos komentarai buvo pridėti ar patobulinti keliuose failuose.
- Programa chk_all.sd7 buvo patobulintas, norint patikrinti keletą kompiliatorių parinkčių.
- Kompiliatorius buvo patobulintas, kad būtų galima atlikti daugiau optimizavimo.
- Patikrinimai buvo pridėti prie chkbig.sd7, chkexc.sd7 ir chkflt.sd7.
Kas naujo 2015-09-14 versijoje:
- Pagerintas rankinis skyrius, kuriame aprašoma užsienio funkcijų sąsaja.
- "Unicode" valdymas konsolėje buvo patobulintas.
- Dabar visos eilutės, kurios perduodamos C funkcijoms, yra tikrinamos.
- Pagerėjo kelių vykdomųjų funkcijų našumas.
- Naujos lanksčios konvertavimo funkcijos buvo pridėtos prie bytedata.s7c.
- Dokumentacijos komentarai buvo pridėti ar patobulinti keliuose failuose.
- Programa chk_all.sd7 buvo patobulintas, norint patikrinti keletą kompiliatorių parinkčių.
- Kompiliatorius buvo patobulintas, kad būtų galima atlikti daugiau optimizavimo.
- Patikrinimai buvo pridėti prie chkbig.sd7, chkexc.sd7 ir chkflt.sd7.
Kas naujo 2015-07-05 versijoje:
- Pagerintas rankinis skyrius, kuriame aprašoma užsienio funkcijų sąsaja.
- "Unicode" valdymas konsolėje buvo patobulintas.
- Dabar visos eilutės, kurios perduodamos C funkcijoms, yra tikrinamos.
- Pagerėjo kelių vykdomųjų funkcijų našumas.
- Naujos lanksčios konvertavimo funkcijos buvo pridėtos prie bytedata.s7c.
- Dokumentacijos komentarai buvo pridėti ar patobulinti keliuose failuose.
- Programa chk_all.sd7 buvo patobulintas, norint patikrinti keletą kompiliatorių parinkčių.
- Kompiliatorius buvo patobulintas, kad būtų galima atlikti daugiau optimizavimo.
- Patikrinimai buvo pridėti prie chkbig.sd7, chkexc.sd7 ir chkflt.sd7.
Kas naujo 2015-06-01 versijoje:
- Pagerintas rankinis skyrius, kuriame aprašoma užsienio funkcijų sąsaja.
- "Unicode" valdymas konsolėje buvo patobulintas.
- Dabar visos eilutės, kurios perduodamos C funkcijoms, yra tikrinamos.
- Pagerėjo kelių vykdomųjų funkcijų našumas.
- Naujos lanksčios konvertavimo funkcijos buvo pridėtos prie bytedata.s7c.
- Dokumentacijos komentarai buvo pridėti ar patobulinti keliuose failuose.
- Programa chk_all.sd7 buvo patobulintas, norint patikrinti keletą kompiliatorių parinkčių.
- Kompiliatorius buvo patobulintas, kad būtų galima atlikti daugiau optimizavimo.
- Patikrinimai buvo pridėti prie chkbig.sd7, chkexc.sd7 ir chkflt.sd7.
Kas naujo 2015-05-03 versijoje:
- Pagerintas rankinis skyrius, kuriame aprašoma užsienio funkcijų sąsaja.
- "Unicode" valdymas konsolėje buvo patobulintas.
- Dabar visos eilutės, kurios perduodamos C funkcijoms, yra tikrinamos.
- Pagerėjo kelių vykdomųjų funkcijų našumas.
- Naujos lanksčios konvertavimo funkcijos buvo pridėtos prie bytedata.s7c.
- Dokumentacijos komentarai buvo pridėti ar patobulinti keliuose failuose.
- Programa chk_all.sd7 buvo patobulintas, norint patikrinti keletą kompiliatorių parinkčių.
- Kompiliatorius buvo patobulintas, kad būtų galima atlikti daugiau optimizavimo.
- Patikrinimai buvo pridėti prie chkbig.sd7, chkexc.sd7 ir chkflt.sd7.
Kas naujo 2015-02-16 versijoje:
- Pagerintas rankinis skyrius, kuriame aprašoma užsienio funkcijų sąsaja.
- "Unicode" valdymas konsolėje buvo patobulintas.
- Dabar visos eilutės, kurios perduodamos C funkcijoms, yra tikrinamos.
- Pagerėjo kelių vykdomųjų funkcijų našumas.
- Naujos lanksčios konvertavimo funkcijos buvo pridėtos prie bytedata.s7c.
- Dokumentacijos komentarai buvo pridėti ar patobulinti keliuose failuose.
- Programa chk_all.sd7 buvo patobulintas, norint patikrinti keletą kompiliatorių parinkčių.
- Kompiliatorius buvo patobulintas, kad būtų galima atlikti daugiau optimizavimo.
- Patikrinimai buvo pridėti prie chkbig.sd7, chkexc.sd7 ir chkflt.sd7.
Kas naujo versija 2014-01-19:
- Buvo pridėta biblioteka tdes.s7i su triple DES šifravimo palaikymu.
- biblioteka tls.s7i buvo patobulinta, kad priimtų "CertificateRequest" pranešimus.
- "chdd" ir "mod" patikrinimai pridėti prie chkbig.sd7.
- Kompiliatorius buvo patobulintas, kad būtų galima optimizuoti if-statements, veiksmą BIG_MOD (operatoriaus mod) ir BIG_MDIV (operatoriaus mdiv).
- Naujos failų atidarymo funkcijos buvo įdiegtos įvairiose bibliotekose.
- Senosios funkcijos vis dar palaikomos, bet jos yra pasenę.
- Dokumentacijos komentarai buvo pridėti arba patobulinti įvairiuose failuose.
- Įvesta funkcija getValue už vertikalias reikšmes.
Kas naujo nuo 2014-01-05 versijos:
- Biblioteka des.s7i su DES (Data Encryption Standard) šifravimo pagalba buvo pridėta.
- Bin32.s7i buvo pridėta keletas funkcijų ir palaikymo reikšmių rašyti.
- Pridėta nauja biblioteka unicode.s7i su funkcijomis konvertuoti tarp Unicode koduotų.
- Biblioteka gethttps.s7i buvo patobulinta, kad priimtų nuorodas į HTTP.
- Chkbig.sd7 buvo pridėta keletas patikrinimų.
- Kompiliavimo priemonė buvo patobulinta, kad būtų galima optimizuoti "bigInteger" funkcijas.
- "chkccomp.c" pridėtas raktinio žodžio "apriboti" patikrinimas.
- "UTF-8" konvertavimo funkcijų našumas padidėjo iki 6%.
Kas naujo versijoje 2013-12-22:
- Iš eilės raginami rašyti bas7.sd7 buvo sujungti į atskirus skambučius rašyti atitinkamai writeln.
- DUK buvo įtrauktos kelios nuorodos.
- "CardSuit" ir "CardRank" tipai bei funkcijos cardPixmap ir "cardBackside" buvo pridėtos prie bibliotekos kortelių .s7i.
- bibliotekos cards.s7i buvo patobulintas, kad naudotų pic_util.s7i funkcijas.
- "carddemo.sd7" programa buvo patobulinta, kad būtų galima naudoti naujus "card.s7i" tipus ir funkcijas.
Kas naujo versijoje 2013-12-08:
- Paaiškinimai, kaip Seed7 lyginamas su Java, ir elegantiškas duomenų iniciacijos būdas buvo įtrauktas į DUK.
- Kelios funkcijos buvo perkeltos iš shell.s7i į naują bibliotekos procesą. s7i.
- Funkcija commandPath buvo pridėta prie proceso.s7i.
- Kaip ištaisyta Windows triktis, programa chk_all.sd7 buvo patobulinta, kad sugautų išimtį.
- Pic16.s7i ir pic32.s7i buvo pridėta ar patobulinta keletas nuotraukų.
- "cmdPipe2" funkcija cmd_win.c buvo patobulinta, kad atidarytumėte stdin ir stdout teksto režimu.
- Funkcija filInputReady buvo patobulinta, kad vėl grįžtų TRUE.
Kas naujo versijoje 2013-11-24:
- Buvo pridėta biblioteka pic_util.s7i su nuotraukų paslaugų funkcijomis.
- Paveikslėliai cancel_pic, folder_pic ir reset_pic buvo pridėti prie pic16.s7i ir pic32.s7i.
- Funkcija konvertuoti piksliuko vaizdą į BMP formatą ir funkcija getPixelColor buvo pridėta prie draw.s7i.
- Visi funkcijos be jokių parametrų funkcijos buvo pakeistos aiškiai (juodos).
- "strLit" funkcijos veikimas str_rtl.c pagerėjo 10 kartų.
- S7c.sd7 funkcijos init_bstri_constants ir init_win_constants yra patobulintos.
- Rašybos klaidos keliose bylose buvo ištaisytos.
Kas naujo versijoje 2013-11-10:
- Kompiliatoriaus ir vykdymo biblioteka buvo patobulinta, kad galėtumėte dirbti "Sparc"
- 64 bitų įrenginiai pagal OpenBSD. Ačiū pas Brian Callahan, už
- jo palaikymą ir prieigą prie jo "Sparc" 64 bitų įrenginio.
- DUK apie perkeliamumą paaiškinta.
- Nauja biblioteka cc_conf.s7i buvo pridėta. Ši biblioteka tvarko
- konfigūravimo vertės C kompiliatoriui ir veikimui.
- Kompiliatorius buvo patobulintas bibliotekos cc_conf.s7i naudojimui.
- skyrius apie apibrėžimus, naudojamus versijoje .h buvo patobulintas
- src / read_me.txt.
- Tipas rtlGenerictype buvo pervadintas į generictype
- vykdomosios bibliotekos failai. Dabar kompiliatorius ir biblioteka runtime
- abu naudoja pavadinimą generictype.
- Funkcijos patikrinimasForLimitedStringLiteralLength, čekis
- trigračio sekos ir getrlimit () patikrinimai ()
- ir siglongjmp () buvo pridėti prie chkccomp.c.
- Funkcija setupStack pridėta prie cmd_rtl.c. Ši funkcija
- bando pakelti kamino limitą į STACK_SIZE.
- USE_SIGSETJMP naudojimo būdai pervardyti į HAS_SIGSETJMP.
- Stalo key_code buvo patobulintas kbd_inf.c ir kbd_poll.c.
- Dabar terminalo sąsajos (VERASE) ištrinimo charakteris yra visada
- sugrįžta kaip backspace (atitinkamai KEY_BS - 8). Tai pagerina
- elgesys pagal Cygwin.
- funkcija utf8_init pakeista kbd_inf.c ir
- kbd_poll.c prisiimti UTF-8 režimą, kai nėra lokalės aplinkos
- Kintamasis nustatytas.
- "msgdigest" funkcija msgdigest.s7i pakeista naudoti
- in-parametrai.
- funkcija configValue buvo perkelta iš osfiles.s7i į
- cc_conf.s7i.
- Makro REALLOC_STRI_SIZE_SMALLER buvo pridėtas prie heaputl.h.
- Keletas REALLOC_STRI_SIZE_OK naudojimų bibliotekoje runtime
- pakeistas į REALLOC_STRI_SIZE_SMALLER papročius.
- Kompiliatorius buvo patobulintas, kad inicializuotų boolean ir
- struktūrinių elementų sąrašai su reikšmėmis value.boolvalue
- atitinkamai vertė. bendra reikšmė. Tai būtina norint tinkamai dirbti
- "big-endian" sistemose.
- Vertintojas ir kompiliatorius buvo patobulinti, kad būtų palaikomi veiksmai
- ACT_EQ ir ACT_NE.
Kas naujo versijoje 2013-10-27:
- Kompiliatorių ir vykdomosios bibliotekos buvo patobulintos, siekiant paremti "big-endian" sistemas.
- "src / read_me.txt" dokumentai buvo patobulinti.
- biblioteka tls.s7i buvo patobulinta, kad išvengtumėte išimties padidinimo, kai nuotolinė pusė uždaro lizdą.
- Dokumentacijos komentarai buvo įtraukti arba patobulinti keliuose šaltinio failuose.
- Kelios funkcijos buvo optimizuotos.
- Funkcija typNum buvo patobulinta, jei norite naudoti maišyklę.
- Funkcijos typ_num ir typ_str buvo patobulinti, kad skambinti typNum atitinkamai typStr.
- Vertėjas ir kompiliatorius pridėjo veiksmų ACT_ICONV ir ACT_ORD palaikymą.
Kas naujo versijoje 2013-10-13:
- Bibliotekos, skirtos TLS / SSL ir HTTPS palaikymui, buvo pridėtos.
- palyginimo operatoriai, skirti & lt; (tinkamą pogrupį) ir & gt; (tinkamas superset) buvo pridėtas prie hashsetof.s7i.
- tipo "digestAlgorithm" ir jo funkcijos buvo pridėtos prie msgdigest.s7i.
- funkcija hex buvo įtraukta į bytedata.s7i.
- Pavyzdžiui, programa pilis.sd7 buvo patobulinta.
- Dokumentacijos komentarai buvo pridėti prie kelių failų.
- "msgdigest.s7i" funkcijų pranešimo pertvarkymo pataisymai buvo ištaisyti.
- "getHttp" funkcija gethttp.s7i buvo patobulinta, kad būtų naudojamas nereikšmingas palyginimas HTTP antraščių laukų pavadinimams.
Kas naujo versijoje 2013-09-29:
- Įrankiai bStriLe, bytesLe, bStriBe ir bytes Būtina pridėti prie bytedata.s7i. Šios funkcijos konvertuoja sveiką skaičių į baitų seką.
- Kompiliatorius buvo patobulintas, kad būtų sukurtas inline kodas veiksmui STR_PUSH.
- Šis veiksmas prideda eilutės simbolį (jį naudoja operatorius & amp;: =).
- Konversijos funkcijos buvo pridėti prie laiko.s7i.
- Kai kurių operatorių ir funkcijų patikrinimai buvo pridėti prie chkbig.sd7, chkint.sd7 ir chkstr.sd7.
- funkcija doLocalDeclsOfStatement buvo pridėta prie kompiliatoriaus. Ši funkcija naudojama siekiant supaprastinti įvairių teiginių apdorojimą.
Kas naujo versijoje 2013-09-08:
- "Makefile" mk_freebsd.mk buvo pridėtas, siekiant paremti kompiliaciją pagal "FreeBSD".
- Funkcijos konvertuoti tarp baitų sekų ir bigInteger numerių buvo pridėtos prie bytedata.s7i.
- Funkcijos bytesLeAsInt ir bytesBeAsInt buvo pervadintos į bytesLe2Int ir bytesBe2Int.
- Patikrinimai buvo pridėti prie chkbig.sd7 ir chkset.sd7.
- funkcija bigRand did_rtl.c buvo patobulinta, kad būtų išvengta sąlygų, kuriose atsitiktinių skaičių nepatenka į reikiamą intervalą.
- Parametrų pavadinimai buvo pridėti prie kelių failų.
- Kompiliatorius buvo patobulintas, kad inicializuoti simbolius vietoj intvalue, naudojant charvalue.
Kas naujo versijoje 2013-08-20:
- "sha1.s7i" biblioteka pervadinta į msgdigest.s7i.
- Pranešimų santraukos ir saugios maišos funkcijos md4, md5, sha224 ir sha256 buvo pridėtos prie msgdigest.s7i.
- Buvo pridėta nauja "propertyfile.s7i" biblioteka, kurioje apibrėžiamos nuosavybės failo skaitymo funkcijos į maišos lentelę.
- Pagerėjo atsitiktinių skaičių generatoriaus našumas.
- Bytedata.s7i biblioteka buvo pridėta funkcija bytesLeAsInt.
- Bytedata.s7i funkcija int64AsBytesBytesLe buvo pervardyta į int64AsEightBytesLe.
- "skipWhiteSpace" funkcijos variantas buvo įtrauktas į "scanfile.s7i" biblioteką.
Kas naujo versijoje 2013-07-22:
- Pataisytos rašybos klaidos chlog.txt, faq.htm ir faq.txt.
- funkcija conText (con_win.c) buvo patobulinta, kad galėtų tinkamai veikti ilgas stygas (kai WriteConsoleW nepavyko).
- Nuo drw_win.c buvo perkelta keletas funkcijų į naują failą gkb_win.c.
- Neteisingi inIntRange naudojimo būdai buvo pakeisti geresniu kodu drw_win.c.
- esant con_win.c, lentelės map_key buvo patobulinta taip, kad kbdGetc atpažintų raktą F12.
- programa chk_all.sd7 buvo patobulinta, kad paskambint į chkhsh.sd7.
- Kompiliatorius buvo patobulintas, kad būtų galima palyginti funkcijas su tinkamu prototipu.
Kas naujo versijoje 2013-06-16:
- Dokumentacijos komentarai buvo pridėti ar patobulinti keliuose failuose.
- Žemiau ir aukščiau esančios eilutės .s7i ir char.s7i funkcijos buvo patobulintos, kad būtų naudojamas numatytasis Unicode atvejų atvaizdavimas.
- Gesinimo kompresijos našumas pagerėjo nuo 5 iki 10 kartų.
- Pagerėjo funkcijų str_cmp, str_range, str_substr, strCompare, strRangeSlice, strRange, strSubstrSlice ir strSubstr efektyvumas.
- "chkstr.sd7" buvo pridėti kelių styginių funkcijų testai.
- Kompiliatorius buvo patobulintas, kad būtų įvestas eilučių kodas STR_HASHCODE, STR_RANGE ir STR_SUBSTR.
Komentarai nerastas