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

Measure everything and be extremely critical. Be ready to challenge common and popular held assumptions.

Here is something I wrote about extreme performance in JavaScript that is discarded by most programmers because most people that program JavaScript professionally cannot really program.

https://github.com/prettydiff/wisdom/blob/master/performance...



These are good performance improvements, but they clearly come at a cost. Race cars are faster than sedans, but the tires fall off and they explode without a team of engineers supporting them.

The best people I can hire can mostly use a computer. They can’t build something like this, or even build upon it. They need recipes to reuse to accomplish tasks, and the more something is custom, the harder it is to teach.

And product only cares about performance when a customer mentions it, which is almost never.

I long to spend time tuning race cars, but mostly I assemble sedans.


As someone who wrote JavaScript professionally for 15 years, but no longer, the greatest problem with that line of work is poor preparation. Hoping a collection of frameworks fills that gap without human intervention isn’t working. Most people doing this professionally have absolutely no idea how any of these technologies work. Being able to read and turn on a monitor presents an exceptionally low baseline considering the level of compensation.

Most people capable of writing original software can easily apply the things I suggest, but most people writing JavaScript are not capable of writing original software. That doesn’t mean guidance for superior performance is out of alignment. It means there are fundamental problems with hiring and training.

Using your example I once saw a Puerto Rican racing team make a lot of money with their custom car. They took an old 80s Mazda small sedan and dropped in a large Ferrari engine and customized the suspension. This is something innovative they did to make money by winning competitions, because that pays better than just changing tires. Shops that only change tires or change oil have that does to a science to maximize human productivity, akin to copy/paste.


You dismiss a lot of modern technologies as "unnecessarily complicated", you advocate for reinventing the wheel coming across with a very "I know better" attitude.

For example you create your own bundler, when modern bundlers are very mature and good.

For example you dismiss SSR as unnecessary and then basically roll your own. You dismiss modern frameworks out of hand then list performance improvements they can make for you (e.g. keeping state in html).

Your last two performance improvements are about not taking drugs???

I'm really pro people doing things themselves for fun and all that but this article and you comment comes across as so arrogant and condescending whilst also seeming to show ignorance (or at least willful dismissal) of exactly where modern JavaScript development is at, and present it as state of the art performance improvements.


Yes, I do advocate for reinventing the wheel and I do so with a high level of arrogance. That is one of the benefits of measuring everything extensively… you get to be arrogant because you know what is superior according to a bunch of objective evidence.

I rolled my own bundler only because it’s tiny and without dependencies. I am not rewriting ESLint even though I absolutely dread its large number of dependencies.


> most programmers because most people that program…professionally cannot really program

FTFY




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

Search: