Java should stay Java (?|!)

December 16th, 2007

5 Responses to “Java should stay Java (?|!)”

  1. Greg M Says:

    FP makes things much easier to debug IME - basically because state is explicit you don’t have the snapshotting problem, and it’s easier to isolate components for unit testing.

    Eventually the solution to all this is that people need to be introduced to programming via languages that don’t make them worse programmers than they were before. Procedural thinking is a learned helplessness.

  2. david Says:

    I agree, FP makes debugging easier.

  3. the_dormant Says:

    I’m still looking for a problem(a programming one) which can be better expressed/solved in Java than in Scala. Granted Java is better for solving HR problems, but if we want to start building the software of the future, we’d better teach our kids a better language/paradigm than Java, otherwise we’ll be stuck rewriting our information systems exactly the same way we’re doing it right now for still another decade. Java isn’t offering any new mean to change the status quo, beside some variations at the syntactic level. Every “innovation”(when you recover from blindness, everything is innovation) is coming from other communities. It’s probably a sign that java has reached its limits and that it’s probably the time to move.

  4. sapphirecat Says:

    I find the DSL argument curious. Let’s assume it takes 1 month to get up to speed on the DSLs, but afterward, it makes changes to the software happen twice as fast. Then in two months, you break even, and you end up being faster than your competitors.

    But “twice as fast” is an insanely conservative estimate. It’s my experience that any system small enough to hold the necessary pieces in my head at once can be developed around four to ten times as quickly (depending on how much backtracking there is as we learn more about the problem). At even a 5x rate, it would be a less than a week before that month-long investment paid off.

    If your programmers stay for less time than it takes to learn the DSL and produce a payback, then your hiring process or company culture is severely broken. If the DSL itself takes a really long time to learn, then you might not have hired a very good programmer.

    And kind of an aside: doesn’t the existing implementation and architecture form a ‘language’ of its own that new programmers have to get up to speed on? Just because it’s bog-standard Java or Blub doesn’t mean it’s instantly known. Your new hire still has to learn the classes, objects, patterns, and roles in your codebase. Likewise, coding in Blub doesn’t free them of the need to understand the business domain.

  5. Russell Ryan Says:

    Isn’t his name Josh Bloch ?

    thx, I corrected it

Leave a Reply