Фокал
Фокал ("Focal", акроним от ) — интерпретируемый язык программирования высокого уровня, переработка языка JOSS.

Наибольший вклад в разработку языка внёс , один из ключевых разработчиков DEC PDP-8, создавший изначальный (в 1968 году) и классический (FOCAL-69) интерпретаторы Фокала для PDP-8. Компания DEC позиционировала Фокал как «язык типа JOSS».

Как и ранние версии Бейсика (который появился через 7 лет), интерпретатор Фокала сам обеспечивал всё необходимое программное окружение и не нуждался в операционной системе.

Фокал крайне нетребователен к ресурсам. Так, он работал на самых простых вариантах PDP-8 (в том числе на системах без устройств хранения). Многопользовательские варианты интерпретатора поддерживали одновременную работу до четырёх пользователей на телетайпных терминалах. Позднее были созданы реализации для PDP-7/9 и PDP-11.

Компания Coca-Cola использовала внутри фирмы доработанную версию Фокала, под названием COKE.

Из советских компьютеров Фокал существовал на Электронике БК-0010/0011 и ДВК встроенный в ПЗУ (в поздних моделях БК — доступный на картридже). Были также доступны расширения Фокала для этих машин, написанные различными энтузиастами.
Расширения содержали разнообразные дополнительные команды и функции для работы с графикой, звуком, запуска двоичных программ, обработки строк и пр.

Существенно расширенная версия языка использовалась в качестве включающего языка в ДИАСП — Диалоговой системе проектирования — специализированной САПР, предназначенной для целей микроэлектроники.

В 1990-е годы энтузиастами была предпринята попытка переноса Фокала на IBM PC (Turbo Focal), но она не вышла из стадии бета-версии, которая распространялась по каналам BBS.

Работоспособность публично доступной в исходных текстах версии Focal-81 была успешно протестирована на следующих платформах и компиляторах:

* Sun SPARC
** gcc 2.6.3 (ANSI C) и Sun cc (K&R C), под SunOS 4.1.3
** gcc 2.6.3 (ANSI С) и SunPro cc 2.0.1 (ANSI С), под Solaris 2.3
* HP (9000 модель 720)
** gcc 2.5.8 (ANSI C) и HP cc (ANSI C) под HP-UX 8.05
* x86
** MS C (ANSI C) и LSI C-86 (близко к ANSI C) под MS-DOS
** MS Visual C++ под Win32 (не тестировалась)

Из-за схожести синтаксиса Фокал часто сравнивался с Бейсиком. В целом, язык уступает Бейсику по своим выразительным возможностям, например, в Фокале совершенно отсутствует строковый тип данных, все переменные на Фокале — числовые (как правило, дробные числа с плавающей запятой). Вместе с тем, интерпретатор Фокала гораздо менее требователен к ресурсам (прежде всего к памяти), нежели Бейсик, что позволяет делать более сложные программы в системах с ограниченными ресурсами.

