Interesting stuff...
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.
Trolling with Java Web Frameworks.
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...
Maven has a lot of interesting and useful ideas, but its usage is often over-complicated and several concepts are too much entangled. (examples: 1, 2, 3)
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.
Foremost there is Ivy, which provides Maven-like dependency management for Ant.
There are even two JRuby projects that bring simplified Maven-like dependency management to the JVM: maven_gem and javagems.
Especially interesting is Grape, which provides dependency management for Groovy at a language level (by integrating Ivy).
I think these examples are an impressive demonstration how the Java platform grows and how good ideas and concepts are adapted and evolved.