On Jul 3, 9:02 pm, Sean Corfield <[email protected]> wrote: > On Sun, Jul 3, 2011 at 3:14 AM, James Keats <[email protected]> wrote: > > Perhaps we move in different circles but I've seen as much "bad Java" > in the large as I ever used to see "bad FORTRAN" and "bad C / C++" > code over the years. I think large "enterprise" Java projects have > just as many "below average" developers working on them as any other > popular language projects. And by definition, half of all developers > are "below average" and the more popular a language is, the broader > that spread is likely to be.
I do not dispute that. > > I think the only way you can avoid the "joe developer" that you fear > is to have a language which requires a very high barrier to entry so > only "good" developers can even write "Hello World!" in it. I don't > think that actually benefits anyone (since such languages don't get > sufficient critical mass that people ever get the chance to use them > "at work" to solve "real problems"). > I respectfully but unreservedly disagree with "the only way you can avoid the "joe developer" that you fear is to have a language which requires a very high barrier to entry". I do not worry so much about "Hello World!" taking too long, this is a business case analysis (if you can't afford to do something right, should you be doing it at all?!), though I do acknowledge that unfortunately "Hello World!" is the measure many developers use to judge things. I do not worry about that, what I worry about is what happens months or even years down the line, after much had been invested. Business is business; unless your motive is simply to scam someone else by passing it on (much of what startups and VCs nowadays are about - a ponzi scheme of sorts), you do not want to build on shaky foundations. There is much "bad Java", no doubt, but no one if forcing you to fall prey to that. > > Beyond Java, that was, more or less, predicting the demise of > > java and was unimpressed by python, whilst favouring ruby, yet since, > > over those past years, they've only - java and python - gone from > > strength to strength and remain on the ascendency whilst the ruby hype > > machine has imploded and the feasibility of ruby has come apart at the > > seams thanks to an ill-disciplined community culture. > > I find it interesting that you offer up a perceived demise of Ruby > when all I see is continued adoption of Ruby/Rails, far and away ahead > of Python. Again, possibly we move in different circles. On Java, I > was just at JAXconf where the overall theme was "Don't worry, Java's > not really dead!" - it was an almost desperate sense of trying to > rally the (enterprise) Java troops and head off the defections to > other languages, whilst all the time praising how much innovation was > occurring on the (JVM) platform, i.e., in those other languages. > Oracle talked about the big focus for Java EE 6 / 7 / 8 being > simplification - making Java easier to use and removing a lot of the > complexity and configuration that has grown up in that world (exactly > the problems that are causing Java developers to move to more > expressive languages and to adopt convention-based frameworks). The > big inspiration being held up to everyone at the conference was > Ruby/JRuby and the convention-based approach of Rails. I came away > with the sense that even its most stalwart supporters think Java is > very, very sick and needs to clean its act up if it is to avoid > becoming irrelevant as a language. The audience were told that Java > developers need to get used to the idea of learning new languages > frequently. I bumped into a handful of people there using Groovy and > one or two using Scala. I ran into a lot of people who really had no > idea what was going on in the world outside of Java and they seemed > very focused on data-centric "enterprise" business applications that > really didn't do anything particular complex but yet had grown into > gigantic codebases with a huge amount of complicated infrastructure... > > So, overall, I don't share your belief that Java has a "foundational > design and community cultures [that is] conducive to large, long-term > software and healthy ecosystems". Java is vast; there are so many legacy frameworks and legacy ways of doing things I would not adopt or endorse. After all, there is a reason why I'm here at clojure. We need to differentiate between things; how you build your software is up to you, but it is indisputable that Java has a lot of libraries, some may be bad, but others are outstanding, and no one is forcing you to choose the bad ones. I am a big believer that if there's a library that already does what you do, made by experts and vetted by the world, then you shouldn't do it yourself. I also believe that Java's "thou shall not do this!" and Python's "though shall not do this, unless you have to" go towards explaining that. Ruby may have a tempting "Hello World!" proposition that makes it appeal to startup developers, but sooner or later down the road you'll run into this widely-documented problem http://www.benjamincoe.com/post/6234388028/why-i-hate-ruby It remains to be seen how clojure will deal with this. I believe the foundation set by Rich Hickey is sound. It's an interesting area, and an area of debate nonetheless; how do you organize code, and how does functional programming relate to OO (again, let's differentiate here between building apps out of libraries, and the libraries themselves)? For example I suggest you look at this video/transcript and pay attention in particular to the point of debate between Joe Armstrong of Erlang and Martin Odersky of Scala http://www.infoq.com/interviews/functional-langs , in particular around the point where Odersky says "I’m not quite sure I buy that...". (also of additional relevance to those two points are http://erlang.org/pipermail/erlang-questions/2011-May/058769.html and also http://www.scala-lang.org/node/1637), and if you're further interested you may wish to read Eric Meyer's essay in the book Beautiful Architecture regarding a previous Simon Peter Jones Haskell- related publication, titled "Software Architecture: Object-Oriented Versus Functional". Regards. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to [email protected] Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/clojure?hl=en
