맨위로가기

IronRuby

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

IronRuby는 .NET Framework를 대상으로 하는 Ruby 프로그래밍 언어의 구현체이다. 2007년 마이크로소프트에 의해 발표되었으며, 동적 언어 런타임(DLR)을 활용하여 .NET 환경에서 Ruby 코드를 실행할 수 있게 설계되었다. 초기에는 마이크로소프트 공용 라이선스로 배포되었으나, 2010년 아파치 라이선스 2.0으로 변경되었다. 2010년 마이크로소프트가 IronRuby 개발을 커뮤니티 주도로 전환하면서 현재는 커뮤니티에서 개발이 진행되고 있다.

더 읽어볼만한 페이지

  • 루비 (프로그래밍 언어) - 마츠모토 유키히로
    마츠모토 유키히로는 루비 프로그래밍 언어를 창시하고 주요 개발자로 활동하며 MRI, mruby, streem 등 다양한 프로그래밍 언어 및 관련 기술 개발에 기여한 인물로, 오픈소스 소프트웨어 커뮤니티에 대한 공헌과 루비 온 레일즈의 성공으로 세계적인 인정을 받았다.
  • 루비 (프로그래밍 언어) - 루비포지
    루비포지는 루비 센트럴이 운영하며 오픈 소스 루비 언어 관련 홍보를 지원하는 웹사이트였으나, 2014년 5월 15일에 서비스가 종료되었다.
  • C 샤프로 작성된 자유 소프트웨어 - 밴시 (미디어 플레이어)
    밴시는 플러그인을 통해 기능을 확장할 수 있으며, Mac OS X, 리눅스, 윈도우를 지원하는 미디어 플레이어이다.
  • C 샤프로 작성된 자유 소프트웨어 - MonoDevelop
    MonoDevelop은 .NET 플랫폼용 통합 개발 환경으로, 비주얼 스튜디오와 유사한 기능을 제공하며 다중 플랫폼 및 다양한 프로그래밍 언어를 지원하고, 오픈 소스 IDE로서 Visual Studio for Mac의 대안으로 고려될 수 있다.
  • 닷넷 프로그래밍 언어 - 파워셸
    파워셸은 마이크로소프트에서 개발한 작업 자동화 솔루션으로, 명령줄 셸과 스크립트 언어의 기능을 결합하여 윈도우 시스템 관리를 위해 설계되었으며, .NET 프레임워크 기반의 객체 지향적 특징을 갖고 다양한 플랫폼에서 자동화 스크립트 작성 및 실행, 시스템 구성 관리 등에 활용된다.
  • 닷넷 프로그래밍 언어 - 코볼
    코볼은 1959년 CODASYL에 의해 개발된 공통 사무 처리용 프로그래밍 언어이며, 사무 처리 시스템의 표준 언어로 널리 사용되면서 객체 지향 기능과 새로운 기능이 추가된 표준이 발표되었다.
IronRuby - [IT 관련 정보]에 관한 문서
일반 정보
로고
저자마이크로소프트 동적 언어 런타임
개발자닷넷 파운데이션
최초 릴리스2007년 8월 31일
최신 릴리스 버전IronRuby 1.0
최신 릴리스 날짜2010년 4월 12일
최신 미리보기 버전IronRuby 1.1.3
최신 미리보기 날짜2011년 3월 13일
저장소GitHub 저장소
프로그래밍 언어C#
운영체제Windows
Linux
macOS
플랫폼.NET Framework
Mono
장르루비 프로그래밍 언어 컴파일러
라이선스아파치 라이선스 2.0
웹사이트공식 웹사이트

2. 역사

2007년 4월 30일, 마이크로소프트는 MIX 2007에서 Wilco Bauwer의 IronRuby 프로젝트와 동일한 이름을 승인 하에 사용하는 IronRuby를 발표했다.[3] 이는 OSCON 2007에서 대중에게 공개될 예정이었다.[4] 2007년 7월 23일, John Lam과 DLR 디자인 팀은 OSCON에서 IronRuby 컴파일러의 pre-Alpha 버전을 발표하고, 오픈 소스 커뮤니티에 더 통합하기 위한 빠른 일정을 발표했다.[5] 2007년 8월 31일에는 RubyForge에서 pre-alpha 단계의 코드가 공개되었는데,[6] 소스 코드는 핵심 Microsoft 팀에 의해 정기적으로 업데이트되었지만, 팀은 핵심 DLR 라이브러리에 대한 커뮤니티 기여는 허용하지 않았다.[7]

