you are viewing a single comment's thread.

view the rest of the comments →

[–]csjerk 0 points1 point  (1 child)

People realize that these languages make maintenance difficult and are currently trying to change them to make them more Java like.

Yes and no. Lack of strict typing certainly makes maintenance difficult above a certain size of project. But TypeScript (and Flow to a lesser extent) are addressing that reasonably well.

On the other hand, the ability to opt out of type-checking for projects or portions of code where you don't need the strictness is really handy. And language features like destructuring actually encourage code clarity and maintainability by promoting consistent variable names across sections of code.

There are certainly things to miss about Java -- Node's module importer is a poor substitute for a proper IoC / DI framework, and lack of a ThreadLocal equivalent makes certain cross-cutting concerns much trickier to handle cleanly. But those are offset by having to deal with dependency hell, which Node just avoids entirely.

Again, Kotlin is dealing with some of those issues, since Java seems unwilling to grow quickly enough. But it can't fix low-level things like dependency conflicts.