News for hackers. Stuff that matters.
Re:Golang’s most important feature is invisible by doctor_eval on Saturday January 22, 2022 @10:44PM (#30043421)
While not strictly the language itself, I find the Java standard library API to be unnecessarily verbose, with often obtuse defaults.

Go’s library is sometimes overly terse, but after having experienced both in production, I much prefer Go’s style.

An example is one of the date parsing functions (I can’t remember details now) which will happily accept an invalid date string (eg 2021-02-35) and silently convert it to a valid date (2021-03-07) despite declaring a parsing Exception.

You see, you only get the exception if you call setLenient(false) or if the date string can’t be coerced. For the life of me, I cannot think of a use case for this behaviour, and it certainly violates the principle of least surprise.

Re:Golang’s most important feature is invisible by kaba0 on Sunday January 23, 2022 @09:00AM (#30046165)
I think Java has one of the best standard libraries out of any language I used. Sure, it has its warts (but the Date class should really not be used anymore over its more modern replacements, which are again, really sane), but it doesn’t make you reach for third party dependencies at every turn, neither for lack of feature nor lack of performance. Sure, you can use hand-tuned collection libs, but it is very seldom needed.
Re:Golang’s most important feature is invisible by eknkc on Sunday January 23, 2022 @07:44AM (#30045755)
On the other hand, Go’s time format and parse logic is the biggest pile of shit I’ve ever seen in an API.
Re:Golang’s most important feature is invisible by blibble on Sunday January 23, 2022 @12:16AM (#30043831)
the replacement for SimpleDateFormat/Calendar came with Java 8 (released in 2014)
Re:Golang’s most important feature is invisible by doctor_eval on Sunday January 23, 2022 @01:03AM (#30043990)
Sure, but it is an example of the kind of crappy APIs that littered Java for a long time.
Re:Golang’s most important feature is invisible by hbogert on Sunday January 23, 2022 @03:03AM (#30044470)
Crappy apis is not beholden to java. Have you looked at go's timer API? Try to re-use one without inadvertently causing a data race, or get wrong behaviour.
Re:Golang’s most important feature is invisible by vips7L on Sunday January 23, 2022 @09:12AM (#30046252)