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

> "Ruby doesn't work forever"

Where does the response even address this?

All I know is that Ruby code I wrote 10ish years ago is still going strong, for example a whole compiler https://github.com/WebKit/WebKit/tree/main/Source/JavaScript...





Here's some places I noticed it:

> critics love the Twitter example. But look closer. Ruby carried them further than most companies will ever reach. They outgrew their shoes. That’s not an indictment… that’s success.

> I’ve never seen a team fail because they chose Ruby. I have seen them fail because they chose complexity. Because they chose indecision.

> GitHub held the world’s source code together for years using Ruby.

There are many examples of companies that used Ruby at one point very successfully but moved on from it once it no longer fit their situation. This isn't a critique of Ruby! But it is agreeing that Ruby can be outgrown and that, if you are looking to start with a language your usecase probably won't ever outgrow, Ruby might not be the best choice.


GitHub is an example of something that worked better with ruby than react...it got much worse.

It also may have had a better time with more recent versions of Ruby.

> Ruby code I wrote 10ish years ago is still going strong, for example a whole compiler <https://github.com/WebKit/WebKit/tree/main/Source/JavaScript...>

Neat. How is offlineasm used? (Without going into the details about the background of LLInt, that is—what I mean is, how is the compiler invoked?) Is it just the reference compiler, corresponding to some other machinery inside JSC?


That’s how the interpreter in JavaScriptCore gets compiled. The interpreter is written in a macro assembly dialect I invented and this is the compiler for it.

(I say compiled, not assembled, because it’s higher level than normal assembly. There’s an actual pipeline of transformations that happens. Plus a Turing complete macro language)


Thanks, that's helpful. (I mistook the compiler as being one that deals with JSC bytecode, either as input or output.)



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

Search: