On Fri, May 27, 2011 at 12:51 PM, Marc Tompkins <marc.tompk...@gmail.com> wrote: > That was the point that Joel and I were making. The CS programs that have > become Java schools now make the curriculum as easy as possible because they
The concept that knowledge/ability to use a language doesn't indicate quality is one I agree with. however: > enough, was: Professional programmers - I really supported the effort, years > back, to protect the term "software engineer" - should be familiar with the > ins and outs of computers, not just with the quirks of the language they are > employed to use. To use my dishwasher analogy from a moment ago, I'm sure Here I disagree. A certain level of base knowledge beyond the requirements of your language is required, true, but a) I think that can be taken too far. I suspect a ton of truly great programmers have never have to memalloc() and they are still good. b) I think this is placing the cart before the horse. To expand on that second point, I see a good programmer as someone that thinks abstractly, that can bounce between big picture and details, that considers concepts like reuse and flexibility without extra effort. They are lazy enough to want to take advantage of existing libraries and diligent enough to fix things the first time. They have curiosity and insight. A person like that will, in time, learn enough about the environment and foundations of their tools to reap all possible benefit from it. Studying those foundations will not make you one of those people, nor will testing for knowledge of those foundations necessarily find you one of those people. And, frankly, I suspect a great many of those people will never wrestle with when exactly their compiler performs tail call elimination. But that's just my suspicion. > There were a couple of other points I wanted to answer, but I'm out of > time. It does seem that we mostly agree - certainly we agree that Java > stinks! One issue I've not seen discussed is some of the specific habits the language encourages. I've never been one to trash a language, believing it's a poor workman that blames his tools, and that almost all tools have their strengths, but having worked with Java (and Java developers) for a while now I've really come to dislike some of the practices that are becoming common: Stacked patterns without understanding the purpose, premature and excessive abstraction, elimination of verbs, and horrendous naming habits. I'm curious to see if any of these habits change if/when Java adds functions as first-class objects. -- Brett Ritter / SwiftOne swift...@swiftone.org _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor