Thursday, July 12, 2012

When I see that Ruby's parser is 10,000 lines of C

5 comments:

patrickdlogan said...

Alan Kay refers to programming today as pop culture. When I saw the rise of ruby, and I saw the so-called definition of ruby, and I saw the implementation of ruby, I had the same reaction. I just couldn't find as good a label. But that's exactly it.

Manuel Simoni said...

I think Ruby is important because it showed that the Lisp-style mix of object-oriented, semi-functional, and (limited, in Ruby's case) metaprogramming is widely applicable.

patrickdlogan said...

Yes, and ruby on rails really opened the whole "polyglot" era by being so good at generating a Hello World web app. Although "polyglot" is my least favorite pop-CS word right after "homoiconic".

The big problem is ruby and rails technically have gone nowhere since. Good start, no finish.

Anonymous said...

I was programming ruby before rails came about. Back then, parse errors would sporadically appear without rhyme or reason. Add or subtract a space or newline, randomly jostle the code, and it worked again. parse.y has never gotten better in a real sense, and while the common issues have been resolved, one can only hope to approach correctness asymptotically.

The incompatible syntax change between 1.8.6 and 1.8.7 was incredible. I still cannot understand how this was not seen as obviously retarded. Point releases shouldn't be incompatible in any sense, much less on the language level.

pjb said...

"I think Ruby is important because it showed that the Lisp-style mix of object-oriented, semi-functional, and (limited, in Ruby's case) metaprogramming is widely applicable."

I'm not so sure. I wrote in an enterprise setting a little ruby script that parsed some xml input file, generated an in-memory ruby sexp, and translated it into a C++ program, and to my great surprise, I got remarks from coworkers and project manager asking me why I wrote Lisp!? And I didn't even use parentheses around ruby expressions as I like to do, it was plain honest Ruby.

The problem is not with the languages, it's in the minds.