بمقارنة ذلك مع Ada و C / C ++ و Java ، فإن لغة برمجة Seed7 أكثر قوة وتنوعا ، حيث يصفها مطورها على موقع المشروع. إنها قادرة على ترجمة البرامج إلى تطبيقات C ، والتي يتم تجميعها بعد ذلك في كود الآلة. مع Seed7 ، تصبح الوظائف ذات معلمات الكتابة ونوع النتائج أكثر أناقة من مفهوم أو قوالب الأدوية.
الميزات في لمحة
تتضمن الميزات الأساسية المشغلين والبيانات التي يحددها المستخدم ، ودعم اتجاه الكائن (إرسال وواجهات متعددة) ، ودعم تصحيح أخطاء التعليمات البرمجية المصدر ، ودعم الطباعة القوي ، ودعم معالجة الاستثناءات ، والحمل الزائد للإجراءات ، والبيانات ، والمشغلين والوظائف ، بالإضافة إلى كدعم لمختلف الأنواع المحددة مسبقًا ، مثل المصفوفات التي يمكن تغيير حجمها ، و bitsets ، و hashes ، والبنى ، والوقت ، واللون ، والمدة ، وما إلى ذلك.
بالإضافة إلى ذلك ، تدعم Seed7 أنواع bigRational و bigInteger للأرقام ، وتسمح للمستخدمين بتعريف الأدوية والقوالب بسهولة دون استخدام بنية خاصة ، كما أنها تأتي مع بنيات محددة مسبقًا ، مثل for-loops و arrays. ميزة أخرى مثيرة للاهتمام هي أن البرنامج يسمح للمطورين بإنشاء برامج محمولة من وقت البدء ، دون الحاجة إلى تعديل شفرة المصدر.
إدارة الذاكرة التلقائية
تأتي 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 (20 يناير 2014)
الجديد في الإصدار 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:
تمت إضافة مكتبة tdes.s7i مع دعم تشفير ثلاثي DES.
تم تحسين مكتبة tls.s7i لقبول رسائل CertificateRequest.
تمت إضافة الشيكات لـ mdiv و mod إلى chkbig.sd7.
تم تحسين المحول البرمجي لإجراء تحسينات أكثر لبيانات if ، والإجراء BIG_MOD (mod عامل التشغيل) ، و BIG_MDIV (مشغل mdiv).
تم إدخال وظائف جديدة لفتح الملفات في مكتبات مختلفة.
لا تزال الوظائف القديمة مدعومة ، ولكن يتم إيقافها.
تمت إضافة تعليقات الوثائق أو تحسينها في ملفات متعددة.
تمت إضافة الدالة getValue للقيم المنطقية.
ما هو الجديد في الإصدار 2014-01-05:
تمت إضافة مكتبة des.s7i مع DES (معيار تشفير البيانات) الدعم.
تمت إضافة العديد من الوظائف والدعم لكتابة القيم إلى bin32.s7i.
تمت إضافة مكتبة unicode.s7i الجديدة ، مع وظائف للتحويل بين ترميز Unicode.
تم تحسين مكتبة gethttps.s7i لقبول الارتباطات إلى HTTP.
تمت إضافة عدة شيكات إلى chkbig.sd7.
تم تحسين المحول البرمجي لإجراء تحسينات أكثر لوظائف bigInteger.
تمت إضافة تدقيق للكلمة الرئيسية "تقييد" إلى chkccomp.c.
تم تحسين أداء وظائف تحويل UTF-8 بنسبة تصل إلى 6٪.
ما هو الجديد في الإصدار 2013-12-22:
تم الجمع بين المكالمات المتتالية من الكتابة في bas7.sd7 في مكالمات واحدة من الكتابة على التوالي writeln.
تمت إضافة العديد من الروابط إلى الأسئلة الشائعة.
تم إضافة أنواع البطاقات بطاقة و CardRank وبطاقة الوظائف Pixmap و 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.
تم تحسين الدالة cmdPipe2 في cmd_win.c لفتح stdin و stdout في وضع النص.
تم تحسين الدالة filInputReady لإرجاع TRUE بعد تعليق.
الجديد في الإصدار 2013-11-24:
تمت إضافة مكتبة pic_util.s7i ، مع وظائف الأداة المساعدة للصورة.
تمت إضافة الصور cancel_pic و folder_pic و reset_pic إلى pic16.s7i و pic32.s7i.
تم إضافة وظيفة لتحويل صورة بيكسابيل إلى صيغة BMP والوظيفة getPixelColor إلى draw.s7i.
تم استبدال جميع استخدامات الدالة بدون معلمات بوضوح (أسود).
تم تحسين أداء الدالة strCLit في str_rtl.c بواسطة عامل 10.
تم تحسين الدالتين init_bstri_constants و init_win_constants في s7c.sd7.
تم تصحيح الأخطاء الإملائية في عدة ملفات.
الجديد في الإصدار 2013-11-10:
تم تحسين مكتبة مترجم ووقت التشغيل للعمل على Sparcأجهزة 64 بت تحت OpenBSD. شكرا لك يا براين كالاهان
دعمه وتوفير الوصول إلى جهازه Sparc 64 بت.
لقد تم تحسين شرح الأسئلة الشائعة بشأن قابلية النقل.
تمت إضافة cc_conf.s7i للمكتبة الجديدة. تدير هذه المكتبة
قيم التكوين المترجم C ووقت التشغيل.
تم تحسين المحول البرمجي لاستخدام المكتبة cc_conf.s7i.
تم تحسين الفصل حول تعريفات المستخدمة في version.h
في src / read_me.txt.
تمت إعادة تسمية نوع rtlGenerictype إلى generictype في
ملفات مكتبة وقت التشغيل. الآن مترجم ومكتبة وقت التشغيل
كلاهما استخدام اسم generictype.
وظيفة checkForLimitedStringLiteralLength ، شيك
تسلسلات trigraph والشيكات عن وجود getrlimit ()
تمت إضافة siglongjmp () إلى chkccomp.c.
تمت إضافة وظيفة setupStack إلى cmd_rtl.c. هذه الوظيفة
يحاول رفع حد الكومة إلى STACK_SIZE.
تمت إعادة تسمية استخدامات USE_SIGSETJMP إلى HAS_SIGSETJMP.
تم تحسين key_code الجدول في kbd_inf.c و kbd_poll.c.
الآن هو مسح مسح واجهة المحطة الطرفية (VERASE)
عاد كما backspace (KEY_BS على التوالي "8"). هذا يحسن
السلوك تحت سيغوين.
تم تغيير الوظيفة utf8_init في kbd_inf.c و
kbd_poll.c لتتولى وضع UTF-8 عند عدم وجود بيئة محلية
تم تعيين متغير.
تم تغيير msgDigest الدالة في msgdigest.s7i لاستخدامه
في المعلمات.
تم نقل configValue الوظيفة من osfiles.s7i إلى
cc_conf.s7i.
تمت إضافة الماكرو REALLOC_STRI_SIZE_SMALLER إلى heaputl.h.
استخدامات متعددة من REALLOC_STRI_SIZE_OK في مكتبة وقت التشغيل
تم تغييرها إلى استخدامات REALLOC_STRI_SIZE_SMALLER.
وقد تم تحسين المجمع لتهيئة المنطقية و
عناصر التعداد للبنى مع قيمة القيم
value.enumvalue على التوالي. هذا ضروري للعمل بشكل صحيح
على الأنظمة الكبيرة.
تم تحسين مترجم ومترجم لدعم الإجراءات
ACT_EQ و ACT_NE.
ما هو الجديد في الإصدار 2013-10-27:
تم تحسين مكتبة برنامج التحويل البرمجي و وقت التشغيل لدعم الأنظمة ذات النهاية الكبيرة.
تم تحسين الوثائق في src / read_me.txt.
تم تحسين مكتبة tls.s7i لتجنب رفع استثناء ، عندما يغلق الجانب البعيد المقبس.
تمت إضافة تعليقات الوثائق أو تحسينها في العديد من ملفات المصدر.
تم تحسين العديد من الوظائف.
تم تحسين وظيفة typNum لاستخدام hashtable.
تم تحسين وظائف typ_num و typ_str لاستدعاء typNum typStr على التوالي.
تمت إضافة دعم الإجراءات ACT_ICONV و ACT_ORD إلى مترجم ومترجم.
ما هو الجديد في الإصدار 2013-10-13:
تمت إضافة المكتبات لدعم TLS / SSL و HTTPS.
مشغلات مقارنة لـ & lt؛ (مجموعة فرعية صحيحة) و & GT. تمت إضافة (superset المناسبة) إلى hashsetof.s7i.
تمت إضافة digestAlgorithm والوظائف الخاصة به إلى msgdigest.s7i.
تمت إضافة hex الدالة إلى bytedata.s7i.
وقد تم تحسين برنامج المثال castle.sd7.
تمت إضافة تعليقات التوثيق إلى عدة ملفات.
تم تصحيح الحشو في وظائف خلاصة الرسالة msgdigest.s7i.
تم تحسين وظيفة getHttp في gethttp.s7i لاستخدام مقارنة غير حساسة لحالة الأحرف لأسماء حقول رأس HTTP.
ما هو الجديد في الإصدار 2013-09-29:
تم إضافة الدالات bStriLe و bytesLe و bStriBe و bytesBe إلى bytedata.s7i. هذه الدالات تحويل عدد صحيح إلى تسلسل البايت.
تم تحسين المحول البرمجي لإنشاء رمز مضمّنة للعمل STR_PUSH.
يضيف هذا الإجراء حرفًا إلى سلسلة (يتم استخدامه بواسطة المشغل & amp؛: =).
تمت إضافة وظائف التحويل إلى time.s7i.
تمت إضافة عمليات التحقق للعديد من عوامل التشغيل والوظائف إلى chkbig.sd7 و chkint.sd7 و chkstr.sd7.
تمت إضافة الدالة doLocalDeclsOfStatement إلى المحول البرمجي. يتم استخدام هذه الوظيفة لتبسيط معالجة عبارات مختلفة.
ما هو الجديد في الإصدار 2013-09-08:
تمت إضافة makefile mk_freebsd.mk لدعم تجميع تحت freeBSD.
تم إضافة وظائف للتحويل بين تسلسلات البايت وأرقام bigInteger إلى bytedata.s7i.
تم إعادة تسمية الدالات bytesLeAsInt و bytesBeAsInt إلى bytesLe2Int و bytesBe2Int.
تمت إضافة الشيكات إلى chkbig.sd7 و chkset.sd7.
تم تحسين الدالة bigRand في big_rtl.c لتجنب الظروف التي يكون فيها الرقم العشوائي خارج النطاق المطلوب.
تمت إضافة أسماء المعلمات إلى عدة ملفات.
تم تحسين المحول البرمجي لاستخدام charvalue بدلاً من intvalue عند تهيئة الأحرف.
ما هو الجديد في الإصدار 2013-08-20:
تمت إعادة تسمية المكتبة sha1.s7i إلى msgdigest.s7i.
تمت إضافة ملخص الرسالة ووظائف تجزئة آمنة md4 و md5 و sha224 و sha256 إلى msgdigest.s7i.
تمت إضافة مكتبة propertyfile.s7i جديدة تحدد وظائف قراءة ملف خاصية إلى جدول تجزئة.
تم تحسين أداء مولد الأرقام العشوائية.
تمت إضافة وظيفة bytesLeAsInt إلى مكتبة bytedata.s7i.
في 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 لاستخدام تعيين حالة Unicode الافتراضي.
تم تحسين أداء ضغط deflate بواسطة عامل بين 5 و 10.
تم تحسين أداء الدالات str_cmp و str_range و str_substr و strCompare و strRangeSlice و strRange و strSubstrSlice و strSubstr.
تم إضافة اختبارات لعدة وظائف سلسلة إلى chkstr.sd7.
تم تحسين المحول البرمجي إلى رمز مضمّن للإجراءات STR_HASHCODE و STR_RANGE و STR_SUBSTR.
لم يتم العثور على التعليقات