I have watched the videos from DrupalCon Dublin 2016, so graciously uploaded by the Drupal Association. In a few of those videos, I have heard the speakers complain about two things in Drupal 8: it's complexity and it's development cost. One speaker even voiced a number of 25% of development cost increase. I have paused at that point and gave it some thought, because I felt somewhat dubious about this. Yes and no.
Drupal 8 is more complex than Drupal 7. Of course, Drupal 7 has been more complex that Drupal 6, and Drupal 6 than Drupal 5, and so on. Still there has been a huge leap of complexity, as Drupal 8 has switched to Symfony and the OOP patterns. Suddenly, Drupal 8 has become much harder code-wise, even though on the front end, it has become easier, smarter, and more intuitive. This jump to 'harder' hit me as well - I ended up studying a lot before I could make sense of what's going on under the hood. In fact, I had to familiarize myself with OOP, which I have not needed before, really. So on one hand there has been some dismay at having to work a lot before I could use Drupal 8, my CMS of choice again. At the same time, was that dismay justifiable? Was that technological leap of Drupal's bad? Did the devs really over-complicated things and allowed the corporate into Drupal 8 so strong that that would be destructive? Now, if you have read some of my previous posts, you can see, that I have had some of these thoughts. Now, that I have been working with Drupal 8 for half a year, however, I have ended up having a changed mind about this.
When I started learning programming as a hobby back in my school days, we used console, there was Windows 3, of course, but very few actually had or used it. So, most of our programs in those days were a few pages of code. Today, you would hardly make a living as a programmer, or even pass for a hobbyist, if all you can do is to write a console application of so little complexity. Today, programming is much more complex, and the systems are much more complex. The applications, the libraries, the programming patterns have been developing, so today you can hardly be just a 'programmer' - you are likely to specialize in a subset of programming, or a subset of a subset. And we don't have people complaining that today's programmers have to learn more than they had to in the 1970's... Then, how can we complain when the web programming develops?
Early versions of PHP were procedural. Later on, PHP has been catching up with the OOP, until it has arrived where it is in 7. PHP applications have been moving to support the full breadth of language. Do we have right to complain that Drupal moved along as well, refusing to become the outdated procedural code base that it had been? I think not. If we look at the existing CMS, they are mostly doing the same shift to OOP. Only Wordpress is currently lagging, because it's incredible popularity is bound with it being 'easy' and procedural. But sticking to the outdated techniques is also undermining it, and I see WordPress developers understand that and also seek to follow on the path of innovation, though, it is much harder for them to do. So, this path is really inescapable.
So, my point is that the transition of Drupal to OOP and modern programming techniques has been justifiable and inescapable. Conserving Drupal in it's procedural state would stagnate and kill it very predictably. Having said that, let me move to the 'cost of development' thing.
With being more industry-standard, the cost of development should go down, shouldn't it? The only reason why it would go up is if you have neet been preparing for Drupal 8 and have not been following the progress. All those companies and developers who, despite all educational efforts, have never took time to learn OOP, Twig, or study the new Drupal's API - are now having difficulty with transitioning. An educational debt. You have not been doing your home task, and now you face the necessity of learning everything at once. Is it a Drupal's problem? Of course. It's your fault, but it's a Drupal's problem, and the community's... We should not be holding the advancements in technology hostage to our unwillingness to learn and change. And then complain as if it were Drupal's fault. As if suddenly, Drupal 8 was released, and look it's all different... As it is a fashion to say now, what do you think?