나는 당신이 기본적으로 맞다고 생각합니다. 언어 런타임은 이미 완전히 유연한 데이터 중심 시스템입니다. 하나의 데이터 (프로그램)를 사용하여 다른 데이터에 대한 조치 방법을 결정하는 데 사용합니다. 포함 경로에서 적절한 설치 관리에 이르기까지 다른 프로그램에서 재사용하기 위해 코드를 저장하는 다중 사용자 체계가있을 수도 있습니다.
대략적으로 말하면 "스크립트 언어"는이 코드 입력을 사람이 읽을 수있는 언어 런타임입니다. 컴파일러는 사용자와 런타임 사이에 추가 단계를 배치합니다. Malbolge 및 APL 과 같은 "Joke"언어 는 어떤 형태로도 사람이 읽을 수있는 것은 아닙니다. 그러나 그것은 한 수준에서 모두 똑같으며, 인간이 읽을 수 있다고해서 모든 잠재적 사용자가 그것을 읽거나 쓸 수있는 기술을 가지고 있거나이를 개발할 것으로 기대할 수있는 것은 아닙니다.
일반적으로 최종 사용자에게 언어 런타임을 직접 노출시키지 않는 데는 충분한 이유 가 있습니다. 가장 큰 장점은 유연성을 제거하면 편의성이 향상된다는 것입니다.
SO 게시물을 입력하려면 입력하고 싶습니다. 대신 C ++ 프로그램을 작성하여 출력 할 수는 있지만 일반 텍스트 상자 대신 C ++ 프로그램 편집기를 노출시키는 웹 브라우저를 사용하지 않습니다. C ++을 모르는 사람들은 브라우저를 사용할뿐만 아니라 사용할 수 없었습니다.
그때 특정 비즈니스 매개 변수를 구성하려면 나는 반드시 튜링 완전한 사양 언어를 사용하고, 그렇게하고 싶지 않아 내가 한 경우에도 이 아마 다른 프로그램에서 "하드 코딩"그 같은 비즈니스 매개 변수에서하지 구별 언어. 당신은 여전히 당신이 쓰고있는 것이 당신이 원하는 것을 의미 하는지를 고려해야합니다. 변경 사항이 올바른지 테스트해야합니다. 즉, 사소하지 않고 구성 할 수 있도록 특수한 하위 시스템 ( "응용 프로그램")을 준비한 프로그래밍 기술 이 있는 사람 이 예상하지 않은 작업에는 여전히 프로그래밍 기술이 필요 합니다 ( "사용").
따라서 100 % 데이터 중심 시스템을 시작하려고한다면 올바른 데이터가 주어지면 무엇이든 할 수 있습니다. 두 가지 질문이 있습니다.
- 우리는 프로그래밍 언어를 개발하는 사업을하고 있습니까?
- 새로운 프로그래밍 언어가 기존의 언어보다 더 좋을까요 (필요에 따라 지원하고 개발할 예정입니까)?
때로는 대답이 그렇습니다. 그리고 여러분은 어떤 종류의 도메인 특정 언어를 작성합니다. 또는 Sun / Microsoft / Stroustrup / van Rossum / 많은 다른 사람이라면 실제 범용 프로그래밍 언어 일 수도 있습니다. 때로는 대답이 '아니오'이고 '내부 플랫폼'효과가 있습니다. 많은 노력과 시행 착오 끝에 무언가가 생깁니다. 운이 좋으면 작성한 프로그래밍 언어보다 약간 열등하므로 사용하기가 쉽지 않습니다.
일부 언어는 다른 언어보다 사용하기가 어렵거나 더 쉽습니다. 특히 R과 같은 목적에 특화된 경우 일부 사용자는 훨씬 쉽게 찾을 수 있습니다. 아마 당신이하지 않을 것, 일반적인 응용 프로그램을 기본적으로 쉽게 만드는 것입니다. 언젠가는 세상에 여러 사람 / 조직이있을 가능성이 있지만, 상사 / 회사는 자신을 포함하는지 여부를 정직하게 고려해야합니다.
Lua 바인딩을 게임 엔진에 노출시키는 게임에 종종 사용되는 트릭이 있습니다. 이를 통해 설계자는 비교적 쉬운 언어로 프로그래밍 할 수 있지만 성능에 필요한 경우 나 엔진 또는 플랫폼의 특정 기능에 액세스 할 수있는 "실제"프로그래머를 참여시킬 수 있습니다. 결과적으로 Lua 스크립트는 엔진에 관한 한 "데이터"입니다. 구성 데이터와 달리 "논리"라고 부르는 부분을 모두 포함 할 필요는 없으며 모든 게임 플레이가 아니라 모든 플롯과 환경을 정의하는 경우가 많습니다. 이것은 100 % 데이터 중심이 아니며 확실히 100 % 오류가 없지만 흥미로운 실질적인 타협입니다.