4 ms·
You need a tool like this to monitor run-time browser errors. When browsers support a language that catches 100% of errors at compile time then you won't need t
by brlewis 9y ago
You need a tool like this to monitor run-time browser errors. When browsers support a language that catches 100% of errors at compile time then you won't need tools like this.
But I see what you're saying. Except for the declarative style popularized by React and also implemented in Mithril, Preact and Inferno, and except for the rise in popularity of TypeScript, and except for a lot of attention paid lately to immutable data structures, and except for jslint being created in 2002 and lots of similar tools since then, and except for the wide variety of JavaScript-based unit test frameworks, it really seems like the JavaScript community has no clue that there are ways to prevent the errors you describe and no inclination to prevent them.
- kerkeslager 9y ago> You need a tool like this to monitor run-time browser errors. When browsers support a language that catches 100% of errors at compile time then you won't need tools like this. Eh, I don't think that logging runtime-in-the browser is the value added here. I can wrap my codebase in a try-catch that catches exceptions and calls home with the stack trace in < 100 lines of code. Avoiding that < 100 lines of code isn't the value added.
- mankz 9y agoYou could, but the point is that the stacktrace is useless in most apps (unless you have stateless minimalist website). As soon as you make a web app and you have state - stacktrace doesn't help reproduce the bug.
- kerkeslager 9y ago> As soon as you make a web app and you have state - stacktrace doesn't help reproduce the bug. It does in a reasonable language. That's my point.
- brlewis 9y agoWhat's an example of a reasonable language that has state? I figured you had to be thinking of a pure functional language.
- kerkeslager 9y agoPython, Ruby... the concern isn't so much state as that it throws the exception where the mistake actually happens instead of failing silently.