C 프로그래밍 문법을 사용하는 스크립트 언어

bluegene의 이미지

C 나 C뿔 프로그래밍 문법을 사용하는 스크립트 언어가
어떤것이 있나요?

음...사용하고자 하는 요지는 이러합니다....

일반 프로그램상에서 스크립트로 처리할 수 있는
부분에 대해서는 그걸 사용하고자 하는데요..
그 목적으로 제가 사용해본 스크립트 언어는 lua 하나네요.
그런데 그것 자체로 문법을 가지고 있잖습니까.
그러한 문법이 C 언어와 동일하면서 그런 기능을
하는 스크립트 언어가 있는지 알고 싶네요..

글로의 표현이 쉽지않네요, 해되시길 바래요;;;;;;

쓴귤의 이미지

CINT C/C++ Interpreter

그러나 스크립트 언어에 굳이 C/C++처럼 복잡한 문법을 사용하는 게 큰 쓸모가 있을지는 모르겠습니다. 정 C/C++을 써야한다면 스크립트로 임베딩하는 것보다 동적링크가 낫지 않나요?

bluegene의 이미지

주신글들 감사드립니다. 많은 도움이 되었네요.

쓴귤 님께서 말씀하신
쓴귤그러나 스크립트 언어에 굳이 C/C++처럼 복잡한 문법을 사용하는 게 큰 쓸모가 있을지는 모르겠습니다. 정 C/C++을 써야한다면 스크립트로 임베딩하는 것보다 동적링크가 낫지 않나요?

부분에 있어서는 조금 다른 생각을 가지고 있습니다.
스크립트를 사용하는 이유가 쉬운 문법뿐만이 아님은 아실테니까요.
단지 문법만 C 쪽이라 스크립트의 사용에 있어서 쓸모를 말씀하시기는
조금 무리가 아닐가 싶네요. (그냥 제 생각입니다^^)

제가 사용한 경우에 있어서는 그런 문법보다는 다른쪽이 더 많은 이유가
있었고 오히려 문법쪽에 있어서 익숙하지 못함에 의한 어려움(^^;)이
있었거든요. 그런 이유로 혹시 어떤게 있을까 하고 찾아본 것이네요.

다시한번 좋은 정보 감사드려요~~

blue+gene /bluegene.mireene.com/

익명 사용자의 이미지

C++은 확실히 복잡하긴 한데, C가 문법이 복잡한가요?

cinsk의 이미지

Scripting 목적이라면 Tcl이나 Scheme을 적용하시는 것도 좋습니다. 특히 scheme을 embeddeding할 수 있는 GNU software인 guile을 쓰는 것도 한 방법입니다.

여담으로 Neverwinter Nights란 게임의 에디터는 C와 C++의 기능을 딴 interpreter(compiler?)를 내장하고 있습니다. 참고하기 바랍니다.

monpetit의 이미지

제 개인적인 생각입니다만 임베딩하시는 데엔 Tcl이나 Guile 처럼 덩치 큰 것들을 권장하지 않습니다.
굳이 Scheme을 사용하고 싶은 경우라면 GIMP 안에 임베딩되어 있는 SIOD(http://www.cs.indiana.edu/scheme-repository/imp/siod.html) 같은 게 덩치도 작고 빠릅니다. 게다가 Guile은 Unix 환경이라면 좋겠지만 아직 Win32 환경에서는 별로 만족스럽지 않습니다. (cygwin용 바이너리 배포 제한 등)
임베딩 언어의 덕목에는 여러가지가 있겠습니다만 그중에서도 중요한 것이 바로 바인딩의 용이함입니다.
익숙함 때문에 C-like 언어를 선택하신 듯한데, 걔중에는 바인딩 인터페이스의 불친절함으로 인해 스크립트 하나 부르는데 굉장한 준비작업이 필요하고 변수의 형변환도 무지 복잡한 경우가 많습니다. 그런 측면에서 생각한다면 lua 같이 친절한 경우를 찾기 어려우실 겁니다.
바인딩이 비교적 편리하다고 알려진 C-like 언어로는 angelscript(http://www.angelcode.com/angelscript/)도 있습니다. 참고하세요.

bluegene의 이미지

와우~좋은 정보들 감사드립니다.

blue+gene /bluegene.mireene.com/

쌀밥의 이미지

VS를 보는 느낌이.;ㅋㅋ

네버 윈터 나이츠.. 해보겠다고 말만 하고 계속 못해봤는데

이번 크리스마스에는 한번... 쿨럭 ㅡ.ㅡ;

일하는 사람들의 희망 민주노동당 : http://www.kdlp.org
반공 교육의 성과로, 민주주의의 반대가 공산주의(또는 사회주의)라고 생각하는 사람이 많다.

amister의 이미지

어떤 스크립트 언어를 사용할지는 확실히 사용하는 사람이나 팀의 자유입니만, 많은 언어가 특수한 목적을 가지고
개발되었다는 것을 생각해보면 당연히 어떤 언어가 힘을 발휘할 수 있는 특정 영역들이 있습니다.

익숙한 언어로 문제를 해결하려고 하는 것도 좋지만, 장기적으로 봤을 때는 가능한 많은 언어를 여러 가지 경우에서
사용해봄으로써 어떤 상황에서 어떤 언어로 문제해결을 해야 가장 효율적일지를 몸소 아는게 중요하다고 생각합니다.
그런 의미에서 봤을 때 성능이 크게 중요하지 않은 많은 프로젝트에서 일반적으로 사용되는 Perl이나 Python같은
스크립트 언어로 시도해보시는 것이 더 도움이 되지 않을까 생각됩니다. 급한 프로젝트가 아니라면 말이죠... :)

Perl, Python, Ruby... 셋 중 하나만 잘 익혀두면 나머지 익히기는 쉽습니다. 개발 앞으로 계속 하실 분이라면
스페셜리스트가 되든 제너럴리스트가 되든 언어에 구애받지 않는 개발자가 되는 것이 중요하다고 봅니다.

litdream의 이미지

amister wrote:
어떤 스크립트 언어를 사용할지는 확실히 사용하는 사람이나 팀의 자유입니만, 많은 언어가 특수한 목적을 가지고
개발되었다는 것을 생각해보면 당연히 어떤 언어가 힘을 발휘할 수 있는 특정 영역들이 있습니다.

익숙한 언어로 문제를 해결하려고 하는 것도 좋지만, 장기적으로 봤을 때는 가능한 많은 언어를 여러 가지 경우에서
사용해봄으로써 어떤 상황에서 어떤 언어로 문제해결을 해야 가장 효율적일지를 몸소 아는게 중요하다고 생각합니다.
그런 의미에서 봤을 때 성능이 크게 중요하지 않은 많은 프로젝트에서 일반적으로 사용되는 Perl이나 Python같은
스크립트 언어로 시도해보시는 것이 더 도움이 되지 않을까 생각됩니다. 급한 프로젝트가 아니라면 말이죠... :)

