Live data from Hacker News

We now consider Moment.js to be a legacy project in maintenance mode

momentjs.com

41–50 of 266 posts

Re: We now consider Moment.js to be a legacy project in maintenance mode

#41

Good for them. Open Source seems to have an irrational fear of done . Done is good. Done should be the goal. But it’s not. Because if you’re not adding new features and pushing code changes every day, your project is abandoned , dead . To quote another thread from two minutes ago: “I’m quite sad to see the end of Moment.js” I wish the was a way to fix this attitude. So that project maintainers didn’t need to write tw…

Is this really what a "done" software is? "Should not be used for new projects" is not "done" imo, it's more like "unfixable" and "obsolete". No prejudice at all against Moment.js or its devs, but this is essentially what they're saying. And the purpose and tone of the article does not seem to be an apology at all, but rather simply setting the expectations for future work so that the maintainers don't have to answer…

...but there's nothing to "fix", it works as intended. You might want to do things differently nowadays, is all - that's not on Moment.

Re: "obsolete"... jQuery is somewhere laughing, having gone through this already.

Re: We now consider Moment.js to be a legacy project in maintenance mode

#42
post #30

Earlier quoted context omitted.

Huge bundle sizes and mutability are JS design flaws. Until very recently it was impossible to make objects immutable in JS. Even now its really only done using third party libraries. Huge bundle size is only a problem because tree shaking is done on a "module" level. Most languages are static enough that it's called dead code elimination and doesn't need to use tree pruning. You can tell statically that the code is…

I don't think mutability is JS design flaw. It was designed for manipulating UI - computer screen, which is mutable. If it was designed for printing (an immutable interface) i'd agree with you. Bigger problem is that people started using javascript for server side, for which is (was) totally unfit for.

JS just has a very simple, flawed design. It's still a rather bad language from a design perspective.

One of the shortcuts is that all objects are hashmaps. Fully mutable hashmaps with string keys. You can do this:

obj.prop = "hi"; obj["prop"] = "bye";

And you set the same field. And you can do that to any object, reassigning any field type.

Most languages have static number of fields in an object, or at least static types for fields already created.

Another huge shortcoming is prototype chain based inheritance. Someone can rewrite a random link in your chain and suddenly you have another object type entirely. It's also very bad for performance. Essentially, the inheritance tree of an object can change at runtime.

Re: We now consider Moment.js to be a legacy project in maintenance mode

#43
post #40

Earlier quoted context omitted.

Just because you disagree with a design decision doesn't change the done/dead debate. It's done, because its maintainers have agreed the project has gone as far as it needs to go, and its current iteration is stable. You (as always) can choose not to use a project you do not agree with; that has no bearing on the project's status.

This isn’t me disagreeing with the design decision, this was their own explanation for why you shouldn’t use Moment.js in the future. My point was that the reason we’re transitioning away from it is because of technical reason, not because it’s not being updated.

I'd been complaining about these issues for years.

I kinda hate being vindicated years later, the time in between as an outsider kinda frustrates me.

I wish we had a more thoughtful, less packrat culture in programming. Fighting off the pushback is exhausting. It's not even worth bringing things up most of the time.

And as a disclaimer to those feeling tempted, I've got zero interest in debating this reality, water is wet.

Re: We now consider Moment.js to be a legacy project in maintenance mode

#45
post #35

Earlier quoted context omitted.

A significant issue though is that timezones change. For example the EU is ditching daylight savings time in 2021[1]. So actually there are many libraries and tools that could be done and just work forever, timezone stuff is much more dynamic than I'd ever realised. FWIW I loved moment and made the move this year to date-fns[2] as I trusted browser availablity of the prerequisites enough to finally switch, and I do l…

> So actually there are many libraries and tools that could be done and just work forever, timezone stuff is much more dynamic than I'd ever realised. I think the parent’s point was that things like security updates still need to happen. So there may be scrutiny if you come across a package and there hasn’t been a change for a couple of years, in the JS ecosystem it would raise red flags for many. Maybe not so much i…

Yeah, active development is always a good sign. These days at least NPM shows popularity, quality and maintenance data in search, and flags up known vulnerabilities so you can at least see if a project is rotten, or just no longer maintained (which may be ok in some circumstances).

Re: We now consider Moment.js to be a legacy project in maintenance mode

#47

Good for them. Open Source seems to have an irrational fear of done . Done is good. Done should be the goal. But it’s not. Because if you’re not adding new features and pushing code changes every day, your project is abandoned , dead . To quote another thread from two minutes ago: “I’m quite sad to see the end of Moment.js” I wish the was a way to fix this attitude. So that project maintainers didn’t need to write tw…

I was about to write the same thing. I like "done". The best libraries are the ones in maintenance mode, with long-term stability goals. The worst libraries are ones where the author(s) do a Major Rewrite every year or two.

There is a widespread meme/trope about something being "dead". Whenever I hear someone saying that a language/library is "dead", I make a point of checking that person's credentials. It almost always turns out that these are not people who write big applications or well-known libraries, but rather ambulance chasers — constantly looking for the next shiny thing.

Re: We now consider Moment.js to be a legacy project in maintenance mode

#48
post #17

Earlier quoted context omitted.

MomentJS may be an exception but any JavaScript project with a large number of node_modules or testing/distribution pipelines pinned to build systems like gulp or webpack are highly likely to break from year to year as they become incompatible with a version of node or one of the dependencies is taken over by a potentially malicious actor. For this reason any JavaScript ecosystem based project must receive increased…

A significant issue though is that timezones change. For example the EU is ditching daylight savings time in 2021[1]. So actually there are many libraries and tools that could be done and just work forever, timezone stuff is much more dynamic than I'd ever realised. FWIW I loved moment and made the move this year to date-fns[2] as I trusted browser availablity of the prerequisites enough to finally switch, and I do l…

EU ditching daylight savings time is unlikely to happen next year, as the legislation is only at draft stage and hasn't been finalised yet. The original proposal in 2018 called for it to end in 2019, but various industries pushed back saying that a transition would need more time. Because of Brexit (Ireland wants to use the same timezone as Northern Ireland, i.e. keep daylight savings time) and COVID-19 it's been delayed.

Re: We now consider Moment.js to be a legacy project in maintenance mode

#49

Earlier quoted context omitted.

A significant issue though is that timezones change. For example the EU is ditching daylight savings time in 2021[1]. So actually there are many libraries and tools that could be done and just work forever, timezone stuff is much more dynamic than I'd ever realised. FWIW I loved moment and made the move this year to date-fns[2] as I trusted browser availablity of the prerequisites enough to finally switch, and I do l…

The article specifically states that they're going to keep Moment-Timezone up to date. Which is important, because the timezone database has changed approximately 4 times a year for the last 5 years ( https://mm.icann.org/pipermail/tz-announce/ ).

Let's just hope no random country decides to use 100 minutes an hour or something one day.
Post reply on HN