On 13 January 2011 16:14, Ricky Clarkson <[email protected]> wrote:

> java.util.Date is immutable, by the way.
>
>
Then what, pray tell, do the setXXX methods do?
Are you sure you're not thinking of Joda's DateTime class?


> On Thu, Jan 13, 2011 at 3:59 PM, Kevin Wright <[email protected]>
> wrote:
> >
> >
> > On 13 January 2011 14:09, Ricky Clarkson <[email protected]>
> wrote:
> >>
> >> Why, are there some inaccurate judgements you might otherwise make
> >> about Java based on those two classes?
> >>
> >
> > The standard Java date/time library is a joke, it's:
> > - inconsistent (days start at 1, months at 0)
> > - guilty of using side effects in unexpected places. (try using the same
> > instance of DateFormat in different threads)
> > - mutable
> > - verbose
> > - packed full of duplication
> > The heavy use of side-effects and mutability makes dates a tricky thing
> to
> > work with in concurrent code.  What if I supply someones birthday to some
> > thread as a date, which then subtracts 2 days from it in order to decide
> > when to remind me of it, but I still hold onto that original reference
> for
> > other purposes? Ooops!  JodaTime for the win, but it's not in the
> standard
> > lib...
> > If i were to judge Java purely on the basis of the basis of date/time
> > handling, then I'd have to conclude that it just can't use threads at
> all,
> > let alone efficiently.  I'd also think it was very badly designed.
> >
> > The collections, by being mutable, are also sensitive to this problem.
> >  Unlike the presence of a foldLeft method, you can't simply choose to not
> > use that mutability, as it may well be used by other blocks of code
> without
> > your knowledge.  "Unmodifiable" collections don't help either, they're
> just
> > a wrapper around some other collection that can, itself, be changed
> still.
> >  Google's immutable collections are the way forward, but they're
> absolutely
> > not in the standard lib.
> >
> >
> >
> >> On Thu, Jan 13, 2011 at 2:06 PM, Kevin Wright <[email protected]
> >
> >> wrote:
> >> >
> >> >
> >> > On 13 January 2011 13:36, Ricky Clarkson <[email protected]>
> >> > wrote:
> >> >>
> >> >> On Thu, Jan 13, 2011 at 12:57 PM, Reinier Zwitserloot
> >> >> <[email protected]> wrote:
> >> >> > I'm a bit confused as to why Scala programmers have the gall to
> claim
> >> >> > the
> >> >> > moral high ground in regards to multi-core programming.
> >> >>
> >> >> The confusion is in your head.  Scala programmers don't claim that
> high
> >> >> ground.
> >> >>
> >> >> > For example, scala has enshrined foldLeft and foldRight forever
> more
> >> >> > as
> >> >> > core
> >> >> > language, by importing both of those by default as operators (i.e.
> >> >> > "/:",
> >> >> > as
> >> >> > a token, is a fold operator in scala unless you go out of your way
> to
> >> >> > unimport it).
> >> >>
> >> >> Let's rewrite that without the emotional crap: "Scala has foldLeft
> and
> >> >> foldRight (and symbolic versions of those) in the standard library."
> >> >> Yes, it does, but so what?
> >> >>
> >> >
> >> > Java has java.util.Data and java.util.Calendar.  So I think that's
> >> > enough
> >> > said about judging a language based on classes and methods that just
> so
> >> > happen to be defined some standard library, yes?
> >> >
> >> > --
> >> > Kevin Wright
> >> >
> >> > gtalk / msn : [email protected]
> >> > mail: [email protected]
> >> > vibe / skype: kev.lee.wright
> >> > twitter: @thecoda
> >> >
> >> > --
> >> > You received this message because you are subscribed to the Google
> >> > Groups
> >> > "The Java Posse" group.
> >> > To post to this group, send email to [email protected].
> >> > To unsubscribe from this group, send email to
> >> > [email protected]<javaposse%[email protected]>
> .
> >> > For more options, visit this group at
> >> > http://groups.google.com/group/javaposse?hl=en.
> >> >
> >>
> >> --
> >> You received this message because you are subscribed to the Google
> Groups
> >> "The Java Posse" group.
> >> To post to this group, send email to [email protected].
> >> To unsubscribe from this group, send email to
> >> [email protected]<javaposse%[email protected]>
> .
> >> For more options, visit this group at
> >> http://groups.google.com/group/javaposse?hl=en.
> >>
> >
> >
> >
> > --
> > Kevin Wright
> >
> > gtalk / msn : [email protected]
> > mail: [email protected]
> > vibe / skype: kev.lee.wright
> > twitter: @thecoda
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "The Java Posse" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected]<javaposse%[email protected]>
> .
> > For more options, visit this group at
> > http://groups.google.com/group/javaposse?hl=en.
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "The Java Posse" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<javaposse%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/javaposse?hl=en.
>
>


-- 
Kevin Wright

gtalk / msn : [email protected]
<[email protected]>mail: [email protected]
vibe / skype: kev.lee.wright
twitter: @thecoda

-- 
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to