Perl, Python, Ruby... 셋 중 하나만 잘 익혀두면 나머지 익히기는 쉽습니다. 개발 앞으로 계속 하실 분이라면
스페셜리스트가 되든 제너럴리스트가 되든 언어에 구애받지 않는 개발자가 되는 것이 중요하다고 봅니다.

perl, python, ruby 를 embedding 하는 경우는 잘 못보았습니다만..

삽질의 대마왕...

죠커의 이미지

게임에서 AI나 UI에 파이썬을 쓰는 경우는 종종 있습니다.

- CN의 낙서장 / HanIRC:#CN

hey의 이미지

파이썬 내장과 확장은 많은 오픈소스 프로그램과 상용 프로그램에서도 사용됩니다. :]

펄과 루비는 잘 모르겠네요.


----------------------------
May the F/OSS be with you..


monpetit의 이미지

perl, python, ruby 세 언어를 모두 임베딩하는 대표적인 경우는 vim이겠죠. :)
ruby의 경우 RPG Maker라는 유명한 게임 만드는 프로그램에서 사용되고 있습니다.
python은 오픈소스 3D 모델링 프로그램인 blender에서 사용되고 있구요, 그 외에도 3D 렌더링 엔진의 스크립트로도 사용됩니다. 상용 게임에서도 아주 가끔 보이더군요.
하지만 게임 쪽에선 아무래도 덩치도 작고 빠른 lua가 많이 사용되고 있습니다.

jin6093의 이미지

bluegene wrote:
C 나 C뿔 프로그래밍 문법을 사용하는 스크립트 언어가
어떤것이 있나요?

Language 라고 말하긴 뭐하지만... Javascript는 어떤가요? :oops:

lifthrasiir의 이미지

bluegene wrote:
C 나 C뿔 프로그래밍 문법을 사용하는 스크립트 언어가
어떤것이 있나요?

음...사용하고자 하는 요지는 이러합니다....

일반 프로그램상에서 스크립트로 처리할 수 있는
부분에 대해서는 그걸 사용하고자 하는데요..
그 목적으로 제가 사용해본 스크립트 언어는 lua 하나네요.
그런데 그것 자체로 문법을 가지고 있잖습니까.
그러한 문법이 C 언어와 동일하면서 그런 기능을
하는 스크립트 언어가 있는지 알고 싶네요..

글로의 표현이 쉽지않네요, 해되시길 바래요;;;;;;

C와 유사한 스크립트 언어도 꽤 많긴 합니다만, (따지고 보면 자바스크립트도 C-like syntax) 사용자가 C에 충분히 익숙한 게 아니라면 굳이 C의 문법을 고집할 필요가 있을 지는 모르겠습니다. 어디에 사용되고 누가 사용하는 것인지에 대해 자세한 설명이 필요할 듯 싶습니다.

정말로 C 문법과 동일한 걸 쓰시고 싶다면 체스맨 님께서 소개하신 것들을 쓰셔야죠. (lcc 같은 것도 대안이 될 수 있습니다.) 저는 개인적으로 EiC를 쓰고 있습니다.

- 토끼군

dalmagi의 이미지

요즘 perl, ruby, python 인터프리터 언어 3강 체제에 돌입한 것 같군요. 허허
저도 세개 중 하나 배워보려고 하는데 뭐가 좋을지..

그런데 javascript 를 프로그램에 임베딩할 수도 있나요? 그러면 게중 젤 낫지 않나..
lua 가 뭔지 좀 알아봐야겠군여..

여담으로 저도 옛날에 네버윈터나이츠 한글판 사놓고 극악의 한글번역에 절망하여 처박아두고 안했는데 번역 다시 나왔을러나 궁금하네요.

----------------------------------------------
Fly me to the moon, and let me exit the world.

화이팅(fighting) 말고 화이트닝(whitening) 하면 안되나요.

7339989b62a014c4ce6e31b3540bc7b5f06455024f22753f6235c935e8e5의 이미지

자바스크립트 구현으로는 KJS, SpiderMonkey 등이 있습니다.
KJS는 KHTML에, SpiderMonkey는 겍코 엔진에 사용됩니다.
위키백과에 자세히 나와있으니 다음 페이지를 참고하세요. :)

http://en.wikipedia.org/wiki/List_of_JavaScript_engines

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.