4-е измерение (программное обеспечение)
Разработано | Лоран Рибардьер |
---|---|
Разработчик | 4D САС |
Впервые появился | 1984 год [1] | (раз) 1987 (официально)
Стабильная версия | v18 R5
/ 19 января 2021 г |
Предварительный выпуск | v18 R6 Бета
|
Язык реализации | С, С++ |
Платформа | Кроссплатформенность |
ТЫ | Windows, МакОС |
Лицензия | Собственный |
Расширения имен файлов | 4ДБ, 4ДК |
Форматы файлов | Интерпретировано, составлено |
Веб-сайт | нас |
Оригинальный автор(ы) | Лоран Рибардьер |
---|---|
Разработчик(и) | 4D САС |
Первоначальный выпуск | 1984 год | (сс) 1987 (т1)
Стабильная версия | v18 R5
/ 19 января 2021 г [2] |
Предварительный выпуск | v18 R6 Бета
|
Написано в | С++ , С |
Операционная система | Windows , Мак ОС |
Тип | RAD RDBMS IDE Language GUI Designer Веб-сервер |
Лицензия | Собственный |
Веб-сайт | нас |
Оригинальный автор(ы) | Лоран Рибардьер |
---|---|
Разработчик(и) | 4D САС |
Первоначальный выпуск | 1993 год | (v1)
Стабильная версия | v18 R5
/ 19 января 2021 г [2] |
Предварительный выпуск | v18 R6 Бета
|
Написано в | С++ , С |
Операционная система | Windows , Мак ОС |
Тип | СУРБД Веб-сервер Сервер приложений SQL Server сервера базы данных Язык |
Лицензия | Собственный |
Веб-сайт | нас |
4D ( 4th Dimension , или Silver Surfer , как его называли во время ранней разработки) — это система управления реляционными базами данных и интегрированная среда разработки, разработанная Лораном Рибардьером . [3] 4D был создан в 1984 году. [4] и в 1987 году у него был немного отложен публичный выпуск для Macintosh. [5] [6] [7] со своим собственным языком программирования . [1]
С тех пор линейка продуктов 4D расширилась за счет SQL серверной части , встроенного компилятора , интеграции PHP и нескольких плагинов и интерфейсов для повышения производительности. Некоторые из плагинов, созданных 4D, включают 4D Write (текстовый процессор), 4D View (что-то вроде электронной таблицы, но с дополнительными функциями) и 4D Internet Commands (которые позволяют добавлять в базу данных функции, связанные с Интернетом). . Существует также более 100 сторонних плагинов, бесплатных и коммерческих.
4D также можно использовать в качестве веб-сервера для запуска приложений скомпилированных баз данных.
Сегодня 4D издается французской компанией 4D SAS и имеет продажи, распространение и поддержку на большинстве основных рынков, причем основными рынками являются США, Великобритания и Франция. Продукт локализован более чем на десяток языков.
История
[ редактировать ]Silver Surfer, как его называли на ранних стадиях разработки, был разработан Лораном Рибардьером в 1984 году. После переговоров с Рибардьером планировалось, что Apple Inc. (ранее Apple Computer Inc) опубликует программное обеспечение, но Apple отменила этот план, как сообщается, из-за давления. от других потенциальных издателей баз данных, которые утверждали, что, если бы у Apple была собственная «брендовая» база данных, продукты третьих сторон оказались бы в невыгодном положении на рынке. [8] В то время Apple пыталась обеспечить поддержку платформы Macintosh известными издателями программного обеспечения, и в результате проект вернулся к Лорану Рибардьеру , который вместе с французской бизнес-леди Мэрилен Дельбур-Дельфис опубликовал «4-е измерение». Несмотря на независимую публикацию, Apple поддержала новое предприятие и широко использовала 4D во всей организации для проектов, включая управление фитнес-центром и CIM (компьютерное интегрированное производство). Ряд сотрудников Apple стали экспертами по 4D, в том числе Лэнс МакЭндрю из штаб-квартиры Apple в Купертино и Эндрю О'Донохью из штаб-квартиры Apple в Европе, расположенной в Ирландии , где приложение 4-го измерения управляло администрацией европейского сервисного центра.
В течение следующих нескольких лет установленная база 4th Dimension выросла, и издатель ACI основал в США дочернюю компанию под названием ACIUS, первоначально возглавляемую Гаем Кавасаки . После 16 лет работы под названием ACIUS до 2000 года название было официально изменено на 4D Inc. [9]
В 1993 году вместе с выпуском 4th Dimension v3.1 был представлен 4D Server v1.1, клиент-серверная версия 4th Dimension. [10]
В 1995 году версия 4D v3.5 стала кроссплатформенной и с тех пор поддерживает операционные системы Microsoft Windows и Apple Macintosh . [11]
В 1997 году 4D v6 была первой версией 4D, содержащей полностью интегрированный веб-сервер, позволяющий разработчикам переводить 4D-формы в HTML на лету, используя только язык 4D. [12]
В 2004 году 4D 2004 была первой версией 4D, позволяющей разработчикам создавать автономные клиент-серверные, веб-приложения и сервис-ориентированные приложения (SOA) без изменения какого-либо кода. [13]
В 2008 году 4D v11 добавил уровень SQL к ядру базы данных 4D и расширил собственный SQL до языка программирования 4D, что позволило разработчикам 4D писать собственный код SQL для подключения к локальным или удаленным серверам. [14] [15]
В 2010 году в 4D v12 была интегрирована возможность выполнения функций/скриптов PHP из языка программирования 4D. Эта версия также поддерживала новые команды репликации и синхронизации и включала 64-разрядную версию 4D Server. [16]
История версий
[ редактировать ]Ветвь | Последняя версия | Первоначальный выпуск | Финальный выпуск | Статус февраль 2022 г. | Примечания |
---|---|---|---|---|---|
v19.x | v19.LTS | 12 июля 2021 г. | Непрерывный | Поддерживается | Встроенная поддержка Apple Silicon, классов |
v18.x | v18.LTS | 16 января 2020 г. | Непрерывный | Поддерживается | Базы данных проекта для контроля версий, встроенные инструменты шифрования, 4D для iOS, 4D Write Pro, 4D View Pro |
v17.x | v17.4 | 10 июля 2018 г. | 13 декабря 2020 г. (4D v17.5) [17] |
Поддержка закончилась 13 декабря 2020 г. | ORDA (объектно-реляционный доступ к данным), коллекции, нотация объектов, динамические формы |
v16.x | v16.6 | 10 января 2017 г. | 24 июля 2019 г. (4D v16.6) [17] |
Поддержка закончилась 24 июля 2019 г. | Новая система управления кэшем, вытесняющая многопоточность, 64-разрядная версия 4D Dev Pro |
v15R | v15R5 | 10 ноября 2015 г. | 14 сентября 2016 г. | Заменено 16.x | Предварительный обзор функций, которые будут в версии 16.x |
v15.x | v15.6 | 16 июля 2015 г. | 25 апреля 2017 г. | Поддержка закончилась 25 апреля 2018 г. | 64-битный 4D-сервер для серверов Mac; Новый сетевой уровень |
v14R | v14R5 | май 2014 г. | Март 2015 г. | Больше не поддерживается | предварительный просмотр функций, которые будут в v15.x |
v14.x | v14.6 | 12 декабря 2013 г. | 20 декабря 2016 г. | Больше не поддерживается | 4D Mobile (варианты подключения 4D Server в качестве источника данных для Wakanda (программное обеспечение)); Структурированные объекты JSON (C_Object); SQL-представления; новые инструменты для обслуживания и мониторинга, новая система журналирования. |
v13.x | v13.6 | 14 февраля 2012 г. | 18 июня 2015 г. | Больше не поддерживается | Новый многопоточный HTTP-сервер; автоматическое управление сеансами; новый расширяемый HTTP-клиент; интеграция webkit и расширенная поддержка Javascript; расширенный список; внешний документооборот. |
v12.x | v12.6 | 3 июня 2010 г. | 8 октября 2013 г. | Больше не поддерживается | 64-битный 4D-сервер для серверов Windows; PHP-интеграция; Синхронизация и репликация |
v11.x | v11.9 | 23 сентября 2008 г. | 7 июля 2011 г. | Больше не поддерживается | SQL-движок; комплексный центр технического обслуживания (ЦТО); Управление SVG; Интегрированная веб-зона |
2004.х | 2004.8 | 31 августа 2004 г. | 30 июня 2009 г. | Больше не поддерживается | Обновленный интерфейс; Интеграция команд ODBC высокого уровня, 4D Customizer, 4D Backup и 4D Engine. |
2003.х | 2003.8р2 | 17 марта 2003 г. | 11 апреля 2006 г. | Больше не поддерживается | XML; Веб-сервисы; Встроенный компилятор |
v6.8.x | 6.8.6 | 15 апреля 2002 г. | 24 сентября 2004 г. | Больше не поддерживается | |
v6.7.x | 6.7.5 | Больше не поддерживается | |||
v6.5.x | 18 мая 1999 г. | Больше не поддерживается | |||
v6.0.x | 6.0.5 | 1997 | 27 февраля 1998 г. | Больше не поддерживается | Интегрированный веб-сервер |
v3.x | Больше не поддерживается | 4D v3.5 была первой кроссплатформенной версией (mac/win). | |||
v1.x | 1987 | Больше не поддерживается | только для Mac |
Архитектура
[ редактировать ]4D-приложение может работать как в автономном режиме, так и в режиме клиент-сервер.
Однопользовательский
[ редактировать ]В автономном режиме приложение 4D (4D.exe в Windows или 4D.app на Mac) используется для открытия файла структуры (4DB/4DC) непосредственно вместе со связанным файлом данных (4DD).
Клиент-Сервер
[ редактировать ]В парадигме клиент-сервер приложение 4D Server (4DServer.exe в Windows или 4DServer.app на Mac) используется для открытия файла структуры (4DB/4DC) непосредственно вместе со связанным файлом данных (4DD). Затем 4D можно использовать в удаленном режиме для подключения к 4D-серверу.
Редакции приложений
[ редактировать ]У 4D есть два применения; 4D и 4D Сервер. 4D Server работает только как сервер, но 4D можно запускать как в автономном, так и в удаленном режиме.
4D
[ редактировать ]4D можно запускать в двух режимах. 4D в однопользовательском режиме позволяет запускать приложение одному человеку. 4D в удаленном режиме используется для подключения к 4D Серверу.
4D-сервер
[ редактировать ]4D-сервер используется для подключения клиент-сервера к приложению. В этом режиме 4D Server загружает файл структуры (4DB или 4DC), а также файл данных (4DD) и обеспечивает сетевой доступ к 4D (удаленно). Каждая рабочая станция имеет динамически обновляемый кэш ресурсов, с которыми они работают, а 4D-сервер хранит данные и код.
Синтаксис
[ редактировать ]В этот раздел будут включены примеры синтаксиса, демонстрирующие различные программные конструкции, используемые в 4D, например, циклы for и использование переменных.
Типы данных
[ редактировать ]4D-поля, переменные и выражения могут иметь следующие типы данных: [18]
Тип данных | Поле | Переменная | Выражение |
---|---|---|---|
Нить | Да | Да | Да |
Номер (двойной) | Да | Да | Да |
Дата | Да | Да | Да |
Время | Да | Да | Да |
логическое значение | Да | Да | Да |
Картина | Да | Да | Да |
Указатель | Нет | Да | Да |
BLOB-объект | Да | Да | Нет |
Множество | Нет | Да | Нет |
Целое число 64 бита | Да | Нет | Нет |
Плавать | Да | Нет | Нет |
Объект | Да | Да | Да |
Коллекция | Да | Да | Да |
Неопределенный | Нет | Да | Да |
Дополнительную информацию о типе данных 4D можно найти на странице документации [Типы данных 4D].
Область действия переменной
[ редактировать ]Локальные переменные имеют префикс $
нравиться $myLocalVariable
и живут только на время действия метода.
Переменные процесса не имеют префикса, например myProcessVariable
и жить на протяжении всего процесса.
Межпроцессные (или глобальные) переменные имеют префикс <>
нравиться <>myGlobalVariable
и жить на протяжении всего срока действия приложения.
Сравнение циклов
[ редактировать ]Для
[ редактировать ]For(vCounter;1;100) // Do something End for
Пока
[ редактировать ]$i :=1 // Initialize the counter While($i<=100) // Loop 100 times // Do something $i :=$i +1 // Need to increment the counter End while
Повторить
[ редактировать ]$i :=1 // Initialize the counter Repeat // Do something $i :=$i +1 // Need to increment the counter Until($i=100) // Loop 100 times
Вложенные циклы
[ редактировать ]В следующем примере рассматриваются все элементы двумерного массива:
For($vlElem;1;Size of array(anArray)) // ... // Do something with the row // ... For($vlSubElem;1;Size of array(anArray{$vlElem})) // Do something with the element anArray{$vlElem}{$vlSubElem}:=... End for End for
В следующем примере создается массив указателей на все поля даты, присутствующие в базе данных:
ARRAY POINTER($apDateFields;0) $vlElem:=0 For($vlTable;1;Get last table number) // loop over each table number with $vTable as the number If(Is table number valid($vlTable)) // check if table number $vTable is valid // only loop on the valid table For($vlField;1;Get last field number($vlTable)) // loop over each field number within current table // with $vlField as the current field number If(Is field number valid($vlTable;$vlField)) // check if field number is valid $vpField:=Field($vlTable;$vlField) // get pointer to field If(Type($vpField->)=Is date) // check if current field is a date // only performs these actions if field is a date $vlElem:=$vlElem+1 INSERT IN ARRAY($apDateFields;$vlElem) $apDateFields{$vlElem}:=$vpField End if End If End for End If End for
Ссылки
[ редактировать ]- ^ Перейти обратно: а б «Высокопроизводительная база данных Mac предлагает собственный язык программирования» . ИнфоМир. 16 марта 1987 года.
- ^ Перейти обратно: а б с «Жизненный цикл 4D-продукта» . 4Д . Проверено 10 января 2016 г.
- ^ «4D Люди – 4D» . 4d.com . 19 июня 2018 г.
- ^ «История инноваций» . 4d.com . 19 июня 2018 г.
- ^ «Просроченный сервер Apple выходит на рынок» . Компьютерный мир. 26 января 1987 года.
- ^ «Новая программа для баз данных выводит Macintosh в высшую лигу» . chicagotribune.com .
- ^ «Ищете 4-е измерение? Мужайтесь, оно уже в городе» . chicagotribune.com .
- ^ Гай, Кавасаки (1989). Путь Macintosh . США: Скотт Форесман Трейд. стр. 18 . ISBN 0673461750 .
- ^ «До свидания, ACI США, здравствуйте, 4D, Inc» . MacNews.com .
- ^ InfoWorld (27 декабря 1993 г. - 3 января 1994 г.). 4D Server выполняет обещания других . ИнфоУорлд Медиа Групп, Инк.
- ^ ComputerWorld (24 июля 1995 г.). Создатель базы данных открывает новую Windows . Компьютерный мир.
- ^ InfoWorld (9 июня 1997 г.). 4th Dimension подходит для смешанных сайтов Mac и Windows . ИнфоУорлд Медиа Групп, Инк.
- ^ «4D, Inc. выпускает 4D 2004 с новой оптимизированной средой проектирования и новыми технологиями развертывания | Business Wire» . www.businesswire.com (пресс-релиз) . Проверено 29 февраля 2016 г.
- ^ «4D объявляет о всемирном выпуске 4D Server V11 SQL» . www.prnewswire.com . Проверено 29 февраля 2016 г.
- ^ «4D Server v11 добавляет SQL, оптимизирует производительность | MacNN» . MacNN.com . Архивировано из оригинала 05 марта 2016 г. Проверено 29 февраля 2016 г.
- ^ «4D v12 теперь доступен» . Я уточнил . 4 июня 2010 г. Проверено 29 февраля 2016 г.
- ^ Перейти обратно: а б «Жизненный цикл продукта» . 13 января 2020 г.
- ^ «Типы данных» . 4D Докцентр . Проверено 28 июля 2022 г.
Внешние ссылки
[ редактировать ]- Официальный сайт
- 4D-документация ( новая и устаревшая )
- Новый 4D-форум ( http://discuss.4d.com/ )
- База знаний 4D
- 4-е измерение (программное обеспечение) в Curlie
- 4d-база данных на Stack Overflow
- Собственные системы управления базами данных
- Инструменты разработки настольных приложений для баз данных
- Процедурные языки программирования
- Кроссплатформенное программное обеспечение
- Языки программирования, созданные в 1984 году.
- Языки программирования высокого уровня
- Системы управления реляционными базами данных