2008-10-15 7 views
10

내 프로젝트를 취미로 삼 으려 노력하면서 C#의 9-5 작업에서 동기를 유지하고 부 (Boo)를보고있었습니다. 일부? 's부는 당신을 위해 무엇을 할 수 있습니까?

  • Boo와 함께있는 경험이 있습니까?
  • 부 (Boo)와 어떤 종류의 앱/프로젝트를 했나요?
  • 부 (Boo)가 할 수있는 기능은 무엇입니까?

맞춰 웹의 세계 인, 데스크톱 응용 프로그램 등

단지 (오히려 근본적으로 에 대한 우우 것보다) 구현 언어로 우우를 사용하지만

답변

3

, 당신이 더러운 손을 좀하고 싶습니다 아옌데의 "Building Domain Specific Languages in Boo"을 읽으시겠습니까? 아직 완전히 공개되지는 않았지만 조기 액세스 버전을 얻을 수 있습니다.

아직 우우주의 깊게 보는 시간이 없었어요,하지만 (우우의 기능 중 일부를 얻은) C# 3를 통해 주요 장점과 메타 프로그래밍 간결성 (타입 추론 많이)로 나타납니다.

5

부에 대한 나의 개인적인 경험은 약 18 개월 전이었고 그 이후로 적극적으로 따라 오지 않았습니다. 내 말은입니다. 그것은 시원한 언어입니다. 그러나 또한 실험적입니다. 실질적인 의미는 다음과 같습니다.

  • 멋진 언어로 작업 할 수 있습니다. 루비와 파이썬 및 다른 언어의 유용한 기능을 믹싱 할 수있는 매크로.
  • SharpDevelop (표준 개발 언어로 통합 된 Boo)를 통해 사용할 수있는 WinForms 디자이너가 있습니다.
  • 아직 완료되지 않았기 때문에 때때로 중요 영역의 불일치와 버그가 있습니다.

  • 아직 제네릭을 만들 수 있는지 확실하지 않지만 확실히 소비 될 수 있습니다.

  • 성능은 좋지만 컴파일러에는 최적화 도구가 없습니다.

  • 추측은 멋지다. 오리 타이핑은 멋지다. 동적 타이핑에 대한 환상에 접근 할 수있는 모든 것.

저는 개인적으로 창의적인 글쓰기를 쉽게하기위한 도구를 사용했습니다. 작가를 위해 IDE를 생각하십시오. 정말 우우의 역동적 인 사고 방식에 맞게

+0

제네릭이 대부분 작동합니다. 제네릭으로 할 물건의 99 %가 거기에 있습니다. –

2
+0

이제는 고고학의 일부입니다;) 그러나 나는 동의합니다. 라이브 앱에 셸을 넣을 수 있다는 것은 엄청난 승리입니다. 이것은 Lisp 시절에 놓친 것 중 하나입니다. 요즘에는 여러 프레임 워크를 사용하여 쉽게 사용할 수 있습니다. –

2

나는 선언적 데이터 바인딩 매크로를 구현하기 위해 부 프로젝트와 함께 일하고있다. 언어는 매우 멋지다! 그것은 제가 가지고 있지 않은 컴파일러 구축에 대한 경험을 나에게줍니다.

그냥 재미있게하기 위해 우분투 8.10에서 모노에서 부와 작업하고 있습니다.

3

어흥는 DSL 생성 (내부 및 외부)

내부 DSL을가 매크로 메타 방법 및 컴파일러 확장 파이프 라인을 사용하여 만들 수있는 아주 강력한 도구이다. Boo 언어의 확장 - Boo.OMeta.Parser를 사용하여 외부 DSL을 만들 수 있습니다.

현재 파서가 개발 중이지만 이미 복잡한 외부 DSL을 만드는 데 사용할 수 있습니다. OMeta는 프로그래머가 어휘 분석기와 파서를 쉽게 구현할 수있는 강력한 도구입니다. Boo의 확장 가능한 컴파일러 파이프 라인 아키텍처는 표준 Boo.Parser를 Boo.Meta.Parser로 대체 할 수 있습니다. 거의 모든 종류의 구문을 사용하여 Boo 구문을 확장하는 데 사용할 수 있습니다. 예는 here입니다.

+0

빠른 Google 검색 후에 * DSL *이라고 가정합니다. * "도메인 별 언어 *"를 의미합니다. – cregox

관련 문제