2008년 7월 24일, IronRuby 팀은 OSCON 2008에서 첫 번째 바이너리 알파 버전을 출시했고,[8] 2008년 11월 19일에는 두 번째 알파 버전을 출시했다. IronRuby 팀은 Rails 지원을 위해 노력했으며,[9][10] 일부 Rails 기능 테스트가 시작되었지만, 프로덕션 환경에서 Rails를 실행하려면 더 많은 작업이 필요했다.[11]

2009년 5월 21일, RailsConf 2009에서 버전 0.5가 출시되어 IronRuby가 일부 Rails 애플리케이션을 실행할 수 있음을 시연했지만, 여전히 프로덕션 환경에서는 실행할 수 없었다.[12] 2009년 7월 23일, OSCON 2009에서 버전 0.9가 발표되었으며,[13] 이 버전은 성능이 향상되었다.[14]

2010년 4월 12일, IronRuby 1.0 버전이 출시되었다.[16][46] 이 버전은 .NET 4.0 위에서 실행되는 권장 버전과 .NET 2.0에서 실행되는 제한적인 기능을 가진 버전으로 제공되었으며, 후자는 Mono와 호환되는 유일한 버전이었다.[16] IronRuby 팀은 1.0 릴리스에서 Ruby 1.8.6을 지원하고, 향후 1.x 릴리스에서는 Ruby 1.9 버전을 지원하며, Ruby 1.8.7에 대한 지원은 건너뛸 계획이었다.[17][18]

2010년 7월, 마이크로소프트는 IronRuby의 라이선스를 Microsoft Public License에서 Apache License 2.0으로 변경하였다.[19][20][47] 같은 해 10월, 마이크로소프트는 IronRuby를 포함한 Iron 프로젝트들을 "외부" 프로젝트로 전환하고, 커뮤니티 주도 개발을 지원한다고 발표했다.[21][48] 이에 따라, 마이크로소프트는 IronRuby 핵심 팀원 중 한 명을 해고하고 프로젝트 자금 지원을 중단했다.[19][20]

2011년 3월 13일, 커뮤니티 주도로 개발된 IronRuby 1.1.3 버전이 출시되었다.[22][51] 이후 IronRuby는 커뮤니티 주도로 개발이 진행되고 있다. 2011년 2월 7일에는 커뮤니티 이관 후 첫 릴리스인 버전 1.1.2가 릴리스되었다.[50] IronRuby는 RubySpec을 기반으로 구현되었으며, Github에 있는 IronRuby 저장소에는 MSpec 테스트 프레임워크를 사용한 RubySpec 테스트가 포함되어 있다.[52]

2. 1. 초기 발표 및 개발 (2007년 ~ 2009년)

2007년 4월 30일, 마이크로소프트는 MIX 2007에서 Wilco Bauwer의 IronRuby 프로젝트와 동일한 이름을 승인 하에 사용하는 IronRuby를 발표했다.[3] 이는 OSCON 2007에서 대중에게 공개될 예정이었다.[4] 2007년 7월 23일, John Lam과 DLR 디자인 팀은 OSCON에서 IronRuby 컴파일러의 pre-Alpha 버전을 발표하고, 오픈 소스 커뮤니티에 더 통합하기 위한 빠른 일정을 발표했다.[5] 2007년 8월 31일에는 RubyForge에서 pre-alpha 단계의 코드가 공개되었는데,[6] 소스 코드는 핵심 Microsoft 팀에 의해 정기적으로 업데이트되었지만, 팀은 핵심 DLR 라이브러리에 대한 커뮤니티 기여는 허용하지 않았다.[7]

2008년 7월 24일, IronRuby 팀은 OSCON 2008에서 첫 번째 바이너리 알파 버전을 출시했고,[8] 2008년 11월 19일에는 두 번째 알파 버전을 출시했다. IronRuby 팀은 Rails 지원을 위해 노력했으며,[9][10] 일부 Rails 기능 테스트가 시작되었지만, 프로덕션 환경에서 Rails를 실행하려면 더 많은 작업이 필요했다.[11]

