Summer of Code에 지원했다. Project description은 아래와 같다. 크게 formal할 필요는 없을 것 같아서 대충 썼는데… 벌써 5700명이나 지원했다고 하니, 이 정도로는 뽑히기는 좀 힘들지 않을까 싶기도 하고… 구글의 application form의 Country 항목에는 South Korea가 위쪽에 올라와있는데, 의외로 우리나라의 지원자는 10명 뿐이다. PST로 14일이 마감이니 지원할 생각이 있으나 못하신 분들은 얼른 하시길.
Ruby .NET – Ruby compiler on .NET platform.
INTRODUCTION
Ruby .NET is an Ruby compiler implementation on Microsoft .NET platform. Not just adding another .NET language, but Ruby developers could interop with .NET platform easily. Besides, we can expect some performance boost.
Project Page (temporary): http://lastmind.net/twiki/bin/view/Main/RubyDotNet
APPROACH
Now I’m considering IronPython approach: Iron Python (http://www.ironpython.com/) is a C# implementation of Python interpreter and works on CLR. It shows better performance than original Python interpreter implementation. I’ve investigate IronPython code and found that it just parse Python code, build AST, and translate to CLI code using .NET reflection. I believe I can take same appraoch in Ruby .NET.
ISSUES
– There’s no authentic Ruby syntax reference except the original Ruby compiler implementation.
"I’m afraid, the only complete reference for Ruby’s grammar is the YACC input file "parse.y" from the ruby source distribution."
(from http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/15608)
– Semantics for Ruby statements is just hardwired into Ruby compiler implementation.
RELATED PRODUCTS
Of course, I’ve seen around several efforts to develop Ruby .NET, but I believe no production-quality project is available so that It’s worth to trying.
IronPython: http://www.ironpython.com/
JRuby: http://jruby.sourceforge.net/
rubydotnet: http://rubydotnet.sourceforge.net/
NetRuby: http://www.geocities.co.jp/SiliconValley-PaloAlto/9251/ruby/nrb.html
Ruby .NET Compiler: http://www.asakawa.net/ruby/rubynet_memo.html
Ruby – Perl Parse::RecDescent grammar: http://cpan.uwinnipeg.ca/htdocs/parrot/Ruby.html
RubySharp: http://www.pronovomundo.com/htu/theses2004/rubysharp_hedstrom_thesis_final_040526.pdf
EXPERIENCE
Compiler theory is a crucial skill to develop Ruby .NET. I’ve finished compiler course for undergraduate in KAIST and I believe I have. I have 3.5 year C/C++ system/network programming experience in POSIX platform as an alternative job to military service. I am specially interested in distributed computing technologies in enterprise environment like several RPC technologies, CORBA, DCOM, .NET Remoting, Indigo, and Web Services. I love to learn programming languages like C/C++, Java, C#, Perl, Python, Ruby. Ruby is my favorite one these days.
Update: tj형의 의견에 따라 좀 더 formal하게 대폭 수정해서 다시 application 제출 했다.