4차원 (소프트웨어)

4th Dimension (software)
4D 프로그래밍 언어
설계자로랑 리바르디에르
개발자4D SAS
처음 등장한1984년, 38년 (개발) 1987년, 35년(공식)[1]
안정된 릴리스
v18 R5 / 2021년 1월 19일; 18개월 전(2021-01-19)
프리뷰 릴리즈
v18 R6 베타판
구현 언어C, C++
플랫폼크로스 플랫폼
OSWindows, MacOS
면허증.독자 사양
파일 이름 확장자4DB, 4DC
파일 형식해석 완료, 컴파일 완료
웹 사이트us.4d.com
4D
원저작자로랑 리바르디에르
개발자4D SAS
초기 릴리즈1984년, 38년 (ss) 1987년, 35년(v1)
안정된 릴리스
v18 R5 / 2021년 1월 19일; 18개월 전(2021-01-19)[2]
프리뷰 릴리즈
v18 R6 베타판
기입처C++, C
운영 체제Windows, Mac OS
유형RAD RDBMS IDE 언어 GUI 디자이너 웹 서버
면허증.독자 사양
웹 사이트us.4d.com
4D 서버
Logo4D.svg
원저작자로랑 리바르디에르
개발자4D SAS
초기 릴리즈1993년; 29년 전 (1993년) (v1)
안정된 릴리스
v18 R5 / 2021년 1월 19일; 18개월 전(2021-01-19)[2]
프리뷰 릴리즈
v18 R6 베타판
기입처C++, C
운영 체제Windows, Mac OS
유형RDBMS 웹 서버 응용 프로그램 서버 SQL Server 데이터베이스 서버 언어
면허증.독자 사양
웹 사이트us.4d.com

4D(4th Dimension 또는 Silver Surfer)[3]는 Laurent Ribardiér가 개발관계형 데이터베이스 관리 시스템이자 IDE입니다. 4D는 1984년에[4] 개발되었으며 1987년에 자체[5][6][7] 프로그래밍 [1]언어로 Macintosh용으로 공개가 다소 지연되었습니다.

이후 4D 제품군은 SQL 백엔드 통합 컴파일러, PHP 통합 여러 생산성 플러그인 및 인터페이스로 확장되었습니다.4D에 의해 작성된 플러그인에는 4D 쓰기(워드 프로세서), 4D View(일부 스프레드시트와 비슷하지만 추가 기능이 있음), 4D 인터넷 명령(데이터베이스에 인터넷 관련 기능을 추가할 수 있음) 등이 있습니다.무료 및 상용 서드파티 플러그인도 100개 이상 있습니다.

4D는 컴파일된 데이터베이스 애플리케이션을 실행하기 위한 서버로도 사용할 수 있습니다.

현재 4D는 프랑스 회사 4D SAS에 의해 발행되고 있으며 미국, 영국 및 프랑스가 주요 시장인 대부분의 주요 시장에서 판매, 유통 및 지원을 담당하고 있습니다.이 제품은 12개 이상의 언어로 현지화되어 있습니다.

역사

초기 개발 과정에서 알려진 실버 서퍼는 1984년 로랑 리바르디에르가 개발했다.리바디에르와의 협상 이후 애플(옛 애플 컴퓨터사)이 이 소프트웨어를 공개할 계획이었으나 애플이 자체 브랜드 데이터베이스를 보유하면 타사 제품이 시장에서 [8]불이익을 받을 수 있다는 다른 잠재적 데이터베이스 출판사들의 압력으로 인해 계획을 취소한 것으로 알려졌다.당시 애플은 유명한 소프트웨어 퍼블리셔가 Macintosh 플랫폼을 지원하도록 노력했고, 그 결과 프로젝트는 프랑스 여성 사업가 Marryene Delbourg-Delphis와 함께 4Dimension을 출판한 Laurent Ribardiér에게 돌아갔다.애플은 독자적으로 출판되었지만, 새로운 사업을 지원했고 피트니스 센터 관리 및 CIM(컴퓨터 통합 제조)을 포함한 프로젝트에 조직 전체에서 4D를 광범위하게 사용했습니다.애플의 쿠퍼티노 본사의 랜스 맥앤드루와 4D 어플리케이션이 유럽 서비스 센터 관리를 담당했던 아일랜드의 유럽 제조 본사의 앤드류 오도노그 등 많은 애플 직원이 4D 전문가가 되었다.

