When I said difficult, I meant a lot of boilerplate, not that it's technically hard.

> My opinion is that it is not a bad thing to move JavaScript beginners away from plugin development. 

Definitely not. That's one of the reasons most grunt plugins are awful. I'm even starting to see some of it with gulp.

> Recommending to use streams instead of buffers is a step in the right direction either for performance than for plugins quality.

It's a nice idea, but realistically most things can't be streamed. People want to use existing things like uglify, sass, etc, and these things aren't streaming. Hiding buffered content being a streaming API feels weird, and is just annoying when most things aren't streaming. That means every plugin has to do extra "grunt" work to fit in an API which only a small percent of plugins actually benefits from. I love streams, but we have to be realistic here. Streams also have a perf overhead over buffers when not doing anything.