LangDev

본인 언어의 철학은 무엇인지요..?

착한아이

이곳에 계신 분들중 개발중이신 언어의 철학 혹은 목표, 지향하는바등이 무엇인지, 간략히 자랑 부탁드립니다..

예로서 제 경우를 언급해보겠습니다. 제가 구상중인 언어는 아래 규정을 따르면서 조성되고 있습니다.

"문법적으로 에러가 (가능하면) 발생하기 어려우면서, 알고리즘을 표현한다."

1조 : "에러가 발생하기 어려운"의 구현 방법

1.1항 : 최소의 표기를 사용한다. 최소의 문자를 조합해서 최소의 기본구조로부터 확장한다. Ex. 문자로 표현되는 예약어 없음. 공백도 문법요소

1.2항 : 최소의 표기를 지향한다. 최소의 표기를 위해 생략형을 허용하고, 생략된 인자에 대한 기본값을 지정한다.

1.3항 : 전용 편집기를 제공한다. Ex. 시각적 구조표현, 에러입력방지, 자동완성, 자유명명

2조 : "알고리즘을 표현한다."의 구현 대상

2.1항 : 표현의 일반화를 지향한다. 기존의 구조적 언어들의 의미들을 모두 표현해낼 수 있어야 한다. Ex. exit-block, exit-loop

2.2항 : 명칭의 통합을 추구한다. 현존 언어뿐 아니라 향후 개발될 언어조차 언어간 표현, 명칭전환을 지원한다.

  1. 나에게 즐거운 것만 만든다.
  2. 1항을 어기지 않는 한도내에서, 내가 쓰기에 편하다고 생각하는 것만 만든다.
  3. 1,2항을 어기지 않는 한도내에서, 내가 필요하다고 생각하는 것만 만든다.
  4. 1,2,3항을 어기지 않는 한도내에서, 무엇이든 최대한 많이 만든다.
semmal

이게 정답이네요.

lifthrasiir
  1. 가볍고 무겁게 만든다. - 언어/가상 기계는 경량화, 할 수 있는 일은 다양하고 무게있는 것들까지

  2. 자연어를 지향하지 않는다. - 많은 한국어/한글 프로그래밍 언어들이 빠진 함정.

임수서룬뫼

문법을 최대한 없앤다. 대신 문법을 선택할 자유를 제공한다. DSEL 메타프로그래밍 가능성을 최대한으로... 물론 이미 Lisp이라는 걸출한 언어가 있긴 하지만요.

홍민희

BlueRose의 것은 대략 이렇습니다.

  1. 가능한 최대의 자유를 부여한다.
  2. 언어를 가능한 자유로이 확장할 수 있게 한다.
  3. 언어 차원에서 무언가를 제한하려 하지 않는다. 대신, 그것을 제한할 수 있게 하는 도구를 만들게 한다.
Kroisse