Hacker News new | ask | show | jobs
by staticjak 2424 days ago
This reminds me of AspectJ in that its a language extension with many similar features (extension methods etc). As useful as those features were, the syntactic sugar you get is confusing to new contributors to a project.

Here's a scenario thats played out. In the extension methods example on the Manifold README, it's highlighted that you can add your own methods to Java types. If any dev saw this in the project and they were unaware of manifold, it wouldn't be immediately clear what enables the addition of methods to the Java String type. They would figure it out eventually by either investigating or by debugging. These features blur the lines between programming language and framework.

Where I get weary about adding a dependency is when I see documentation with ~100 line boilerplate examples peppered with terms I've never heard before. Just because you use the word simple when describing something complex does not make it so.

2 comments

> Where I get weary

I think you mean either "wary" or "leery" but not both at the same time!

As the OP points out just-in-time code generation is a huge improvement over conventional alternatives. If anything it represents a step forward considering developer productivity.