Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

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]

История версий [ править ]

[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 могут иметь следующие типы данных:

Более подробную информацию о типах данных 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 Конец, если Конец, если Конец для Конец, если Конец для

Ссылки [ править ]

  1. ^ a b «База данных Mac высокого класса предлагает собственный язык программирования» . InfoWorld. 16 марта 1987 г.
  2. ^ a b c «Жизненный цикл продукта 4D» . 4D . Проверено 10 января 2016 .
  3. ^ «4D Люди - 4D» . 4d.com .
  4. ^ «История инноваций» . 4d.com .
  5. ^ «Просроченный сервер Apple выходит на рынок» . ComputerWorld. 26 января 1987 г.
  6. ^ «Новая программа для баз данных выводит Macintosh в высшую лигу» . chicagotribune.com .
  7. ^ «В поисках 4-го измерения? Мужайтесь, оно уже в городе» . chicagotribune.com .
  8. Гай, Кавасаки (1989). Путь Macintosh . США: Скотт Форесман Трейд. С.  18 . ISBN 0673461750.
  9. ^ «До свидания, ACI US, Hello 4D, Inc» . MacNews.com .
  10. ^ InfoWorld (27 декабря 1993 - 3 января 1994). 4D Server выполняет обещания других . InfoWorld Media Group, Inc.
  11. ComputerWorld (24 июля 1995 г.). Создатель базы данных открывает новую Windows . ComputerWorld.
  12. ^ InfoWorld (9 июня 1997). 4th Dimension подходит для смешанных сайтов Mac, Windows . InfoWorld Media Group, Inc.
  13. ^ «4D, Inc. поставляет 4D 2004 с новой оптимизированной средой проектирования и новыми технологиями развертывания | Business Wire» . www.businesswire.com . Проверено 29 февраля 2016 .
  14. ^ «4D объявляет о всемирном выпуске 4D Server V11 SQL» . www.prnewswire.com . Проверено 29 февраля 2016 .
  15. ^ «4D Server v11 добавляет SQL, оптимизирует производительность | MacNN» . MacNN.com . Архивировано из оригинала на 2016-03-05 . Проверено 29 февраля 2016 .
  16. ^ «Теперь доступна версия 4D v12» . i Уточнено . Проверено 29 февраля 2016 .

Внешние ссылки [ править ]

  • Официальный сайт
  • Документация 4D ( статическая и живая )
  • База знаний 4D
  • 4th Dimension (программное обеспечение) в Curlie
  • 4d-база данных на Stack Overflow