Tibbo BASIC и Tibbo C

Иллюстрация: сцепленные шестерёнки с надписями C и BASIC.

Tibbo BASIC и Tibbo C - наши версии классических языков BASIC и C, существующих уже десятилетия. У BASIC появились сотни вариантов, а стандартов, описывающих его возможности, нет (или о них давно забыли). C, а точнее ANSI C, определён довольно жёстко. Классическая книга 1978 года The C Programming Language Брайана Кернигана и Денниса Ритчи по-прежнему продаётся на Amazon, и по ней можно выучить всё необходимое об ANSI C.

Приложения на Tibbo BASIC и C управляются событиями: весь код выполняется в обработчиках событий, которые вызываются в ответ на события. Это называется событийным выполнением.

В Tibbo BASIC и C используется статическая модель памяти: вся оперативная память выделяется при компиляции, кучи нет. Поэтому ситуации «не хватает памяти» не возникнет никогда. Сборка мусора не нужна, и связанных с ней издержек нет. Зато нет и динамического изменения размера структур данных, динамического создания и уничтожения объектов, а также рекурсии и повторно входимых вызовов.

Tibbo BASIC и C «чистые»: средств ввода-вывода в них нет вообще (никаких PRINT, INPUT и т. п.). Вместо этого весь ввод-вывод выполняется через объекты.

Tibbo BASIC и C равноправны. Tibbo BASIC не проще, а Tibbo C не быстрее. Выбор между ними - в основном вопрос личных предпочтений и привычки. Единственное исключение - арифметика указателей: если нужны указатели, придётся использовать Tibbo C.

Tibbo BASIC и C можно смешивать в одном проекте. Например, приложение на Tibbo C может обращаться к библиотеке на Tibbo BASIC. Единственное ограничение: обмениваться данными Tibbo BASIC и C могут только через простые типы переменных (byte, word и т. д.). Массивы и структуры есть и в BASIC, и в C, но реализованы они по-разному. Кроме того, в C есть указатели, а в BASIC их нет.

Tibbo BASIC и Tibbo C поддерживают строки, причём «безопасные»: TiOS следит за тем, чтобы не было переполнений (попыток сохранить в строке больше данных, чем она вмещает). В BASIC строки обычное дело, а вот в стандарт ANSI C они не входят. Тем не менее вы убедитесь, что строки исключительно полезны!

Примеры

Ниже приведены две минимальные программы на Tibbo BASIC и C, чтобы вы почувствовали, как выглядит такой код.

Эти две простые программы увеличивают значение переменной ctr при каждом нажатии кнопки MD на вашем программируемом устройстве Tibbo:

dim ctr as byte         'this is the declaration for a global variable
sub on_button_pressed   'this is the event handler for the ON_BUTTON_PRESSED event
   ctr=ctr+1            'this is how the ctr variable gets incremented
end sub 
unsigned char ctr;
void on_button_pressed(){
   ctr++;
}
Исходный материал Tibbo обновлён 12 сентября 2022Оригинал на docs.tibbo.com · Сообщить об ошибке