Якщо порівняти його з Ada, C / C ++ та Java, мова програмування Seed7 є більш потужною та універсальною, як її розробник описує на веб-сайті проекту. Він здатний перекладати програми на програми C, які потім складаються в машинний код. Завдяки Seed7 функції з параметрами типу та типи результатів стають більш елегантними, ніж концепції або шаблони генериків.
Особливості з першого погляду
Ключові функції включають в себе визначені користувачем оператори та висловлювання, підтримку орієнтації об'єктів (кілька відправлень та інтерфейсів), підтримку вихідного коду для налагодження, підтримка набору типів, підтримка обробки виключень, перевантаження процедур, висловлювань, операторів та функцій як підтримка різноманітних заздалегідь визначених типів, таких як змінні розміри масивів, бітсети, хеші, структури, час, колір, тривалість тощо.
Крім того, Seed7 підтримує типи bigRational та bigInteger для чисел, що дозволяє користувачам легко визначати генерики та шаблони без використання спеціального синтаксису, а також поставляються із заздалегідь визначеними конструкціями, такими як for-loops і масиви. Інша цікава особливість полягає в тому, що програмне забезпечення дозволяє розробникам створювати програми, які є портативними з get-go, без необхідності змінювати вихідний код.
Автоматичне керування пам'яттю
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-statements, дії BIG_MOD (оператор мод) та BIG_MDIV (оператор mdiv).
- Нові функції для відкриття файлів були введені в різні бібліотеки.
- Старі функції все ще підтримуються, але вони застаріли.
- Документаційні коментарі були додані або вдосконалені в різних файлах.
- Додана функція getValue для логічних значень.
Що нового у версії 2014-01-05:
- Додана бібліотека des.s7i з підтримкою шифру DES (Data Encryption Standard).
- До bin32.s7i додано декілька функцій та підтримка для запису значень.
- Було додано нову бібліотеку unicode.s7i з функціями перетворення між кодуваннями Unicode.
- Бібліотека gethttps.s7i була покращена, щоб прийняти посилання на HTTP.
- К chkbig.sd7 додано декілька перевірок.
- Компілятор був покращений, щоб зробити більшу оптимізацію для функцій bigInteger.
- Чек для ключового слова "обмеження" додано до chkccomp.c.
- Покращено продуктивність функцій перетворення UTF-8 до 6%.
Що нового в версії 2013-12-22:
- Послідовні виклики запису в bas7.sd7 об'єднані в окремі виклики запису відповідно writeln.
- До FAQ було додано декілька посилань.
- Типи cardSuit і cardRank, а також функції cardPixmap і cardBackside були додані до бібліотечних карт.s7i.
- Бібліотека cards.s7i була покращена для використання функцій pic_util.s7i.
- Програма carddemo.sd7 була покращена, щоб використовувати нові типи та функції з карт.s7i.
Що нового в версії 2013-12-08:
- Пояснення стосовно того, як Seed7 порівнюється з Java, і елегантний спосіб ініціалізації даних було додано до FAQ.
- Деякі функції були перенесені з 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.
- Функція перетворення зображення pixmap у формат BMP і функція getPixelColor були додані до draw.s7i.
- Всі функції, що використовуються, очищені без параметрів були замінені на чіткі (чорні).
- Продуктивність функції strCLit в str_rtl.c була покращена в 10 разів.
- Покращено функції init_bstri_constants та init_win_constants в s7c.sd7.
- Виправлені орфографічні помилки в декількох файлах.
Що нового в версії 2013-11-10:
- Компілятор та бібліотека виконання були покращені для роботи на Sparc
- 64-розрядні машини під OpenBSD. Дякую, Брайан Каллахан, за
- його підтримка та надання доступу до його 64-розрядної версії Sparc.
- Пояснювальні запитання щодо переносимості були покращені.
- Нова бібліотека cc_conf.s7i була додана. Ця бібліотека керує
- значення конфігурації для компілятора C і часу виконання
- Компілятор був покращений для використання бібліотеки cc_conf.s7i.
- Покращено розділ, присвячений визначенням, використаним у версії .h
- у файлі src / read_me.txt
- Тип rtlGenerictype був перейменований в generictype в
- файли бібліотеки виконання. Тепер бібліотека компілятора та виконання
- обидва використовують загальний тип імені
- Функція checkForLimitedStringLiteralLength, перевірка
- трифракційні послідовності та перевірки наявності 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'). Це покращує
- поведінка під Cygwin
- Функція 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.boolvalue
- відповідно value.enumvalue. Це необхідно для правильної роботи
- на великогабаритних системах
- Перекладач та компілятор були покращені, щоб підтримувати дії
- ACT_EQ і ACT_NE.
Що нового в версії 2013-10-27:
- Бібліотека компілятора та середовища виконання була покращена, щоб підтримувати великогабаритні системи.
- Документація в src / read_me.txt була вдосконалена.
- Бібліотека tls.s7i була вдосконалена, щоб уникнути підвищення винятку, коли віддалена сторона закриває сокет.
- Коментар до документації додано або вдосконалено в декількох вихідних файлах.
- Оптимізовано кілька функцій.
- Функція typNum була покращена, щоб використовувати хешбайт.
- Функції typ_num та typ_str були покращені, щоб викликати typNum відповідно typStr.
- Підтримка дій ACT_ICONV та ACT_ORD була додана до інтерпретатора та компілятора.
Що нового в версії 2013-10-13:
- Додано бібліотеки для підтримки TLS / SSL та HTTPS.
- Оператори порівняння для & lt; (правильне підмножина) і & gt; (відповідний суперсет) були додані до hashsetof.s7i.
- Дайджест типу Alogorithm та функції для нього були додані до msgdigest.s7i.
- Функція hex додана в bytedata.s7i
- Приклад програми castle.sd7 був покращений.
- Коментарі до документації додані до декількох файлів.
- Поліпшення функцій дайджест повідомлення msgdigest.s7i було виправлено.
- Функція getHttp у gethttp.s7i була покращена, щоб використовувати нечутливе порівняння для імен полів HTTP заголовка.
Що нового в версії 2013-09-29:
- Функції bStriLe, bytesLe, bStriBe, and bytes були додані до bytedata.s7i. Ці функції перетворюють ціле число в послідовність байтів.
- Компілятор був покращений для створення вбудованого коду для дії STR_PUSH.
- Ця дія додає символ до рядка (він використовується оператором & amp;: =).
- Функції перетворення були додані до часу.s7i
- Перевірки кількох операторів та функцій додані до chkbig.sd7, chkint.sd7 та chkstr.sd7.
- Функція doLocalDeclsOfStatement додана до компілятора. Ця функція використовується для спрощення обробки різних тверджень.
Що нового в версії 2013-09-08:
- Макетильний файл mk_freebsd.mk був доданий для підтримки комбінації під вільним процесором.
- Функції для перетворення між послідовностями байтів та великими чинниками були додані до bytedata.s7i.
- Функції bytesLeAsInt і bytesBeAsInt були перейменовані на bytesLe2Int і bytesBe2Int.
- Чеки були додані до chkbig.sd7 та chkset.sd7.
- Функція bigRand у big_rtl.c була покращена, щоб уникнути умов, у яких випадкове число не відповідає потрібному діапазону.
- Імена параметрів були додані до декількох файлів.
- Після ініціалізації символів компілятор покращився, використовуючи charvalue замість intvalue.
Що нового в версії 2013-08-20:
- Бібліотека sha1.s7i була перейменована в msgdigest.s7i
- До msgdigest.s7i додано дайджест повідомлення та захищені хеш-функції md4, md5, sha224 та sha256.
- Додано нову бібліотеку propertyfile.s7i, яка визначає функції для читання файлу властивостей у хеш-таблиці.
- Покращено ефективність генератора випадкових чисел.
- Функція bytesLeAsInt була додана до бібліотеки bytedata.s7i.
- У bytedata.s7i функція int64AsBytesBytesLe була перейменована в int64AsEightBytesLe.
- У бібліотеку scanfile.s7i додано варіант функції skipWhiteSpace.
Що нового в версії 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:
- Документаційні коментарі були додані або вдосконалені в декількох файлах.
- Низькі та верхні функції в рядках .s7i та char.s7i були покращені, щоб використовувати типовий картки Unicode.
- Продуктивність компресії з дефляцією була покращена в межах від 5 до 10.
- Покращено продуктивність функцій str_cmp, str_range, str_substr, strCompare, strRangeSlice, strRange, strSubstrSlice і strSubstr.
- До chkstr.sd7 додано тести для декількох рядкових функцій.
- Компілятор був покращений до вбудованого коду для дій STR_HASHCODE, STR_RANGE і STR_SUBSTR.
Коментар не знайдено