이후 몇 년 동안 4th Dimension의 설치 기반이 확대되었고, 출판사 ACI는 처음에 Guy Kawaski가 이끄는 ACIUS라는 미국 자회사를 설립했습니다.2000년까지 ACIUS로 16년간 운영한 후, 사명은 공식적으로 4D Inc.[9]로 변경되었다.

1993년 4D Server v1.1에서 4차 Dimension v3.[10]1의 출시와 함께 4차 Dimension의 클라이언트/서버 버전이 도입되었습니다.

1995년에 4D v3.5는 크로스 플랫폼이 되었고 그 이후로 Microsoft WindowsApple Macintosh 운영 [11]체제를 모두 지원했습니다.

1997년에 4D v6는 완전히 통합된 웹 서버를 포함하는 최초의 4D 버전이었고, 개발자들은 4D [12]언어만을 사용하여 4D 양식을 HTML로 즉시 변환할 수 있었습니다.

2004년에 4D 2004는 개발자가 [13]코드를 변경하지 않고 독립 실행형, 클라이언트/서버, 웹 및 서비스 지향 애플리케이션(SOA)을 만들 수 있는 최초의 4D 버전이었습니다.

2008년 4D v11은 4D 데이터베이스 엔진에 SQL 계층을 추가하고 4D 프로그래밍 언어로 네이티브 SQL을 확장하여 4D 개발자가 로컬 또는 원격 [14][15]서버에 연결하는 네이티브 SQL 코드를 작성할 수 있도록 했습니다.

2010년에 4D v12는 4D 프로그래밍 언어 내에서 PHP 함수/스크립트를 실행하는 기능을 통합했습니다.또한 이 버전은 새로운 복제 및 동기화 명령을 지원했으며 64비트 버전의 4D [16]서버를 포함했습니다.

버전 이력

분점 최신 버전 초기 릴리즈 최종 릴리즈 2022년 2월 현황 메모들
v19.x v19.LTS 2021년 7월 12일 진행중 서포트되고 있다 Apple Silicon, Classes 네이티브 지원
v18.x v18.LTS 2020년 1월 16일 진행중 서포트되고 있다 버전 관리용 프로젝트 데이터베이스, 내장 암호화 도구, iOS용 4D, 4D Write Pro, 4D View Pro
v17.x v17.4 2018년 7월 10일 2020년 12월 13일
(4D v17.5)[17]
지원은 2020년 12월 13일 종료 ORDA(Object Relational Data Access), 컬렉션, 객체 표기법, 동적 형식
v16.x v16.6 2017년 1월 10일 2019년 7월 24일
(4D v16.6)[17]
2019년 7월 24일 지원 종료 새로운 캐시 관리 시스템, 프리엠프티브 멀티스레딩, 4D Dev Pro 64비트
v15R v15R5 2015년 11월 10일 2016년 9월 14일 16.x로 대체되었습니다. v16.x의 기능 미리보기
v15.x v15.6 2015년 7월 16일 2017년 4월 25일 2018년 4월 25일 지원 종료 Mac 서버용 64비트 4D 서버, 새로운 네트워크 계층
v14R v14R5 2014년 5월 2015년 3월 더 이상 지원되지 않음 v15.x의 기능 미리보기
v14.x v14.6 2013년 12월 12일 2016년 12월 20일 더 이상 지원되지 않음 4D 모바일 (Wakanda (소프트웨어)의 데이터 소스로서 4D 서버의 접속 옵션)구조화된 JSON 객체(C_Object), SQL 뷰, 유지보수 및 모니터링을 위한 새로운 도구, 새로운 저널링 시스템.
v13.x v13.6 2012년 2월 14일 2015년 6월 18일 더 이상 지원되지 않음 새로운 멀티스레드 HTTP 서버, 자동 세션 관리, 확장 가능한 새로운 HTTP 클라이언트, 웹킷 통합 및 확장 Javascript 지원, 강화된 목록 상자, 외부 문서 관리.
v12.x v12.6 2010년 6월 3일 2013년 10월 8일 더 이상 지원되지 않음 Windows 서버용 64비트 4D 서버, PHP 통합, 동기화 및 복제
v11.x v11.9 2008년 9월 23일 2011년 7월 7일 더 이상 지원되지 않음 SQL 엔진, 통합 유지보수 센터(MSC), SVG 관리, 통합 웹 영역
2004.x 2004.8 2004년 8월 31일 2009년 6월 30일 더 이상 지원되지 않음 개선된 인터페이스, 고급 ODBC 명령, 4D 커스터마이저, 4D 백업 및 4D 엔진 통합
2003.x 2003.8r2 2003년 3월 17일 2006년 4월 11일 더 이상 지원되지 않음 XML, 웹 서비스, 임베디드 컴파일러
v6.8.x 6.8.6 2002년 4월 15일 2004년 9월 24일 더 이상 지원되지 않음
v6.7.x 6.7.5 더 이상 지원되지 않음
v6.5.x 1999년 5월 18일 더 이상 지원되지 않음
v6.0.x 6.0.5 1997 1998년 2월 27일 더 이상 지원되지 않음 통합 웹 서버
v3.x 더 이상 지원되지 않음 4D v3.5는 최초의 크로스 플랫폼 버전(mac/win),
v1.x 1987 더 이상 지원되지 않음 Mac만

