2

나는 모든 것에 가장 적합한 언어를 가질 수 없다는 것을 알고 있습니다."간단한"프로그램에 대한 범용 메타 언어

그러나 간단한 프로그램 종류가 있습니다. 소스 코드는 모든 언어에서 거의 동일합니다.

저는 "hello world"뿐만 아니라 arithmetics, 아마도 문자열 조작, 유틸리티 클래스에서 일반적으로 볼 수있는 기본적인 내용을 생각하고 있습니다.

나는이 공용어로 유틸리티를 유지하고 대중적인 언어로 자동 번역하고 싶습니다. 나는 이것을 지금 당장 손으로한다.

다시 한 번 가능한 모든 프로그램의 번역을 요청하지 않습니다. 나는 매우 제한적이고 단순한 언어를 생각하고 있지만 슈퍼 포터블입니다.

그런 점을 알고 있습니까? 그것이 존재해서는 안되는 이유가 있습니까?

+0

많은 사람들이 곧 파이썬을 권할 것입니다. 내가 그것을 사용한 적이 없기 때문에 나는 그것을 추천하지 않을 것이다. 그러나 그것은 사람들이 이런 유형의 질문에 답하는 일종의 것으로 보인다. – FrustratedWithFormsDesigner

+0

자, 파이썬 소스 코드를 받아서 자동으로 자바로 변환해서 자바 프로그램에서 사용할 수 있습니까? C# 및 C로 변환 할 수 있습니까? 코드를 임베드하고 싶지는 않습니다. 다중 언어 프로젝트를 다루는 것이 많은 사람들을 방해 할 수 있으므로 코드를 대상 언어로 직접 작성하고 싶습니다. –

+4

이 언어는 의사 코드라고하며, "프로그래머"라는 기계에 의해 실제 언어로 번역됩니다. – delnan

답변

1

haXe 및 해당 Wikipedia 페이지를 확인하십시오. 그것은 오픈 소스이며 그 주요 목적은 당신이 묘사 한 것입니다 : 하나의 소스에서만 여러 언어로 코드를 생성하십시오.

+0

이것은 지금까지 제가 달성하려고 시도했던 것 중 가장 좋은 근사치입니다 - 감사합니다! –

0

자연스럽게 다른 언어로 매핑되지 않는 일부 기능 만 선택하면됩니다. 내가 생각할 수있는 가장 가까운 것은 JavaScript의 유용한 하위 집합 일 것입니다. 물론 언어 작성자 인 경우 언어에 관계없이 모든 언어 (루프, 조건부 등)에 공통된 구문 만 제공하면 원하는만큼 제한 할 수 있습니다.

가변성을 위해 XML 표현 최고이지만 코드 작성을 원하지 않을 것입니다.

+0

자바 스크립트 하위 집합은 훌륭한 출발점처럼 들립니다. –

+0

이 예가 아닙니다. – eschneider

+0

@eschneider : 예를 들어 보지 않으시겠습니까? 질문을 한 사람을 만족시키는 것 같습니다. – Buggieboy

0

고전적인 파스칼은 매우 간단합니다. Oberon도 이와 비슷한 옵션입니다. 또는 컴퓨터 과학 교과서의 의사 코드와 비슷한 자신의 파생 언어를 만들 수도 있습니다. 이 언어들 중 하나의 번역자를 현대적인 명령형 언어로 구현하는 것은 사소한 일입니다.

+0

정말 결국 나 자신을해야 할 것 같습니다. :) –

1

범용 언어가 없다면 템플릿 기반 코드 생성기를 사용하여 실용적인 모델 중심 개발 방법을 시도해 볼 수 있습니다.

템플릿에는 알고리즘의 기본 개념을 보관합니다. 그런 다음 필요에 따라 하나 이상의 특정 언어 (C++, Java, JS, Python)로이 알고리즘에 대한 코드를 추가합니다. 어쨌든 언어 또는 접근 방법에 관계없이 선택해야합니다. 구성 스위치는 적용한 모든 템플리트에 대해 올바른 언어를 선택합니다.

AtomWeaver은 템플릿과 함께 작동하며 모델링 방식으로 ABSE를 사용하는 코드 생성기입니다.

1

나는 이것을보고 찾았습니다. https://www.indiegogo.com/projects/universal-programming-language 재미있을 것 같습니다.

+0

그 사람은 어떻게하는지 잘 모릅니다. 그들은 단지 "전문가를 고용"하고 "호스팅을 사기"를 원하며 나머지는 어떻게 되겠습니까. 나는 그것이 투자 될 것이라고 생각하지 않으며, 만약 그것이 가능하다면, 그것은 전달하는데 실패 할 것입니다 ... –

+0

내 말은 .. 오하이오 하나님. 그들은 iOS와 Android를 "프로그래밍 언어"라고 부릅니다. 하지만 비슷한 꿈을 가진 사람들이 있다는 것을 지적 해 주셔서 감사합니다. 나는 단지 좀 더 성취 할 수있는 방법을 원했고 단지 가장 기본적인 계산을 위해서이 모든 언어들 중 아주 작은 부분만을 원했습니다. –

+0

대중을 위해 일하는 무언가가 떠오르는 사람이라면 누구나 가능하다면 잘 할 것입니다. – Shawn