The most insightful thing was that historically we put too much unrelated things into the same bucket:
More background is in Chuck Connells article on Dr.Dobb's. Including The bright line in computer science:
When you follow the Samurai Debugging technique, you start with a blank screen. That's not what you want, so you start debugging it, and you continue debugging it until your program does exactly what you want it to do.
I don't think you can count someone even as a semi-decent java dev until he wrote his very own web framework at least once in his life (from here)
"Humans and higher primates share approximately 97% of their DNA in common. Recent research in primate programming suggests computing is a task that most higher primates can easily perform. Visual Basic 6.0™ was the preferred IDE for the majority of experiment primate subjects."
BDD is a second-generation, outside-in, pull- based, multiple-stakeholder, multiple-scale, high-automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.Watch his talk for an explanation of this definition...
The foremost feature of Maven that comes to mind is probably dependency management. Maven probably standardized dependency management for the Java platform. That’s probably also the reason for its wide adoption.
At this time there are already several attempts for smaller and easier solutions that repackage the ideas about dependency management from Maven. Their promise is to be a cleaner and easier to use.
I think these examples are an impressive demonstration how the Java platform grows and how good ideas and concepts are adapted and evolved.