2009년 5월 21일, RailsConf 2009에서 버전 0.5가 출시되어 IronRuby가 일부 Rails 애플리케이션을 실행할 수 있음을 시연했지만, 여전히 프로덕션 환경에서는 실행할 수 없었다.[12] 2009년 7월 23일, OSCON 2009에서 버전 0.9가 발표되었으며,[13] 이 버전은 성능이 향상되었다.[14]

2. 2. 정식 버전 출시 및 오픈 소스 전환 (2010년 ~ 2011년)

2010년 4월 12일, IronRuby 1.0 버전이 출시되었다.[16][46] 이 버전은 .NET 4.0 위에서 실행되는 권장 버전과 .NET 2.0에서 실행되는 제한적인 기능을 가진 버전으로 제공되었으며, 후자는 Mono와 호환되는 유일한 버전이었다.[16] IronRuby 팀은 1.0 릴리스에서 Ruby 1.8.6을 지원하고, 향후 1.x 릴리스에서는 Ruby 1.9 버전을 지원하며, Ruby 1.8.7에 대한 지원은 건너뛸 계획이었다.[17][18]

2010년 7월, 마이크로소프트는 IronRuby의 라이선스를 Microsoft Public License에서 Apache License 2.0으로 변경하였다.[19][20][47] 같은 해 10월, 마이크로소프트는 IronRuby를 포함한 Iron 프로젝트들을 "외부" 프로젝트로 전환하고, 커뮤니티 주도 개발을 지원한다고 발표했다.[21][48] 이에 따라, 마이크로소프트는 IronRuby 핵심 팀원 중 한 명을 해고하고 프로젝트 자금 지원을 중단했다.[19][20]

2011년 3월 13일, 커뮤니티 주도로 개발된 IronRuby 1.1.3 버전이 출시되었다.[22][51]

2. 3. 커뮤니티 주도 개발 (2011년 이후)

