Good question! Because this is on a hot code path, we were allocating new values faster than the garbage collector was able to remove them. Over extended periods of time, the server would trend toward running out of memory.
I did for a while. Around version 58 it started performing better again. Then something in v60 caused a bunch of CPU spikes again, so I'm using Developer Edition, which is on v61 and doesn't have that issue.
I would say 99% of the time, Firefox is great for me. There are occasional sites that I open in Chrome - either because of video choppiness or JS going out of control on a page.
However, I would love it if it were less of a gamble when upgrading versions.
Do you mind expanding on what you mean? When I look at the instructions here, they seem pretty concise.
`export` -> exports the thing
`default` -> if you require from this module, this is the default
`class` -> class definition
`extends` -> speaks for itself
`Controller` class it's extending.
You could maybe rework it so you don't export it on the same line:
```
class Foo extends Controller {}
export default Foo
```
The parallel I see here to Java is the object orientation - which is a fair criticism. There are probably ways to execute on this using other mechanisms other than inheritance. But then, sub-classing to me still feels better than assigning the prototype via direct assignment.
Ruby has one of the better communities among programming languages - disproportionate to its popularity. I wish more languages had that quality of discourse.
Good question! Because this is on a hot code path, we were allocating new values faster than the garbage collector was able to remove them. Over extended periods of time, the server would trend toward running out of memory.