En le comparant à Ada, C / C ++ et Java, le langage de programmation Seed7 est plus puissant et polyvalent, comme son développeur le décrit sur le site web du projet. Il est capable de traduire des programmes en applications C, qui sont ensuite compilées en code machine. Avec Seed7, les fonctions avec les paramètres de type et les résultats de type deviennent plus élégants que le concept ou les modèles génériques.
Caractéristiques en un coup d'oeil
Principales caractéristiques: opérateurs et instructions définis par l'utilisateur, prise en charge de l'orientation des objets (répartition et interfaces multiples), prise en charge du débogage du code source, prise en charge de la frappe, gestion des exceptions, surcharges, opérations et fonctions comme support pour divers types prédéfinis, tels que les tableaux redimensionnables, les ensembles de bits, les hachages, les structures, le temps, la couleur, la durée, etc.
De plus, Seed7 prend en charge les types bigRational et bigInteger pour les nombres, permet aux utilisateurs de définir facilement des génériques et des modèles sans utiliser de syntaxe particulière, et comporte des constructions prédéfinies, telles que des boucles et des tableaux. Une autre caractéristique intéressante est que le logiciel permet aux développeurs de créer des programmes portables dès le départ, sans avoir à modifier le code source.
Gestion automatique de la mémoire
Seed7 est également doté d'une fonctionnalité de gestion automatique de la mémoire, qui fonctionne dès le départ sans avoir à utiliser un garbage collector. En outre, le logiciel aide les développeurs à trouver facilement les erreurs lors de la compilation de leurs programmes, grâce à l'absence de moulages automatiques et de vérification de type statique.
OS pris en charge, licences et disponibilité
Seed7 fonctionne sous n'importe quel système d'exploitation GNU / Linux, ainsi que sous différents systèmes d'exploitation UNIX et Microsoft Windows. Il est bon de savoir que pendant que la bibliothèque d'exécution est distribuée sous la licence LGPL, l'interpréteur et les exemples de programmes peuvent être téléchargés avec une licence GPL.
Quoi de neuf cette version:
- Le chapitre du manuel décrivant l'interface de la fonction étrangère a été amélioré.
- La gestion d'Unicode dans la console a été améliorée.
- Toutes les chaînes passées aux fonctions C sont maintenant vérifiées.
- Les performances de plusieurs fonctions d'exécution ont été améliorées.
- De nouvelles fonctions de conversion flexibles ont été ajoutées à bytedata.s7c.
- Des commentaires sur la documentation ont été ajoutés ou améliorés dans plusieurs fichiers.
- Le programme chk_all.sd7 a été amélioré pour vérifier plusieurs options du compilateur.
- Le compilateur a été amélioré pour faire plus d'optimisations.
- Des vérifications ont été ajoutées à chkbig.sd7, chkexc.sd7 et chkflt.sd7.
Quoi de neuf dans la version:
- Le chapitre du manuel décrivant l'interface de la fonction étrangère a été amélioré.
- La gestion d'Unicode dans la console a été améliorée.
- Toutes les chaînes passées aux fonctions C sont maintenant vérifiées.
- Les performances de plusieurs fonctions d'exécution ont été améliorées.
- De nouvelles fonctions de conversion flexibles ont été ajoutées à bytedata.s7c.
- Des commentaires sur la documentation ont été ajoutés ou améliorés dans plusieurs fichiers.
- Le programme chk_all.sd7 a été amélioré pour vérifier plusieurs options du compilateur.
- Le compilateur a été amélioré pour faire plus d'optimisations.
- Des vérifications ont été ajoutées à chkbig.sd7, chkexc.sd7 et chkflt.sd7.
Nouveautés dans la version 2016-04-30:
Nouveau dans Seed7 2014-01-19 (20 janvier 2014)
Nouveautés dans la version 2016-03-30:
- Le chapitre du manuel décrivant l'interface de la fonction étrangère a été amélioré.
- La gestion d'Unicode dans la console a été améliorée.
- Toutes les chaînes passées aux fonctions C sont maintenant vérifiées.
- Les performances de plusieurs fonctions d'exécution ont été améliorées.
- De nouvelles fonctions de conversion flexibles ont été ajoutées à bytedata.s7c.
- Des commentaires sur la documentation ont été ajoutés ou améliorés dans plusieurs fichiers.
- Le programme chk_all.sd7 a été amélioré pour vérifier plusieurs options du compilateur.
- Le compilateur a été amélioré pour faire plus d'optimisations.
- Des vérifications ont été ajoutées à chkbig.sd7, chkexc.sd7 et chkflt.sd7.
Nouveautés dans la version 2016-02-29:
- Le chapitre du manuel décrivant l'interface de la fonction étrangère a été amélioré.
- La gestion d'Unicode dans la console a été améliorée.
- Toutes les chaînes passées aux fonctions C sont maintenant vérifiées.
- Les performances de plusieurs fonctions d'exécution ont été améliorées.
- De nouvelles fonctions de conversion flexibles ont été ajoutées à bytedata.s7c.
- Des commentaires sur la documentation ont été ajoutés ou améliorés dans plusieurs fichiers.
- Le programme chk_all.sd7 a été amélioré pour vérifier plusieurs options du compilateur.
- Le compilateur a été amélioré pour faire plus d'optimisations.
- Des vérifications ont été ajoutées à chkbig.sd7, chkexc.sd7 et chkflt.sd7.
Nouveautés dans la version 2016-01-30:
- Le chapitre du manuel décrivant l'interface de la fonction étrangère a été amélioré.
- La gestion d'Unicode dans la console a été améliorée.
- Toutes les chaînes passées aux fonctions C sont maintenant vérifiées.
- Les performances de plusieurs fonctions d'exécution ont été améliorées.
- De nouvelles fonctions de conversion flexibles ont été ajoutées à bytedata.s7c.
- Des commentaires sur la documentation ont été ajoutés ou améliorés dans plusieurs fichiers.
- Le programme chk_all.sd7 a été amélioré pour vérifier plusieurs options du compilateur.
- Le compilateur a été amélioré pour faire plus d'optimisations.
- Des vérifications ont été ajoutées à chkbig.sd7, chkexc.sd7 et chkflt.sd7.
Nouveautés dans la version 2015-11-29:
- Le chapitre du manuel décrivant l'interface de la fonction étrangère a été amélioré.
- La gestion d'Unicode dans la console a été améliorée.
- Toutes les chaînes passées aux fonctions C sont maintenant vérifiées.
- Les performances de plusieurs fonctions d'exécution ont été améliorées.
- De nouvelles fonctions de conversion flexibles ont été ajoutées à bytedata.s7c.
- Des commentaires sur la documentation ont été ajoutés ou améliorés dans plusieurs fichiers.
- Le programme chk_all.sd7 a été amélioré pour vérifier plusieurs options du compilateur.
- Le compilateur a été amélioré pour faire plus d'optimisations.
- Des vérifications ont été ajoutées à chkbig.sd7, chkexc.sd7 et chkflt.sd7.
Nouveautés dans la version 2015-09-14:
- Le chapitre du manuel décrivant l'interface de la fonction étrangère a été amélioré.
- La gestion d'Unicode dans la console a été améliorée.
- Toutes les chaînes passées aux fonctions C sont maintenant vérifiées.
- Les performances de plusieurs fonctions d'exécution ont été améliorées.
- De nouvelles fonctions de conversion flexibles ont été ajoutées à bytedata.s7c.
- Des commentaires sur la documentation ont été ajoutés ou améliorés dans plusieurs fichiers.
- Le programme chk_all.sd7 a été amélioré pour vérifier plusieurs options du compilateur.
- Le compilateur a été amélioré pour faire plus d'optimisations.
- Des vérifications ont été ajoutées à chkbig.sd7, chkexc.sd7 et chkflt.sd7.
Nouveautés dans la version 2015-07-05:
- Le chapitre du manuel décrivant l'interface de la fonction étrangère a été amélioré.
- La gestion d'Unicode dans la console a été améliorée.
- Toutes les chaînes passées aux fonctions C sont maintenant vérifiées.
- Les performances de plusieurs fonctions d'exécution ont été améliorées.
- De nouvelles fonctions de conversion flexibles ont été ajoutées à bytedata.s7c.
- Des commentaires sur la documentation ont été ajoutés ou améliorés dans plusieurs fichiers.
- Le programme chk_all.sd7 a été amélioré pour vérifier plusieurs options du compilateur.
- Le compilateur a été amélioré pour faire plus d'optimisations.
- Des vérifications ont été ajoutées à chkbig.sd7, chkexc.sd7 et chkflt.sd7.
Nouveautés dans la version 2015-06-01:
- Le chapitre du manuel décrivant l'interface de la fonction étrangère a été amélioré.
- La gestion d'Unicode dans la console a été améliorée.
- Toutes les chaînes passées aux fonctions C sont maintenant vérifiées.
- Les performances de plusieurs fonctions d'exécution ont été améliorées.
- De nouvelles fonctions de conversion flexibles ont été ajoutées à bytedata.s7c.
- Des commentaires sur la documentation ont été ajoutés ou améliorés dans plusieurs fichiers.
- Le programme chk_all.sd7 a été amélioré pour vérifier plusieurs options du compilateur.
- Le compilateur a été amélioré pour faire plus d'optimisations.
- Des vérifications ont été ajoutées à chkbig.sd7, chkexc.sd7 et chkflt.sd7.
Nouveautés dans la version 2015-05-03:
- Le chapitre du manuel décrivant l'interface de la fonction étrangère a été amélioré.
- La gestion d'Unicode dans la console a été améliorée.
- Toutes les chaînes passées aux fonctions C sont maintenant vérifiées.
- Les performances de plusieurs fonctions d'exécution ont été améliorées.
- De nouvelles fonctions de conversion flexibles ont été ajoutées à bytedata.s7c.
- Des commentaires sur la documentation ont été ajoutés ou améliorés dans plusieurs fichiers.
- Le programme chk_all.sd7 a été amélioré pour vérifier plusieurs options du compilateur.
- Le compilateur a été amélioré pour faire plus d'optimisations.
- Des vérifications ont été ajoutées à chkbig.sd7, chkexc.sd7 et chkflt.sd7.
Nouveautés dans la version 2015-02-16:
- Le chapitre du manuel décrivant l'interface de la fonction étrangère a été amélioré.
- La gestion d'Unicode dans la console a été améliorée.
- Toutes les chaînes passées aux fonctions C sont maintenant vérifiées.
- Les performances de plusieurs fonctions d'exécution ont été améliorées.
- De nouvelles fonctions de conversion flexibles ont été ajoutées à bytedata.s7c.
- Des commentaires sur la documentation ont été ajoutés ou améliorés dans plusieurs fichiers.
- Le programme chk_all.sd7 a été amélioré pour vérifier plusieurs options du compilateur.
- Le compilateur a été amélioré pour faire plus d'optimisations.
- Des vérifications ont été ajoutées à chkbig.sd7, chkexc.sd7 et chkflt.sd7.
Nouveautés dans la version 2014-01-19:
- La bibliothèque tdes.s7i avec le support de chiffrement Triple DES a été ajoutée.
- La bibliothèque tls.s7i a été améliorée pour accepter les messages CertificateRequest.
- Les vérifications pour mdiv et mod ont été ajoutées à chkbig.sd7.
- Le compilateur a été amélioré pour faire plus d'optimisations pour les instructions if, l'action BIG_MOD (opérateur mod), et BIG_MDIV (opérateur mdiv).
- De nouvelles fonctions pour ouvrir les fichiers ont été introduites dans diverses bibliothèques.
- Les anciennes fonctions sont toujours supportées, mais elles sont obsolètes.
- Des commentaires sur la documentation ont été ajoutés ou améliorés dans divers fichiers.
- La fonction getValue pour les valeurs booléennes a été ajoutée.
Nouveautés dans la version 2014-01-05:
- La bibliothèque des.s7i avec le support de chiffrement DES (Data Encryption Standard) a été ajouté.
- Plusieurs fonctions et support pour écrire des valeurs ont été ajoutés à bin32.s7i.
- La nouvelle librairie unicode.s7i, avec des fonctions de conversion entre encodages Unicode, a été ajoutée.
- La bibliothèque gethttps.s7i a été améliorée pour accepter les liens vers HTTP.
- Plusieurs vérifications ont été ajoutées à chkbig.sd7.
- Le compilateur a été amélioré pour faire plus d'optimisations pour les fonctions bigInteger.
- Une vérification du mot clé 'restrict' a été ajoutée à chkccomp.c.
- Les performances des fonctions de conversion UTF-8 ont été améliorées jusqu'à 6%.
Nouveautés dans la version 2013-12-22:
- Les appels consécutifs d'écriture dans bas7.sd7 ont été combinés en appels uniques d'écriture respectivement writeln.
- Plusieurs liens ont été ajoutés à la FAQ.
- Les types cardSuit et cardRank ainsi que les fonctions cardPixmap et cardBackside ont été ajoutés à la bibliothèque cards.s7i.
- La bibliothèque cards.s7i a été améliorée pour utiliser les fonctions de pic_util.s7i.
- Le programme carddemo.sd7 a été amélioré pour utiliser les nouveaux types et fonctions de cards.s7i.
Nouveautés dans la version 2013-12-08:
- Des explications sur la façon dont Seed7 se compare à Java et une façon élégante d'initialiser les données ont été ajoutées à la FAQ.
- Plusieurs fonctions ont été déplacées de shell.s7i vers la nouvelle bibliothèque process.s7i.
- La fonction commandPath a été ajoutée à process.s7i.
- Pour corriger une erreur de Windows, le programme chk_all.sd7 a été amélioré pour intercepter une exception.
- Plusieurs images ont été ajoutées ou améliorées dans pic16.s7i et pic32.s7i.
- La fonction cmdPipe2 dans cmd_win.c a été améliorée pour ouvrir stdin et stdout en mode texte.
- La fonction filInputReady a été améliorée pour renvoyer TRUE après un raccrochage.
Nouveautés dans la version 2013-11-24:
- La bibliothèque pic_util.s7i, avec des fonctions d'utilitaire d'image, a été ajoutée.
- Les images cancel_pic, folder_pic et reset_pic ont été ajoutées à pic16.s7i et pic32.s7i.
- Une fonction permettant de convertir une image pixmap au format BMP et la fonction getPixelColor ont été ajoutées à draw.s7i.
- Toutes les utilisations de la fonction clear sans paramètres ont été remplacées par clear (noir).
- Les performances de la fonction strCLit dans str_rtl.c ont été améliorées d'un facteur 10.
- Les fonctions init_bstri_constants et init_win_constants dans s7c.sd7 ont été améliorées.
- Les fautes d'orthographe dans plusieurs fichiers ont été corrigées.
Nouveautés dans la version 2013-11-10:
- Le compilateur et la bibliothèque d'exécution ont été améliorés pour fonctionner sur Sparc
- Machines 64 bits sous OpenBSD. Merci à Brian Callahan, pour
- son support et pour fournir l'accès à sa machine Sparc 64 bits.
- L'explication de la FAQ concernant la portabilité a été améliorée.
- La nouvelle bibliothèque cc_conf.s7i a été ajoutée. Cette bibliothèque gère
- valeurs de configuration pour le compilateur C et l'exécution.
- Le compilateur a été amélioré pour utiliser la bibliothèque cc_conf.s7i.
- Le chapitre sur les définitions utilisées dans version.h a été amélioré
- dans src / read_me.txt.
- Le type rtlGenerictype a été renommé en "generictype" dans le
- fichiers de la bibliothèque d'exécution. Maintenant bibliothèque de compilation et d'exécution
- tous deux utilisent le nom generictype.
- La fonction checkForLimitedStringLiteralLength, une vérification pour
- séquences trigraphiques et vérifie la présence de getrlimit ()
- et siglongjmp () ont été ajoutés à chkccomp.c.
- La fonction setupStack a été ajoutée à cmd_rtl.c. Cette fonction
- essaie d'augmenter la limite de la pile à STACK_SIZE.
- Les utilisations de USE_SIGSETJMP ont été renommées HAS_SIGSETJMP.
- La table key_code a été améliorée dans kbd_inf.c et kbd_poll.c.
- Maintenant, le caractère d'effacement de l'interface du terminal (VERASE) est toujours
- renvoyé comme retour arrière (KEY_BS respectivement '8'). Cela améliore
- le comportement sous Cygwin.
- La fonction utf8_init a été modifiée dans kbd_inf.c et
- kbd_poll.c pour supposer le mode UTF-8 quand aucun environnement de locale
- est définie.
- La fonction msgDigest dans msgdigest.s7i a été modifiée pour utiliser
- in-parameters.
- La fonction configValue a été déplacée de osfiles.s7i à
- cc_conf.s7i.
- La macro REALLOC_STRI_SIZE_SMALLER a été ajoutée à heaputl.h.
- Plusieurs utilisations de REALLOC_STRI_SIZE_OK dans la bibliothèque d'exécution ont
- a été modifié en utilisations de REALLOC_STRI_SIZE_SMALLER.
- Le compilateur a été amélioré pour initialiser boolean et
- éléments d'énumération des structures avec les valeurs value.boolvalue
- respectivement value.enumvalue. Ceci est nécessaire pour fonctionner correctement
- sur les systèmes big-endian.
- L'interpréteur et le compilateur ont été améliorés pour supporter les actions
- ACT_EQ et ACT_NE.
La variable
Nouveautés dans la version 2013-10-27:
- Le compilateur et la bibliothèque d'exécution ont été améliorés pour prendre en charge les systèmes big-endian.
- La documentation de src / read_me.txt a été améliorée.
- La bibliothèque tls.s7i a été améliorée pour éviter de déclencher une exception, lorsque le côté distant ferme le socket.
- Des commentaires sur la documentation ont été ajoutés ou améliorés dans plusieurs fichiers source.
- Plusieurs fonctions ont été optimisées.
- La fonction typNum a été améliorée pour utiliser une hashtable.
- Les fonctions typ_num et typ_str ont été améliorées pour appeler typNum respectivement typStr.
- Prise en charge des actions ACT_ICONV et ACT_ORD ajoutées à l'interpréteur et au compilateur.
Nouveautés dans la version 2013-10-13:
- Des bibliothèques pour le support TLS / SSL et HTTPS ont été ajoutées.
- Opérateurs de comparaison pour & lt; (sous-ensemble approprié) et & gt; (surensemble correct) ont été ajoutés à hashsetof.s7i.
- Le type digestAlgorithm et ses fonctions ont été ajoutés à msgdigest.s7i.
- La fonction hexa été ajoutée à bytedata.s7i.
- L'exemple de programme castle.sd7 a été amélioré.
- Des commentaires sur la documentation ont été ajoutés à plusieurs fichiers.
- Le remplissage dans les fonctions de résumé du message de msgdigest.s7i a été corrigé.
- La fonction getHttp dans gethttp.s7i a été améliorée pour utiliser une comparaison insensible à la casse pour les noms de champs d'en-tête HTTP.
Nouveautés dans la version 2013-09-29:
- Les fonctions bStriLe, bytesLe, bStriBe et bytesBe ont été ajoutées à bytedata.s7i. Ces fonctions convertissent un entier en une séquence d'octets.
- Le compilateur a été amélioré pour générer du code en ligne pour l'action STR_PUSH.
- Cette action ajoute un caractère à une chaîne (il est utilisé par l'opérateur & amp;: =).
- Les fonctions de conversion ont été ajoutées à time.s7i.
- Des vérifications de plusieurs opérateurs et fonctions ont été ajoutées à chkbig.sd7, chkint.sd7 et chkstr.sd7.
- La fonction doLocalDeclsOfStatement a été ajoutée au compilateur. Cette fonction est utilisée pour simplifier le traitement des différentes instructions.
Nouveautés dans la version 2013-09-08:
- Le makefile mk_freebsd.mk a été ajouté pour supporter la compilation sous freeBSD.
- Les fonctions de conversion entre les séquences d'octets et les nombres bigInteger ont été ajoutées à bytedata.s7i.
- Les fonctions bytesLeAsInt et bytesBeAsInt ont été renommées en bytesLe2Int et bytesBe2Int.
- Des vérifications ont été ajoutées à chkbig.sd7 et à chkset.sd7.
- La fonction bigRand dans big_rtl.c a été améliorée pour éviter les conditions dans lesquelles un nombre aléatoire est en dehors de la plage requise.
- Les noms de paramètres ont été ajoutés à plusieurs fichiers.
- Le compilateur a été amélioré pour utiliser charvalue au lieu d'intvalue lorsque les caractères sont initialisés.
Nouveautés dans la version 2013-08-20:
- La bibliothèque sha1.s7i a été renommée en msgdigest.s7i.
- Le résumé du message et les fonctions de hachage sécurisé md4, md5, sha224 et sha256 ont été ajoutés à msgdigest.s7i.
- Une nouvelle bibliothèque propertyfile.s7i qui définit les fonctions de lecture d'un fichier de propriétés dans une table de hachage a été ajoutée.
- La performance du générateur de nombres aléatoires a été améliorée.
- Une fonction bytesLeAsInt a été ajoutée à la bibliothèque bytedata.s7i.
- Dans bytedata.s7i, la fonction int64AsBytesBytesLe a été renommée int64AsEightBytesLe.
- Une variante de la fonction skipWhiteSpace a été ajoutée à la bibliothèque scanfile.s7i.
Nouveautés dans la version 2013-07-22:
- Les erreurs d'orthographe dans chlog.txt, faq.htm et faq.txt ont été corrigées.
- La fonction conText (dans con_win.c) a été améliorée pour fonctionner correctement pour les chaînes longues (lorsque WriteConsoleW échoue).
- Plusieurs fonctions ont été déplacées de drw_win.c vers le nouveau fichier gkb_win.c.
- Les utilisations incorrectes de inIntRange ont été remplacées par un meilleur code dans drw_win.c.
- Dans con_win.c, la table map_key a été améliorée de telle sorte que kbdGetc reconnaisse la clé F12.
- Le programme chk_all.sd7 a été amélioré pour appeler chkhsh.sd7.
- Le compilateur a été amélioré pour générer des fonctions de comparaison avec le prototype correct.
Nouveautés dans la version 2013-06-16:
- Des commentaires sur la documentation ont été ajoutés ou améliorés dans plusieurs fichiers.
- Les fonctions lower et upper de string.s7i et char.s7i ont été améliorées pour utiliser le mappage de cas Unicode par défaut.
- La performance de la compression de dégonflement a été améliorée d'un facteur compris entre 5 et 10.
- Les performances des fonctions str_cmp, str_range, str_substr, strCompare, strRangeSlice, strRange, strSubstrSlice et strSubstr ont été améliorées.
- Des tests pour plusieurs fonctions de chaîne ont été ajoutés à chkstr.sd7.
- Le compilateur a été amélioré en code en ligne pour les actions STR_HASHCODE, STR_RANGE et STR_SUBSTR.
Commentaires non trouvées