2010년 7월, 마이크로소프트는 IronRuby 핵심 팀의 두 멤버 중 한 명인 [http://jimmy.schementi.com Jimmy Schementi]를 해고하고 프로젝트 자금 지원을 중단했다.[19][20] 2010년 10월, 마이크로소프트는 Iron 프로젝트(IronRubyIronPython)가 "외부" 프로젝트로 변경되었으며 "Microsoft의 참여나 Microsoft 직원의 후원 없이 커뮤니티 구성원이 기여할 수 있도록" 할 것이라고 발표했다.[21] IronRuby의 마지막으로 발표된 릴리스는 2011년 3월 13일에 버전 1.1.3으로 출시되었다.[22][51]

이후 IronRuby는 커뮤니티 주도로 개발이 진행되고 있다. 2011년 2월 7일에는 커뮤니티 이관 후 첫 릴리스인 버전 1.1.2가 릴리스되었다.[50] IronRuby는 RubySpec을 기반으로 구현되었으며, Github에 있는 IronRuby 저장소에는 MSpec 테스트 프레임워크를 사용한 RubySpec 테스트가 포함되어 있다.[52]

3. 아키텍처

3. 1. 동적 언어 런타임(DLR)

3. 2. Mono 지원

IronRuby는 마이크로소프트 공용 언어 런타임(CLR)뿐만 아니라 오픈 소스 소프트웨어 구현인 모노에서도 실행될 수 있다.[23][53] 그러나 마이크로소프트 관리 하에서 IronRuby 팀은 윈도우의 CLR 환경에서만 동작을 확인했고,[24][54] 빌드에 따라 모노에서 빌드되지 않는 문제가 발생할 수 있었다.[25][26][27][55][56][57] Mono에서의 빌드 관련 정보는 Github의 Wiki에 기술되어 있다.[58]

3. 3. .NET 상호 운용성

IronRuby는 .NET Framework 클래스와의 상호 운용성을 제공하지만, 많은 Ruby 클래스가 .NET 클래스가 아니기 때문에 제한적이다.[28] Ruby의 관점에서 보면, .NET 클래스는 Ruby 클래스가 아니므로 상호 운용성에 제약이 따른다. 그러나 .NET 어셈블리 호출이나 .NET에서 Ruby 스크립트를 호출하는 것은 다른 환경에 비해 비교적 용이하다. .NET 4.0에서는 동적 언어에 대한 지원이 강화되어 향후 상호 운용성이 향상될 수 있다.[29][30]

3. 4. Silverlight 지원

IronRuby는 실버라이트에서 지원되었다. 이는 자바스크립트 엔진처럼 브라우저 내에서 스크립팅 엔진으로 사용될 수 있었다.[31] IronRuby 스크립트는 `<script>` 태그 내에서 간단한 클라이언트 측 자바스크립트 스크립트처럼 전달되었다. 이는 임베디드 XAML 마크업을 수정하는 것도 가능하게 했다.[32]

이 기술의 배후에는 Gestalt[33]라는 기술이 있었다.

```xml

// DLR 초기화 스크립트.



```

이는 IronPython에서도 동일하게 작동했다.[34]

4. 테스트

IronRuby는 루비스펙(RubySpec)을 통합하여 루비 언어 사양과의 호환성을 검증한다.[35] 루비스펙은 루비 프로그래밍 언어의 실행 가능한 사양을 제공하는 프로젝트이다.[35] IronRuby Git 저장소에는 MSpec 테스트 프레임워크를 포함한 RubySpec 테스트가 포함되어 있다.[35]

5. 라이선스

IronRuby는 초기에는 OSI 인증을 받은 BSD 스타일의 라이선스인 마이크로소프트 공용 라이선스로 배포되었다.[36] 2010년 7월 16일, 마이크로소프트는 IronRuby와 DLR을 아파치 라이선스 2.0으로 재허가했다.[37][59]

6. 관련 서적


  • 셰이 프리드먼, "IronRuby Unleashed", 샘스, 2010, ISBN 0672330784
  • 이반 포르토 카레로, 아담 버미스터, "IronRuby in Action", 매닝, 2010, ISBN 1933988614

참조

[1] 웹사이트 Early look at IronRuby http://blogs.msdn.co[...] 2007-07-25
[2] 웹사이트 RubyForge: IronRuby: Project Info http://rubyforge.org[...] 2007-09-07
[3] 웹사이트 Microsoft's Iron Ruby http://www.wilcob.co[...] 2007-07-24
[4] 웹사이트 Microsoft and IronRuby http://www.iunknown.[...] 2007-06-18
[5] 웹사이트 A First Look at IronRuby http://www.iunknown.[...] 2007-07-23
[6] 웹사이트 IronRuby on Rubyforge! http://www.iunknown.[...] 2007-08-31
[7] 웹사이트 Regarding IronRuby... How true it sounds from this blog http://rubyforge.org[...] 2008-04-29
[8] 웹사이트 IronRuby at OSCON http://www.iunknown.[...] 2008-07-24
[9] 웹사이트 IronRuby on Rails http://en.oreilly.co[...] 2008-05-25
[10] 웹사이트 IronRuby r112 is out http://rubyforge.org[...] 2008-05-24
[11] 웹사이트 IronRuby / Rails Question http://rubyforge.org[...] 2008-05-25
[12] 웹사이트 IronRuby at RailsConf 2009 http://blog.jimmy.sc[...] 2008-05-25
[13] 웹사이트 IronRuby 0.9 http://en.oreilly.co[...] 2009-07-23
[14] 웹사이트 Comparing the performance of IronRuby, Ruby 1.8 and Ruby 1.9 on Windows http://antoniocangia[...] 2009-08-03
[15] 웹사이트 IronRuby 1.0RC1 http://ironruby.code[...] 2009-11-20
[16] 웹사이트 IronRuby 1.0 release notes http://ironruby.code[...] 2010-04-12
[17] 웹사이트 MRI 1.8.7 compatibility http://rubyforge.org[...] 2010-02-12
[18] 웹사이트 MRI 1.8.7 compatibility http://rubyforge.org[...] 2010-02-14
[19] 웹사이트 It's not you, it's me: Microsoft kills IronRuby http://www.infoworld[...] InfoWorld 2010-08-11
[20] 웹사이트 '"Start spreading the news": the future of Jimmy and IronRuby' http://blog.jimmy.sc[...] 2010-08-06
[21] 웹사이트 New Components and Contributors for IronPython and IronRuby http://blogs.msdn.co[...] Microsoft 2014-12-27
[22] 웹사이트 IronRuby 1.1.3 http://ironruby.code[...] ironruby.codeplex.com 2011-03-13
[23] 웹사이트 Improving Mono's compatibility with .NET CLR http://tirania.org/b[...] 2009-07-27
[24] 웹사이트 IronRuby and Mono http://rubyforge.org[...] 2008-08-06
[25] 웹사이트 IronRuby and Mono http://rubyforge.org[...] 2008-09-04
[26] 웹사이트 DLR Daily Builds (including IronRuby) http://rubyforge.org[...] 2009-01-23
[27] 웹사이트 mono builds http://rubyforge.org[...] 2009-05-26
[28] 웹사이트 Xna+IronRuby+RubyNewb=headache http://rubyforge.org[...] 2008-12-16
[29] 웹사이트 WPF databinding with ruby objects http://rubyforge.org[...] 2008-12-12
[30] 웹사이트 Dynamic .NET - Creating Interactive Bing Maps with Silverlight and IronRuby https://learn.micros[...] 2015-09-22
[31] 문서 IronRuby in the browser - IronRuby.net http://ironruby.net/[...]
[32] 웹사이트 Building a WPF Application in IronRuby https://www.infoq.co[...]
[33] 웹사이트 Gestalt: Ruby and Python in the browser, again http://jimmy.schemen[...] 2009-07-22
[34] 뉴스 Silverlight: Embed IronRuby/DLR Scripting within XAML using IValueConverter and Custom UserControl {{!}} Chris Pietschmann https://pietschsoft.[...]
[35] 웹사이트 RubySpec https://github.com/i[...] 2010-10-23
[36] 뉴스 After three years effort, Microsoft's open source IronRuby stable and available https://www.networkw[...] 2010-04-14
[37] 웹사이트 IronRuby License https://web.archive.[...] 2010-07-27
[38] 웹사이트 Microsoft's IronRuby http://www.wilcob.co[...] 2007-05-05
[39] 웹사이트 Microsoft and IronRuby http://www.iunknown.[...] 2007-05-31
[40] 웹사이트 A first look at IronRuby http://www.iunknown.[...] 2007-07-23
[41] 웹사이트 IronRuby at RailsConf 2009 http://blog.jimmy.sc[...] 2008-05-25
[42] 웹사이트 IronRuby 0.6 Released! http://blog.jimmy.sc[...] 2008-05-25
[43] 웹사이트 IronRuby at OSCON 2009: Mono, Moonlight, and scripting open source apps http://blog.jimmy.sc[...] 2009-07-23
[44] 웹사이트 IronRuby 0.9 Released! http://blog.jimmy.sc[...] 2008-08-01
[45] 웹사이트 RubyForge: IronRuby: リリースノート! http://rubyforge.org[...] 2008-11-02
[46] 웹사이트 '[Ironruby-core] [ANN] IronRuby 1.0 Released!' http://rubyforge.org[...] 2010-04-12
[47] 웹사이트 Microsoft Licensing Changes for IronRuby and IronPython http://tirania.org/b[...] 2010-07-17
[48] 웹사이트 New Components and Contributors for IronPython and IronRuby http://blogs.msdn.co[...] 2010-10-21
[49] 웹사이트 '1.1.1' http://ironruby.code[...] 2010-10-21
[50] 웹사이트 '1.1.2' http://ironruby.code[...] 2011-02-07
[51] 웹사이트 '1.1.3' http://ironruby.code[...] 2011-03-13
[52] 웹사이트 RubySpec https://github.com/i[...] 2010-10-23
[53] 웹사이트 Improving Mono's compatibility with .NET CLR http://tirania.org/b[...] 2009-08-03
[54] 웹사이트 IronRuby and Mono http://rubyforge.org[...] 2008-09-13
[55] 웹사이트 IronRuby and Mono http://rubyforge.org[...] 2008-09-13
[56] 웹사이트 DLR Daily Builds (including IronRuby) http://rubyforge.org[...] 2009-01-23
[57] 웹사이트 mono builds http://rubyforge.org[...] 2009-06-05
[58] 웹사이트 Building - mono http://wiki.github.c[...] 2010-01-18
[59] 웹사이트 IronRuby License http://ironruby.code[...] 2010-07-16
[60] 웹인용 Early look at IronRuby http://blogs.msdn.co[...] 2007-07-25
[61] 웹인용 RubyForge: IronRuby: Project Info https://web.archive.[...] 2007-09-07



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com