SE와 관련된 얘기가 나와서..잘 모르지만... 잠시. >언급한 내용으로 봐서는 SE에서 다루는 것이 비슷합니다만 그쪽에서는 >수학적으로 specify하지 않습니다. 단지 한단계위에서 코딩하는 메타프로그래밍일 >뿐이죠. 자동코드 제너레이터가 무엇인지 정확히 생각을 해보시면 뭔가 >앞뒤가 맞지 안는 부분이 발견될 겁니다. SE의 최근 유행중의 하나가 formal specification입니다. Formal 하다는 건 spec자체의 의미가 명확(denoationally, operationally, ayway you like) 하다는 것입니다. Temporal logic을 이용하기도 하고, state machine을 이용하기도 합니다. 아주 많은 제안이 이루어 지고 있죠. 아주 자세히 정의된 spec language에서는 code를 일부분 제너레이션해줍니다. 자세히 정의되었다는 건 language의 domain이 좁기 때문에 가능한 것이긴 하지만 통신프로토콜 분야에서는 실지로 이용되고 있습니다. Formal spec.의 원래 목적과는 좀 다른 분야에서 이용되는 얘긴 하지만.. 실지로 그런 응용 노력도 있다는 걸..말씀드리고 싶군요. >"무엇을 만들것인가 하는 프로그램을 목적을 수학적으로 specify하는 것" >-->이자체가 코딩이고 프로그래밍입니다. 단지 지금의 코딩과의 차이라 하면 > 메타레벨로 한차원 올라갔다는 차이 뿐 본질은 같습니다. 굉장히 어려운 문제 같은데, 그럼 본질은 무어죠? 프로그래밍의 본질이란? 메타레벨의 차이가 그렇게 아무 의미 없지는 않다고 생각합니다. What과 how를 구분하는 차이만큼 code generation은 의미를 갖습니다. @참... SE쪽에서는 인공지능적 기법(?)들을 별로 이용하지 않더군요. @흠... 누가..보고 욕할까...무섭군. :)