[2]

아키텍처

4D 응용 프로그램은 독립 실행형 모드 또는 클라이언트-서버 모드에서 실행할 수 있습니다.

싱글 유저

독립 실행형 모드에서는 4D 애플리케이션(Windows의 경우 4D.exe 또는 Mac의 경우 4D.app)을 사용하여 관련 데이터 파일(4DD)과 함께 구조 파일(4DB/4DC)을 직접 엽니다.

클라이언트 서버

Client-Server 패러다임에서는 4D Server 애플리케이션(Windows의 경우 4DServer.exe 또는 Mac의 경우 4DServer.app)을 사용하여 구조 파일(4DB/4DC)과 관련 데이터 파일(4DD)을 직접 엽니다.그 후, 4D를 리모트 모드로 사용해 4D 서버에 접속할 수 있습니다.

응용 프로그램 에디션

4D에는 4D 서버와 4D 서버의 두 가지 응용 프로그램이 있습니다. 4D 서버는 서버로만 실행되지만 4D는 독립 실행형 모드 또는 원격 모드에서 실행할 수 있습니다.

4D

4D는 두 가지 모드로 실행할 수 있습니다.싱글 유저 모드의 4D에서는, 1명이 애플리케이션을 실행할 수 있습니다.원격 모드의 4D는 4D 서버에 연결하는 데 사용됩니다.

4D 서버

4D 서버는 응용 프로그램에 대한 클라이언트-서버 연결에 사용됩니다.이 모드에서 4D 서버는 구조 파일(4DB 또는 4DC)과 데이터 파일(4DD)을 로드하고 4D(원격)에 대한 네트워크 액세스를 제공합니다.각 워크스테이션에는 작업 중인 리소스의 캐시가 동적으로 업데이트되고 4D 서버는 데이터와 코드를 유지합니다.

구문

이 섹션에서는 루프 및 변수 사용 등 4D에서 사용되는 다양한 프로그래밍 구조를 보여주는 구문 예를 제공합니다.

데이터형

4D 필드, 변수 및 식은 다음과 같은 데이터 [18]유형일 수 있습니다.

데이터형 들판 변수 표현
스트링 네. 네. 네.
번호(이중) 네. 네. 네.
날짜. 네. 네. 네.
시간을 네. 네. 네.
부울 네. 네. 네.
사진. 네. 네. 네.
포인터 아니요. 네. 네.
블롭 네. 네. 아니요.
어레이 아니요. 네. 아니요.
정수 64비트 네. 아니요. 아니요.
흘러가다 네. 아니요. 아니요.
물건 네. 네. 네.
수집 네. 네. 네.
정의되어 있지 않다 아니요. 네. 네.

4D 데이터 유형에 대한 자세한 내용은 [4D 데이터 유형] 설명서 페이지에서 확인할 수 있습니다.

가변 범위

로컬 변수에는 prefix가 붙습니다.$맘에 들다$myLocalVariable메서드 기간 동안만 존속합니다.

프로세스 변수에는 다음과 같은 접두사가 없습니다.myProcessVariable그 과정 내내 살아 남습니다.

