Confrontandolo con Ada, C / C ++ e Java, il linguaggio di programmazione Seed7 è più potente e versatile, come lo descrive il suo sviluppatore sul sito Web del progetto. È in grado di tradurre programmi in app C, che vengono poi compilati in codice macchina. Con Seed7, le funzioni con i parametri di tipo e i risultati del tipo diventano più eleganti del concetto o dei modelli generici.
Caratteristiche a colpo d'occhio
Le caratteristiche principali includono operatori e istruzioni definiti dall'utente, supporto per l'orientamento degli oggetti (dispacciamento e interfacce multiple), supporto per il debug del codice sorgente, supporto per la tipizzazione, supporto per la gestione delle eccezioni, sovraccarico di procedure, istruzioni, operatori e funzioni, come supporto per vari tipi predefiniti, come array, bitset, hash, strutture, tempo, colore, durata, ecc. ridimensionabili
Inoltre, Seed7 supporta i tipi bigRational e bigInteger per i numeri, consente agli utenti di definire facilmente generici e modelli senza utilizzare una sintassi speciale e viene fornito con costrutti predefiniti, come for-loops e array. Un'altra caratteristica interessante è che il software consente agli sviluppatori di creare programmi portatili fin dall'inizio, senza dover modificare il codice sorgente.
Gestione automatica della memoria
Seed7 è dotato anche della funzionalità di gestione automatica della memoria, che funziona immediatamente senza dover utilizzare un garbage collector. Inoltre, il software aiuta gli sviluppatori a trovare facilmente errori durante la compilazione dei loro programmi, grazie all'assenza di cast automatici e controllo di tipo statico.
Sistemi operativi, licenze e disponibilità supportati
Seed7 gira sotto qualsiasi sistema operativo GNU / Linux, così come vari sistemi operativi UNIX e Microsoft Windows. È bene sapere che mentre la libreria runtime è distribuita sotto la licenza LGPL, l'interprete e i programmi di esempio sono disponibili per il download con una licenza GPL.
Novità in questa versione:
- Il capitolo manuale che descrive l'interfaccia per le funzioni esterne è stato migliorato.
- La gestione di Unicode nella console è stata migliorata.
- Tutte le stringhe che vengono passate alle funzioni C sono ora controllate.
- Le prestazioni di diverse funzioni di runtime sono state migliorate.
- Nuove funzioni di conversione flessibili sono state aggiunte a bytedata.s7c.
- I commenti della documentazione sono stati aggiunti o migliorati in diversi file.
- Il programma chk_all.sd7 è stato migliorato per controllare diverse opzioni del compilatore.
- Il compilatore è stato migliorato per fare più ottimizzazioni.
- I controlli sono stati aggiunti a chkbig.sd7, chkexc.sd7 e chkflt.sd7.
Novità della versione nella versione:
- Il capitolo del manuale che descrive l'interfaccia per le funzioni esterne è stato migliorato.
- La gestione di Unicode nella console è stata migliorata.
- Tutte le stringhe che vengono passate alle funzioni C sono ora controllate.
- Le prestazioni di diverse funzioni di runtime sono state migliorate.
- Nuove funzioni di conversione flessibili sono state aggiunte a bytedata.s7c.
- I commenti della documentazione sono stati aggiunti o migliorati in diversi file.
- Il programma chk_all.sd7 è stato migliorato per controllare diverse opzioni del compilatore.
- Il compilatore è stato migliorato per fare più ottimizzazioni.
- I controlli sono stati aggiunti a chkbig.sd7, chkexc.sd7 e chkflt.sd7.
Novità della versione nella versione 2016-04-30:
Novità di Seed7 2014-01-19 (20 gennaio 2014)
Novità della versione nella versione 2016-03-30:
- Il capitolo del manuale che descrive l'interfaccia per le funzioni esterne è stato migliorato.
- La gestione di Unicode nella console è stata migliorata.
- Tutte le stringhe che vengono passate alle funzioni C sono ora controllate.
- Le prestazioni di diverse funzioni di runtime sono state migliorate.
- Nuove funzioni di conversione flessibili sono state aggiunte a bytedata.s7c.
- I commenti della documentazione sono stati aggiunti o migliorati in diversi file.
- Il programma chk_all.sd7 è stato migliorato per controllare diverse opzioni del compilatore.
- Il compilatore è stato migliorato per fare più ottimizzazioni.
- I controlli sono stati aggiunti a chkbig.sd7, chkexc.sd7 e chkflt.sd7.
Novità della versione nella versione 2016-02-29:
- Il capitolo del manuale che descrive l'interfaccia per le funzioni esterne è stato migliorato.
- La gestione di Unicode nella console è stata migliorata.
- Tutte le stringhe che vengono passate alle funzioni C sono ora controllate.
- Le prestazioni di diverse funzioni di runtime sono state migliorate.
- Nuove funzioni di conversione flessibili sono state aggiunte a bytedata.s7c.
- I commenti della documentazione sono stati aggiunti o migliorati in diversi file.
- Il programma chk_all.sd7 è stato migliorato per controllare diverse opzioni del compilatore.
- Il compilatore è stato migliorato per fare più ottimizzazioni.
- I controlli sono stati aggiunti a chkbig.sd7, chkexc.sd7 e chkflt.sd7.
Novità della versione nella versione 2016-01-30:
- Il capitolo del manuale che descrive l'interfaccia per le funzioni esterne è stato migliorato.
- La gestione di Unicode nella console è stata migliorata.
- Tutte le stringhe che vengono passate alle funzioni C sono ora controllate.
- Le prestazioni di diverse funzioni di runtime sono state migliorate.
- Nuove funzioni di conversione flessibili sono state aggiunte a bytedata.s7c.
- I commenti della documentazione sono stati aggiunti o migliorati in diversi file.
- Il programma chk_all.sd7 è stato migliorato per controllare diverse opzioni del compilatore.
- Il compilatore è stato migliorato per fare più ottimizzazioni.
- I controlli sono stati aggiunti a chkbig.sd7, chkexc.sd7 e chkflt.sd7.
Novità della versione nella versione 2015-11-29:
- Il capitolo del manuale che descrive l'interfaccia per le funzioni esterne è stato migliorato.
- La gestione di Unicode nella console è stata migliorata.
- Tutte le stringhe che vengono passate alle funzioni C sono ora controllate.
- Le prestazioni di diverse funzioni di runtime sono state migliorate.
- Nuove funzioni di conversione flessibili sono state aggiunte a bytedata.s7c.
- I commenti della documentazione sono stati aggiunti o migliorati in diversi file.
- Il programma chk_all.sd7 è stato migliorato per controllare diverse opzioni del compilatore.
- Il compilatore è stato migliorato per fare più ottimizzazioni.
- I controlli sono stati aggiunti a chkbig.sd7, chkexc.sd7 e chkflt.sd7.
Novità in nella versione 2015-09-14:
- Il capitolo del manuale che descrive l'interfaccia per le funzioni esterne è stato migliorato.
- La gestione di Unicode nella console è stata migliorata.
- Tutte le stringhe che vengono passate alle funzioni C sono ora controllate.
- Le prestazioni di diverse funzioni di runtime sono state migliorate.
- Nuove funzioni di conversione flessibili sono state aggiunte a bytedata.s7c.
- I commenti della documentazione sono stati aggiunti o migliorati in diversi file.
- Il programma chk_all.sd7 è stato migliorato per controllare diverse opzioni del compilatore.
- Il compilatore è stato migliorato per fare più ottimizzazioni.
- I controlli sono stati aggiunti a chkbig.sd7, chkexc.sd7 e chkflt.sd7.
Novità della versione nella versione 2015-07-05:
- Il capitolo del manuale che descrive l'interfaccia per le funzioni esterne è stato migliorato.
- La gestione di Unicode nella console è stata migliorata.
- Tutte le stringhe che vengono passate alle funzioni C sono ora controllate.
- Le prestazioni di diverse funzioni di runtime sono state migliorate.
- Nuove funzioni di conversione flessibili sono state aggiunte a bytedata.s7c.
- I commenti della documentazione sono stati aggiunti o migliorati in diversi file.
- Il programma chk_all.sd7 è stato migliorato per controllare diverse opzioni del compilatore.
- Il compilatore è stato migliorato per fare più ottimizzazioni.
- I controlli sono stati aggiunti a chkbig.sd7, chkexc.sd7 e chkflt.sd7.
Novità in nella versione 2015-06-01:
- Il capitolo del manuale che descrive l'interfaccia per le funzioni esterne è stato migliorato.
- La gestione di Unicode nella console è stata migliorata.
- Tutte le stringhe che vengono passate alle funzioni C sono ora controllate.
- Le prestazioni di diverse funzioni di runtime sono state migliorate.
- Nuove funzioni di conversione flessibili sono state aggiunte a bytedata.s7c.
- I commenti della documentazione sono stati aggiunti o migliorati in diversi file.
- Il programma chk_all.sd7 è stato migliorato per controllare diverse opzioni del compilatore.
- Il compilatore è stato migliorato per fare più ottimizzazioni.
- I controlli sono stati aggiunti a chkbig.sd7, chkexc.sd7 e chkflt.sd7.
Novità della versione nella versione 2015-05-03:
- Il capitolo del manuale che descrive l'interfaccia per le funzioni esterne è stato migliorato.
- La gestione di Unicode nella console è stata migliorata.
- Tutte le stringhe che vengono passate alle funzioni C sono ora controllate.
- Le prestazioni di diverse funzioni di runtime sono state migliorate.
- Nuove funzioni di conversione flessibili sono state aggiunte a bytedata.s7c.
- I commenti della documentazione sono stati aggiunti o migliorati in diversi file.
- Il programma chk_all.sd7 è stato migliorato per controllare diverse opzioni del compilatore.
- Il compilatore è stato migliorato per fare più ottimizzazioni.
- I controlli sono stati aggiunti a chkbig.sd7, chkexc.sd7 e chkflt.sd7.
Novità della versione nella versione 2015-02-16:
- Il capitolo del manuale che descrive l'interfaccia per le funzioni esterne è stato migliorato.
- La gestione di Unicode nella console è stata migliorata.
- Tutte le stringhe che vengono passate alle funzioni C sono ora controllate.
- Le prestazioni di diverse funzioni di runtime sono state migliorate.
- Nuove funzioni di conversione flessibili sono state aggiunte a bytedata.s7c.
- I commenti della documentazione sono stati aggiunti o migliorati in diversi file.
- Il programma chk_all.sd7 è stato migliorato per controllare diverse opzioni del compilatore.
- Il compilatore è stato migliorato per fare più ottimizzazioni.
- I controlli sono stati aggiunti a chkbig.sd7, chkexc.sd7 e chkflt.sd7.
Novità nella versione 2014-01-19:
- È stata aggiunta la libreria tdes.s7i con il supporto per la crittografia Triple DES.
- La libreria tls.s7i è stata migliorata per accettare i messaggi CertificateRequest.
- I controlli per mdiv e mod sono stati aggiunti a chkbig.sd7.
- Il compilatore è stato migliorato per fare più ottimizzazioni per le if-statement, l'azione BIG_MOD (operatore mod) e BIG_MDIV (operatore mdiv).
- Sono state introdotte nuove funzioni per aprire i file in varie librerie.
- Le vecchie funzioni sono ancora supportate, ma sono deprecate.
- I commenti della documentazione sono stati aggiunti o migliorati in vari file.
- È stata aggiunta la funzione getValue per i valori booleani
Novità della versione nella versione 2014-01-05:
- È stata aggiunta la libreria des.s7i con supporto di crittografia DES (Data Encryption Standard).
- Diverse funzioni e supporto per scrivere valori sono stati aggiunti a bin32.s7i.
- È stata aggiunta la nuova libreria unicode.s7i, con funzioni per la conversione tra codifiche Unicode.
- La libreria gethttps.s7i è stata migliorata per accettare i collegamenti a HTTP.
- Diversi controlli sono stati aggiunti a chkbig.sd7.
- Il compilatore è stato migliorato per fare più ottimizzazioni per le funzioni bigInteger.
- È stato aggiunto un controllo per la parola chiave "restrict" su chkccomp.c.
- Le prestazioni delle funzioni di conversione UTF-8 sono state migliorate fino al 6%.
Novità della versione nella versione 2013-12-22:
- Le chiamate consecutive di write in bas7.sd7 sono state combinate in singole chiamate di write rispettivamente writeln.
- Diversi link sono stati aggiunti alle FAQ.
- I tipi cardSuit e cardRank e le funzioni cardPixmap e cardBackside sono stati aggiunti alle schede della biblioteca.s7i.
- La libreria cards.s7i è stata migliorata per utilizzare le funzioni da pic_util.s7i.
- Il programma carddemo.sd7 è stato migliorato per utilizzare i nuovi tipi e funzioni di cards.s7i.
Novità della versione nella versione 2013-12-08:
- Spiegazioni su come Seed7 si confronta con Java e un modo elegante per inizializzare i dati sono state aggiunte alle FAQ.
- Diverse funzioni sono state spostate da shell.s7i alla nuova libreria process.s7i.
- La funzione commandPath è stata aggiunta a process.s7i.
- Come correzione di un errore di Windows, il programma chk_all.sd7 è stato migliorato per rilevare un'eccezione.
- Diverse immagini sono state aggiunte o migliorate in pic16.s7i e pic32.s7i.
- La funzione cmdPipe2 in cmd_win.c è stata migliorata per aprire stdin e stdout in modalità testo.
- La funzione filInputReady è stata migliorata per restituire VERO dopo un hang up.
Novità della versione nella versione 2013-11-24:
- È stata aggiunta la libreria pic_util.s7i, con funzioni di utilità per le immagini.
- Le immagini cancel_pic, folder_pic e reset_pic sono state aggiunte a pic16.s7i e pic32.s7i.
- Una funzione per convertire un'immagine pixmap in formato BMP e la funzione getPixelColor sono stati aggiunti a draw.s7i.
- Tutti gli usi della funzione chiara senza parametri sono stati sostituiti con clear (nero).
- Le prestazioni della funzione strCLit in str_rtl.c sono state migliorate di un fattore 10.
- Le funzioni init_bstri_constants e init_win_constants in s7c.sd7 sono state migliorate.
- Errori di ortografia in diversi file sono stati corretti.
Novità della versione nella versione 2013-11-10:
- Il compilatore e la libreria di runtime sono stati migliorati per funzionare su Sparc
- macchine a 64 bit con OpenBSD. Grazie a Brian Callahan, per
- il suo supporto e per fornire l'accesso alla sua macchina Sparc 64-bit.
- La spiegazione della FAQ relativa alla portabilità è stata migliorata.
- È stata aggiunta la nuova libreria cc_conf.s7i. Questa libreria gestisce
- valori di configurazione per il compilatore C e il runtime.
- Il compilatore è stato migliorato per usare la libreria cc_conf.s7i.
- Il capitolo sulle definizioni utilizzate in version.h è stato migliorato
- in src / read_me.txt.
- Il tipo rtlGenerictype è stato rinominato in generictype in
- file della libreria runtime. Ora compilatore e libreria di runtime
- usano entrambi il nome generictype.
- La funzione checkForLimitedStringLiteralLength, un controllo per
- sequenze di trigraph e verifica la presenza di getrlimit ()
- e siglongjmp () sono stati aggiunti a chkccomp.c.
- La funzione setupStack è stata aggiunta a cmd_rtl.c. Questa funzione
- cerca di aumentare il limite dello stack su STACK_SIZE.
- Gli usi di USE_SIGSETJMP sono stati rinominati in HAS_SIGSETJMP.
- La tabella key_code è stata migliorata in kbd_inf.c e kbd_poll.c.
- Ora il carattere cancellato dell'interfaccia terminale (VERASE) è sempre
- restituito come backspace (KEY_BS rispettivamente '8'). Questo migliora
- il comportamento in Cygwin.
- La funzione utf8_init è stata cambiata in kbd_inf.c e
- kbd_poll.c per assumere la modalità UTF-8 quando non ci sono ambienti locali
- è impostata.
- La funzione msgDigest in msgdigest.s7i è stata modificata per utilizzare
- in-parametri.
- La funzione configValue è stata spostata da osfiles.s7i a
- cc_conf.s7i.
- La macro REALLOC_STRI_SIZE_SMALLER è stata aggiunta a heaputl.h.
- Diversi usi di REALLOC_STRI_SIZE_OK nella libreria di runtime hanno
- stato modificato in usi di REALLOC_STRI_SIZE_SMALLER.
- Il compilatore è stato migliorato per inizializzare booleano e
- elementi di enumerazione delle strutture con i valori value.boolvalue
- rispettivamente valore.enumvalue. Questo è necessario per funzionare correttamente
- sui sistemi big-endian.
- Interprete e compilatore sono stati migliorati per supportare le azioni
- ACT_EQ e ACT_NE.
la variabile
Novità della versione nella versione 2013-10-27:
- Il compilatore e la libreria di runtime sono stati migliorati per supportare i sistemi big-endian.
- La documentazione in src / read_me.txt è stata migliorata.
- La libreria tls.s7i è stata migliorata per evitare di generare un'eccezione, quando il lato remoto chiude il socket.
- I commenti della documentazione sono stati aggiunti o migliorati in diversi file sorgente.
- Sono state ottimizzate diverse funzioni.
- La funzione typNum è stata migliorata per utilizzare un hashtable.
- Le funzioni typ_num e typ_str sono state migliorate per chiamare typNum rispettivamente typStr.
- Supporto per le azioni ACT_ICONV e ACT_ORD è stato aggiunto all'interprete e al compilatore.
Novità della versione nella versione 2013-10-13:
- Sono state aggiunte librerie per il supporto TLS / SSL e HTTPS.
- Operatori di confronto per & lt; (sottoinsieme appropriato) e & gt; (appropriato superset) sono stati aggiunti a hashsetof.s7i.
- Il tipo digestAlgorithm e le sue funzioni sono stati aggiunti a msgdigest.s7i.
- L'esagono di funzione è stato aggiunto a bytedata.s7i.
- Il programma di esempio castle.sd7 è stato migliorato.
- I commenti della documentazione sono stati aggiunti a diversi file.
- Il padding nelle funzioni di digest del messaggio di msgdigest.s7i è stato corretto.
- La funzione getHttp in gethttp.s7i è stata migliorata per utilizzare un confronto senza distinzione tra maiuscole e minuscole per i nomi dei campi di intestazione HTTP.
Novità della versione nella versione 2013-09-29:
- Le funzioni bStriLe, bytesLe, bStriBe e bytesBe sono state aggiunte a bytedata.s7i. Queste funzioni convertono un numero intero in una sequenza di byte.
- Il compilatore è stato migliorato per generare codice inline per l'azione STR_PUSH.
- Questa azione aggiunge un carattere a una stringa (viene utilizzato dall'operatore & amp;: =).
- Le funzioni di conversione sono state aggiunte a time.s7i.
- Sono stati aggiunti controlli per diversi operatori e funzioni a chkbig.sd7, chkint.sd7 e chkstr.sd7.
- La funzione doLocalDeclsOfStatement è stata aggiunta al compilatore. Questa funzione viene utilizzata per semplificare l'elaborazione di varie istruzioni.
Novità della versione nella versione 2013-09-08:
- Il makefile mk_freebsd.mk è stato aggiunto per supportare la compilazione in freeBSD.
- Le funzioni per convertire tra sequenze di byte e numeri bigInteger sono state aggiunte a bytedata.s7i.
- Le funzioni byteLeAsInt e byteBeAsInt sono state ridenominate in byteLe2Int e byteBe2Int.
- I controlli sono stati aggiunti a chkbig.sd7 e chkset.sd7.
- La funzione bigRand in big_rtl.c è stata migliorata per evitare condizioni in cui un numero casuale si trova al di fuori dell'intervallo richiesto.
- I nomi dei parametri sono stati aggiunti a diversi file.
- Il compilatore è stato migliorato per usare charvalue invece di intvalue quando i caratteri sono inizializzati.
Novità nella versione 2013-08-20:
- La libreria sha1.s7i è stata rinominata in msgdigest.s7i.
- Il digest del messaggio e le funzioni di sicurezza hash md4, md5, sha224 e sha256 sono stati aggiunti a msgdigest.s7i.
- È stata aggiunta una nuova libreria propertyfile.s7i che definisce le funzioni per la lettura di un file di proprietà in una tabella hash.
- Le prestazioni del generatore di numeri casuali sono state migliorate.
- Una funzione bytes LeAsInt è stata aggiunta alla libreria bytedata.s7i.
- In bytedata.s7i, la funzione int64AsBytesBytesLe è stata rinominata in int64AsEightBytesLe.
- Una variante della funzione skipWhiteSpace è stata aggiunta alla libreria scanfile.s7i.
Novità della versione nella versione 2013-07-22:
- Errori di ortografia in chlog.txt, faq.htm e faq.txt sono stati corretti.
- La funzione conText (in con_win.c) è stata migliorata per funzionare correttamente per stringhe lunghe (quando WriteConsoleW fallirebbe).
- Diverse funzioni sono state spostate da drw_win.c al nuovo file gkb_win.c.
- Usi errati di inIntRange sono stati sostituiti con codice migliore in drw_win.c.
- In con_win.c, la tabella map_key è stata migliorata in modo tale che kbdGetc riconosca la chiave F12.
- Il programma chk_all.sd7 è stato migliorato per chiamare chkhsh.sd7.
- Il compilatore è stato migliorato per generare funzioni di confronto con il prototipo corretto.
Novità nella versione 2013-06-16:
- I commenti della documentazione sono stati aggiunti o migliorati in diversi file.
- Le funzioni lower e upper in string.s7i e char.s7i sono state migliorate per utilizzare la mappatura case Unicode predefinita.
- Le prestazioni della compressione di deflate sono state migliorate di un fattore compreso tra 5 e 10.
- Le prestazioni delle funzioni str_cmp, str_range, str_substr, strCompare, strRangeSlice, strRange, strSubstrSlice e strSubstr sono state migliorate.
- I test per diverse funzioni stringa sono stati aggiunti a chkstr.sd7.
- Il compilatore è stato migliorato per il codice inline per le azioni STR_HASHCODE, STR_RANGE e STR_SUBSTR.
I commenti non trovato