Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

As a devoted rubyist, it seems clear to me in retrospect that ruby's "pretty complex to parse is just fine" approach has been a real challenge to the language's success. For reasons related to discussion in OP.

This project could be one approach to ameliorating that challenge, I'm very pleased to see shopify willing to invest in this, and hope it ends up effecting the ecosystem as hoped.



I disagree.

There are many languages that are hard to parse that are very successful. C and C++ are the obvious examples: there are many dark corners around the preprocessor, type annotations, etc. C++ is an absolute nightmare to parse.

C# is pretty complex too. Python has its weirdness around indentation.

Honestly, most popular languages end up acquiring a decent amount of grammatical complexity over the years and it doesn't seem to significantly hinder adoption. Humans are quite good at reading complex text and syntax.

I think the real tax on Ruby is its pervasive use of runtime metaprogramming. It's Ruby's most exciting strength and enables much of the joy and excitement that Ruby is known for. But it makes static analysis so hard and becomes less and less valuable as team and codebase size increases.


I'd say that C and C++ were successful despite their being hard to parse, and other unfortunate hacks, like null-terminated strings and include files instead if modules There was little choice for other features they offered (like Unix being written in C and bundling a C compiler) which.were the compelling reason to use them.

JavaScript was a huge success not because it was a great language, but because everyone wanted to write for the browser.


I think you and I are saying essentially the same thing: grammatical complexity seems to have little negative impact on language success.

> There was little choice for other features they offered (like Unix being written in C and bundling a C compiler) which.were the compelling reason to use them.

Pascal was around at the same time, is grammatically infinitely more elegant... and is dead.


Pascal evolved into Modula-2 and Oberon, which both live on, in significant chunks, fused into the highly successful Go language.


Shame, too; that was a really fun language.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: