Разработано | Лоран Рибардиер |
---|---|
Разработчик | 4D SAS |
Впервые появился | 1984 [1] | (разработчик) 1987 (официальный)
Стабильный выпуск | v18 R5 / 19 января 2021 г . |
Предварительный выпуск | v18 R6 Бета |
Язык реализации | C, C ++ |
Платформа | Кроссплатформенность |
Операционные системы | Windows, macOS |
Лицензия | Проприетарный |
Расширения имени файла | 4ДБ, 4ДК |
Форматы файлов | Интерпретировано, составлено |
Веб-сайт | нас |
Автор (ы) оригинала | Лоран Рибардиер |
---|---|
Разработчики) | 4D SAS |
Начальная версия | 1984 | (сс) 1987 г . (v1)
Стабильный выпуск | v18 R5 / 19 января 2021 г . [2] |
Предварительный выпуск | v18 R6 Бета |
Написано в | C ++ , C |
Операционная система | Windows , Mac OS |
Тип | RAD RDBMS IDE Language GUI Designer Веб-сервер |
Лицензия | Проприетарный |
Веб-сайт | нас |
Автор (ы) оригинала | Лоран Рибардиер |
---|---|
Разработчики) | 4D SAS |
Начальная версия | 1993 | (v1)
Стабильный выпуск | v18 R5 / 19 января 2021 г . [2] |
Предварительный выпуск | v18 R6 Бета |
Написано в | C ++ , C |
Операционная система | Windows , Mac OS |
Тип | RDBMS Web Server Application Server SQL Server Database Server Язык |
Лицензия | Проприетарный |
Веб-сайт | нас |
4D ( 4th Dimension , или Silver Surfer , как его называли в начале разработки) - это система управления реляционными базами данных и IDE, разработанная Лораном Рибардьером . [3] 4D был создан в 1984 году [4] и имел немного отложенный публичный выпуск для Macintosh в 1987 году [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 (Computer Integrated Manufacturing). Ряд сотрудников Apple стали экспертами по 4D, в том числе Лэнс МакЭндрю из штаб-квартиры Apple в Купертино и Эндрю О'Донохью из ирландской производственной штаб-квартиры Apple в Европе, где приложение 4th Dimension управляло всей администрацией Европейского сервисного центра.
В течение следующих нескольких лет установленная база 4th Dimension росла, и издатель ACI основал дочернюю компанию ACIUS в США, которую первоначально возглавлял Гай Кавасаки . После 16 лет работы в качестве ACIUS до 2000 года название было официально изменено на 4D Inc . [9]
В 1993 г. был представлен 4D Server v1.1, клиент-серверная версия 4th Dimension, а также выпуск 4th Dimension v3.1. [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]
История версий [ править ]
Ветка | Последняя версия | Начальная версия | Окончательный релиз | По состоянию на февраль 2019 г. | Ноты |
---|---|---|---|---|---|
v18.x | v18.LTS | 16 янв.2020 г. | Непрерывный | Поддерживается | Базы данных проекта для контроля версий, встроенные инструменты шифрования, 4D для iOS, 4D Write Pro, 4D View Pro |
v17.x | v17.4 | 10 июля 2018 г. | Непрерывный | Поддерживается | ORDA (объектно-реляционный доступ к данным), коллекции, объектная нотация, динамические формы |
v16.x | v16.6 | 10 янв 2017 | Непрерывный | Поддержка закончилась 24 июля 2019 г. | Новая система управления кешем, вытесняющая многопоточность, 4D Dev Pro 64 бит |
v15R | v15R5 | 10 ноя 2015 | 14 сен 2016 | Заменено версией 16.x | Предварительный просмотр функций, которые будут в v16.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; комплексный центр технического обслуживания (MSC); Управление SVG; Интегрированная веб-область |
2004.x | 2004,8 | 31 августа 2004 г. | 30 июня 2009 г. | Больше не поддерживается | Обновленный интерфейс; Интеграция высокоуровневых команд ODBC, 4D Customizer, 4D Backup и 4D Engine |
2003.x | 2003.8r2 | 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 |
[2]
Архитектура [ править ]
Приложение 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 Server используется для подключения клиент-сервер к приложению. В этом режиме 4D Server загружает файл структуры (4DB или 4DC), а также файл данных (4DD) и предоставляет сетевой доступ к 4D (удаленно). Каждая рабочая станция имеет динамически обновляемый кэш ресурсов, с которыми они работают, в то время как сервер 4D поддерживает данные и код.
Синтаксис [ править ]
Этот раздел будет включать примеры синтаксиса, демонстрирующие различные программные конструкции, используемые в 4D, такие как циклы и использование переменных.
Типы данных [ править ]
Поля, переменные и выражения 4D могут иметь следующие типы данных:
Тип данных | Поле | Переменная | Выражение |
---|---|---|---|
Нить | да | да | да |
Номер (двойной) | да | да | да |
Датировать | да | да | да |
Время | да | да | да |
Логический | да | да | да |
Картина | да | да | да |
Указатель | Нет | да | да |
BLOB | да | да | Нет |
Множество | Нет | да | Нет |
Целое число 64 бита | да | Нет | Нет |
Плавать | да | Нет | Нет |
Объект | да | да | да |
Неопределенный | Нет | да | да |
Более подробную информацию о типах данных 4D можно найти на странице документации по типам данных 4D.
Область действия переменной [ править ]
Локальные переменные имеют префикс $
like $myLocalVariable
и действуют только на время действия метода.
Переменные процесса не имеют префикса like myProcessVariable
и действуют на протяжении всего процесса.
Межпроцессные (или глобальные) переменные имеют префикс <>
Like <>myGlobalVariable
и действуют на протяжении всего приложения.
Сравнение зацикливания [ править ]
Для [ править ]
Для (vCounter; 1; 100) // Сделай что-нибудьКонец для
Пока [ редактировать ]
$ i: = 1 // Инициализируем счетчик While ($ i <= 100) // цикл 100 раз // Сделай что-нибудь $ i: = $ i +1 // Нужно увеличить счетчик Конец пока
Повторить [ править ]
$ i: = 1 // Инициализируем счетчик Повторить // Сделай что-нибудь $ i: = $ i +1 // Нужно увеличить счетчик Пока ($ i = 100) // Цикл 100 раз
Оптимизация циклов [ править ]
Вы можете использовать вещественные, целые и длинные целые переменные, а также счетчики межпроцессных, технологических и локальных переменных. Для длинных повторяющихся циклов, особенно в режиме компиляции, используйте локальные переменные типа Long Integer.
Вот пример:
C_LONGINT ($ vlCounter) // использовать локальные переменные типа Long Integer Для ($ vlCounter; 1; 10000) // Сделай что-нибудь Конец для
Вложенные циклы [ править ]
В следующем примере рассматриваются все элементы двумерного массива:
Для ($ vlElem; 1; Размер массива (anArray)) // ... // Что-то делаем со строкой // ... Для ($ vlSubElem; 1; Размер массива (anArray {$ vlElem})) // Что-то делаем с элементом anArray {$ vlElem} {$ vlSubElem}: = ... Конец для Конец для
В следующем примере создается массив указателей на все поля даты, присутствующие в базе данных:
УКАЗАТЕЛЬ МАССИВА ($ apDateFields; 0) $ vlElem: = 0 For ($ vlTable; 1; Получить номер последней таблицы) // цикл по каждому номеру таблицы с $ vTable в качестве номера Если (Действителен ли номер таблицы ($ vlTable)) // проверяем правильность номера таблицы $ vTable // только цикл для действительной таблицы For ($ vlField; 1; Получить номер последнего поля ($ vlTable)) // цикл по каждому номеру поля в текущей таблице // с $ vlField в качестве текущего номера поля Если (Действителен ли номер поля ($ vlTable; $ vlField)) // проверяем правильность номера поля $ vpField: = Field ($ vlTable; $ vlField) // получаем указатель на поле Если (Тип ($ vpField ->) = Дата) // проверяем, является ли текущее поле датой // выполняет эти действия только в том случае, если поле является датой $ vlElem: = $ vlElem + 1 ВСТАВИТЬ В МАССИВ ($ apDateFields; $ vlElem) $ apDateFields {$ vlElem}: = $ vpField Конец, если Конец, если Конец для Конец, если Конец для
Ссылки [ править ]
- ^ a b «База данных Mac высокого класса предлагает собственный язык программирования» . InfoWorld. 16 марта 1987 г.
- ^ a b c «Жизненный цикл продукта 4D» . 4D . Проверено 10 января 2016 .
- ^ «4D Люди - 4D» . 4d.com .
- ^ «История инноваций» . 4d.com .
- ^ «Просроченный сервер Apple выходит на рынок» . ComputerWorld. 26 января 1987 г.
- ^ «Новая программа для баз данных выводит Macintosh в высшую лигу» . chicagotribune.com .
- ^ «В поисках 4-го измерения? Мужайтесь, оно уже в городе» . chicagotribune.com .
- ↑ Гай, Кавасаки (1989). Путь Macintosh . США: Скотт Форесман Трейд. С. 18 . ISBN 0673461750.
- ^ «До свидания, ACI US, Hello 4D, Inc» . MacNews.com .
- ^ InfoWorld (27 декабря 1993 - 3 января 1994). 4D Server выполняет обещания других . InfoWorld Media Group, Inc.
- ↑ ComputerWorld (24 июля 1995 г.). Создатель базы данных открывает новую Windows . ComputerWorld.
- ^ InfoWorld (9 июня 1997). 4th Dimension подходит для смешанных сайтов Mac, Windows . InfoWorld Media Group, Inc.
- ^ «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 . Архивировано из оригинала на 2016-03-05 . Проверено 29 февраля 2016 .
- ^ «Теперь доступна версия 4D v12» . i Уточнено . Проверено 29 февраля 2016 .
Внешние ссылки [ править ]
- Официальный сайт
- Документация 4D ( статическая и живая )
- База знаний 4D
- 4th Dimension (программное обеспечение) в Curlie
- 4d-база данных на Stack Overflow