С конца 1980-х годов Фокал не развивается и практически не используется, вышеупомянутые порты Focal-81 были проделаны энтузиастами в целях развлечения.
Q101244
акроним
Concept
Q183065
интерпретируемый
Concept
Q9143
язык программирования
Concept
Q211496
высокого уровня
Concept
None
JOSS
UNK
Q690079
DEC
ORG
Q911888
PDP-8
MISC
None
1968 год
UNK
Q183065
интерпретатор
Concept
Q42979
Бейсик
Concept
Q9135
операционной системе
Concept
Q1327833
PDP-11
MISC
Q2813
Coca-Cola
Concept
Q978980
Электронике БК-0010/0011
MISC
Q4161038
ДВК
MISC
Q160710
ПЗУ
Concept
None
ДИАСП
UNK
Q184793
САПР
Concept
Q202712
IBM PC
MISC
Q210499
BBS
Concept
Q14647
Sun
ORG
Q273190
SPARC
MISC
Q178940
gcc
MEDIA
Q1931402
ANSI C
Concept
Q2622457
Sun cc
MEDIA
None
K&R C
UNK
Q1208460
SunOS
MISC
Q2622457
SunPro cc
MEDIA
Q14646
Solaris
MISC
Q80978
HP
ORG
Q847593
HP-UX
MISC
Q182933
x86
Concept
Q2283
MS
ORG
Q47604
MS-DOS
MISC
Q847296
Visual C++
MISC
Q828191
Win32
MISC
Q42979
Бейсик
Concept
Q184754
строковый
Concept
Q190087
тип данных
MISC
Q877977
переменные
Concept
Q117879
числа с плавающей запятой
Concept
Q66221
памяти
Concept
Q1966202
Фокал
MEDIA
Q1966202
Фокал
MEDIA
Q1966202
Фокал
MEDIA
Q1966202
Фокал
MEDIA
Q1966202
Фокал
MEDIA
Q1966202
Фокал
MEDIA
Q1966202
Фокал
MEDIA
Q1966202
Фокал
MEDIA
Q1966202
Фокал
MEDIA
Q1966202
Фокал
MEDIA
Q1966202
Фокал
MEDIA
Q1966202
Фокал
MEDIA
Q1966202
Фокал
MEDIA
Q1966202
Фокал
MEDIA
1968-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
в 1968
DATE
10-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
0010
DATE
11-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
0011
DATE
1990-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
В 1990
DATE
9000-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
9000
DATE
-8^^http://www.w3.org/2001/XMLSchema#decimal
-8
NUMBER
-69^^http://www.w3.org/2001/XMLSchema#decimal
-69
NUMBER
-8^^http://www.w3.org/2001/XMLSchema#decimal
-8
NUMBER
+7^^http://www.w3.org/2001/XMLSchema#decimal
7
NUMBER
-8^^http://www.w3.org/2001/XMLSchema#decimal
-8
NUMBER
-7^^http://www.w3.org/2001/XMLSchema#decimal
-7
NUMBER
+9^^http://www.w3.org/2001/XMLSchema#decimal
9
NUMBER
-11^^http://www.w3.org/2001/XMLSchema#decimal
-11
NUMBER
-0010^^http://www.w3.org/2001/XMLSchema#decimal
-0010
NUMBER
+0011^^http://www.w3.org/2001/XMLSchema#decimal
0011
NUMBER
-81^^http://www.w3.org/2001/XMLSchema#decimal
-81
NUMBER
+2.6^^http://www.w3.org/2001/XMLSchema#decimal
2.6
NUMBER
+3^^http://www.w3.org/2001/XMLSchema#decimal
3
NUMBER
+4.1^^http://www.w3.org/2001/XMLSchema#decimal
4.1
NUMBER
+3^^http://www.w3.org/2001/XMLSchema#decimal
3
NUMBER
+2.6^^http://www.w3.org/2001/XMLSchema#decimal
2.6
NUMBER
+3^^http://www.w3.org/2001/XMLSchema#decimal
3
NUMBER
+2.0^^http://www.w3.org/2001/XMLSchema#decimal
2.0
NUMBER
+1^^http://www.w3.org/2001/XMLSchema#decimal
1
NUMBER
+2.3^^http://www.w3.org/2001/XMLSchema#decimal
2.3
NUMBER
+9000^^http://www.w3.org/2001/XMLSchema#decimal
9000
NUMBER
+2.5^^http://www.w3.org/2001/XMLSchema#decimal
2.5
NUMBER
+8^^http://www.w3.org/2001/XMLSchema#decimal
8
NUMBER
+8.05^^http://www.w3.org/2001/XMLSchema#decimal
8.05
NUMBER
+86^^http://www.w3.org/2001/XMLSchema#decimal
86
NUMBER
-86^^http://www.w3.org/2001/XMLSchema#decimal
-86
NUMBER
+32^^http://www.w3.org/2001/XMLSchema#decimal
32
NUMBER
-81^^http://www.w3.org/2001/XMLSchema#decimal
-81
NUMBER
instance of
inception
subclass of
designed by
developer
developer
operating system
developer
platform
developer
operating system
developer
platform
platform
developer
developer
instance of