프로세스 간(또는 글로벌) 변수 앞에는<>맘에 들다<>myGlobalVariable응용 프로그램 기간 내내 사용할 수 있습니다.

루핑 비교

위해서

For(vCounter;1;100) // 작업 종료:

하는 동안에

$i : = 1 // 카운터를 초기화합니다.While ( $i < = 100 ) // 100 회 / / 무언가를 $i : = $i + 1 / / 카운터를 증가시켜야 합니다.

따라하다

$i : = 1 // 카운터를 초기화합니다// 무언가 $i :=$i +1 // 카운터를 증가시킬 때까지($i=100) // 100회 반복

네스트 루프

다음 예제에서는 2차원 배열의 모든 요소를 살펴봅니다.

($vlElem;1; 어레이 크기(anArray)) /// 행으로 작업합니다.//...($vlSubElem;1; 어레이 크기(anArray{$vlElem}) // anArray{$vlElem}{$vlSubElem}:=...엔드 투 엔드

다음 예제에서는 데이터베이스에 있는 모든 날짜 필드에 대한 포인터 배열을 구축합니다.

어레이 포인터($apDateFields;0) $vlElem:=0 For($vlTable;1);마지막 테이블 번호 가져오기) // 각 테이블 번호에 $vTable을 숫자로 루프합니다. If(Is table number valid ($vlTable) // 테이블 번호 $vTable이 유효한지 확인합니다.// 유효한 테이블 For($vlField;1); 1;마지막 필드 번호 가져오기($vlTable) // 현재 테이블 내의 각 필드 번호에 $vlField를 현재 필드 번호로 사용하여 루프합니다. If (Is field number valid ($vlTable;$vlField) // 필드 번호가 유효한지 확인합니다.= 필드($vlTable;$vlField) // 필드 If(Type($vpField->)로의 포인터를 가져옵니다.=Is date) // 현재 필드가 날짜인지 확인 // 필드가 날짜 $vlElem인 경우에만 다음 작업을 수행합니다.=$vlElem+1 어레이에 삽입($apDateFields;$vlElem) $apDateFields{$vlElem}= $vpField if end if end to end if end to end if end to end

레퍼런스

  1. ^ a b "High-End Mac Database Offers Own Programming Language". InfoWorld. 16 March 1987.
  2. ^ a b c "4D Product Lifecycle". 4D. Retrieved 2016-01-10.
  3. ^ "4D People - 4D". 4d.com. 19 June 2018.
  4. ^ "A History of Innovation". 4d.com. 19 June 2018.
  5. ^ "Overdue Apple Server Goes to Market". ComputerWorld. 26 January 1987.
  6. ^ "New Database Software Program Moves Macintosh Into The Big Leagues". chicagotribune.com.
  7. ^ "Seeking 4th Dimension? Take Heart, It's Now In Town". chicagotribune.com.
  8. ^ Guy, Kawasaki (1989). The Macintosh Way. United States: Scott Foresman Trade. pp. 18. ISBN 0673461750.
  9. ^ "Good Bye ACI US, Hello 4D, Inc". MacNews.com.
  10. ^ InfoWorld (27 December 1993 – 3 January 1994). 4D Server delivers on the promises of others. InfoWorld Media Group, Inc.
  11. ^ ComputerWorld (24 July 1995). Database maker opens new Windows. ComputerWorld.
  12. ^ InfoWorld (9 June 1997). 4th Dimension suitable for mixed Mac, Windows sites. InfoWorld Media Group, Inc.
  13. ^ "4D, Inc. Ships 4D 2004 Featuring a New Streamlined Design Environment and New Deployment Technologies Business Wire". www.businesswire.com. Retrieved 2016-02-29.
  14. ^ "4D Announces the Worldwide Release of 4D Server V11 SQL". www.prnewswire.com. Retrieved 2016-02-29.
  15. ^ "4D Server v11 adds SQL, optimizes performance MacNN". MacNN.com. Archived from the original on 2016-03-05. Retrieved 2016-02-29.
  16. ^ "4D v12 is Now Available". iClarified. 4 June 2010. Retrieved 2016-02-29.
  17. ^ a b "Cycle de vie produits". 13 January 2020.
  18. ^ "Data Types". 4D Doc Center. Retrieved 28 July 2022.

외부 링크