I'd like to reiterate other posters' comments about the criticality of an IDE for WL to make the transition from "small code" to "big code" - at least more regularly outside the WRISphere. My history is that while WW used to be a large part of my workflow, nowadays I would say that 95% of my development work takes place in the front-end. That 5% though, pareto-like, is still worth more than this percentage might indicate: it provides an "orienting home" for my project; it is used to generate documentation, v.occasionally for stubborn bugs and rudimentary refactoring; to push and package deployments (although I would also say that I've never found WW especially natural to use).
The advantages of certain front-end features, in the end, I found too useful and there is one game-changer that I think now makes it feasible to produce large projects in the WL - the advent of Associations (for implementing a version of object-orientation, structs etc). To be sure, to harness this in the front-end, I've probably spent ~2 months in total (spread out over several years) creating a native front-end IDE (git integration, "Front-end staging area", notebook manipulation, stylesheets, modifying Shift-enter, granular organization, code refactoring, multiple screens etc) but to me what this indicates is that something far more powerful could be industrially created (in fact I no longer add to this IDE having got it to a functioning level since I suspect something is already in the works - something that could perhaps be galvanized with sufficient community sentiment?).
Hence (while never saying never) I can't imagine foregoing these advantages or transiting the code-base already canned away from the front-end, but having said this I would still like to have the back-up of a "traditional IDE" for when other languages are required (or the other 5% of the time and/or when certain features are yet to make their way into a "native" IDE) while also noting that others might have a greater need for such language integration.
Therefore, I don't think this is an either/or scenario but that actually, a two-pronged approach/strategy is essential for bringing people on-board in the creation of WL "big code"; Something along the lines of:
- A state of the art, front-end IDE (focused on those who predominantly develop in Mathematica - documentation, git version control, unit tests, refactoring just to start with)
- A "traditional IDE" that is used in-house at WRI but which is now also coupled to each Mathematica release (for those who need connections with other languages or prefer this environment)
(I don't know enough about WRI's in-house requirements or IntelliJ IDEA's innards to judge the feasibility of the following proposition but ... given the availability of willing contributors, its newness, the lack of WW-love and releases, maybe a bold route would involve positing IntelliJ IDEA as the "traditional IDE" for the WL?).
I also want to make a final point, perhaps off-topic and obvious but one that I feel sometimes gets overlooked in such discussions. It is not just the technology that is at issue here, nor even the education of how to use it effectively but equally pivotal are the designs on which it operates. My experience is that a soundly designed architecture on a limited IDE will every time beat a poorly designed architecture on a state-of-the-art IDE.