Hacker News new | ask | show | jobs
by nightski 3140 days ago
Of course the flaw is always in the programmer's understanding. Langauges do not manipulate or lie to you, they are what they are.

However, better tools and languages reduce your cognitive burden. The less mental context you have to work with the more you can focus on the problem at hand. If you have to constantly worry about language edge cases and odd behavior, it really detracts from being able to focus on the problem you are trying to solve.

There is a reason languages like TypeScript and Flow exist, they are helping to reduce this large burden JavaScript carries with it.

JavaScript is really great for small scripts (which is the use case it was designed for).

Anything beyond a few hundred lines starts to carry a lot more cognitive load. Not to mention that we are now building full fledged applications with tens of thousands of lines in this language.

2 comments

> Anything beyond a few hundred lines starts to carry a lot more cognitive load. Not to mention that we are now building full fledged applications with tens of thousands of lines in this language.

Depends really on how much care was put into the application structure, mostly from the outset.

I've followed opinionated styleguides closely on some projects, and have also walked into other swamp projects that snowballed into something massive from a few snippets of jQuery. The difference between working on something that was intended to be maintainable from the start and something that evolved haphazardly is of course like night and day.

I still think it's more the people and approach than the tools.

> Anything beyond a few hundred lines starts to carry a lot more cognitive load. Not to mention that we are now building full fledged applications with tens of thousands of lines in this language.

Agree completely.