This post has nothing to do with any technical similarity between the two systems.
It is the conclusion of a series of posts, in which I have attempted to understand why my instincts were telling me to avoid Angular.js at all costs.
Its not something I really emphasize on my online portfolio, but I was actually a major contributor to Drupal. I dont think its hyperbolic to say that I was responsible for a lot of the parts of the framework that could generally be considered some of the most quintessentially Drupal apis.
It was only after almost 10 years with the project that I became aware that its growing complexity would eventually overwhelm me and become an obstacle to my future happiness.
It wasnt really Drupals fault that I needed to leave, I think it is just any system that gets to this level of complexity. I can work on this level for a while, but working on this level every day will start to drain the colour out of my world, and is ultimately not going to make me a better person.
I had invested so much of myself into Drupal, that it had become part of my identity. Subsequently, stepping away from the project was one of the hardest things I had ever needed to do.
I saw the same endless potential that I had initially seen in Drupal.
I dreaded feeling the way I had near the end of my time with Drupal.
I think it was this conflict that drove my need to properly evaluate Angular.js, even if just to put my mind to rest.
I now believe that my intuition was, in a way, projecting my possible/likely emotional state 6 (or maybe even up to 8) years down the line, if I were to invest myself or my time into this. Basically, would I be happy doing this for a really long time?
The only way this extra sense could really develop is through personal experience and if I hadnt had those experiences, I would probably have charged ahead, not thinking about where I could be headed.
I can only really intellectually extrapolate how these types of systems could evolve maybe 2-3 years down the line, and even then when I am wrong, I can acknowledge it mostly on an intellectual level.
This form of intuition feels like I will really need to have experienced an outcome for it to become more honed, and that means I will need to make more mistakes =)
With Drupal, my problem was that I came to realize there was no way I could make it any simpler, while still doing what it was busy doing. It would never get any easier for me, ever again.
I think that Angular is very rare in that actually has real potential to become simpler over time as the standards evolve. A lot of the things I was uncomfortable with, such as dirty-checking observables, can eventually be removed entirely.
The last thing that set off my spidey-sense was the black magic dependency injection, but even that is going to be gone in Angular 2.0. I really do think the developers know what they are doing, and I hope they will pick simple over easy whenever they can.
I am still not the model user for Angular, and I am still [likely to use Backbone when I have the choice]((/2014/03/why-wrong-to-be-afraid-angular#reuse), but I do look forward to seeing how it evolves over time.
Yeah, Id say I did. I now know why certain types of tools have a visceral reaction on me, and Ive expanded my vocabulary in ways that will aid me when discussing these topics in the future.
Ive also realized that I still have a Drupal community sized hole in my heart. Those were some of the happiest times of my life and I will always cherish them. Id like to think I left behind an Adrian sized hole in theirs too.
Pictures below are from the first DrupalCon I missed, and therefor was carried around in effigy by my friends.
But I also know that leaving was the right thing for me to do, and I am in a much better place than I would have been otherwise.
Nowadays, I actively try to do less, and I pick my battles more carefully.