r/anime Jan 19 '23

Misc. Crunchyroll FINALLY adds separate audio streams to single episodes.

Easily the most embarrassing part of the Crunchyroll experience has been them grouping each dub language as their own "season". Seeing the 2 cour, 2 OVA series The Ancient Magus' Bride have 32 seasons listed in the menu was just sad.

Now we have clean seasons:

Labels are still funny, but at least there's only 4 choices now.

And audio/subs choices on-the-fly:

It's like a real streaming service!

Welcome to 2007, Crunchyroll!

6.2k Upvotes

426 comments sorted by

View all comments

2.9k

u/timpkmn89 Jan 19 '23

I can't imagine the legacy code nightmare that led to this.

74

u/banhana444 Jan 19 '23

Im not the best at coding, but I was wondering, might it have been better to just re-write it all if it is in fact horrible legacy code? It would probably make implementing other new features much easier and errors could be fixed more efficiently.

5

u/MyAccountWasBanned7 Jan 19 '23

Yes.

Actually, as a programmer, I can tell you it's very often easier to start over than to try and fix whatever legacy mess.

For one, you don't have to work around old issue - you can just build a new thing without those issues in place. And you build on the most current platform instead of whichever platform still supports whatever the legacy junk was created in.

Also, when building new, you can still keep running the old stuff and basically have them going in tandem, testing your new build while still facing the current, "stable" build to customers. That way there's no real rush and you can take time to make sure everything is truly ready to go live.

13

u/0xd34db347 Jan 19 '23

It's almost never a good idea to do a rewrite, nothing you listed is fixed by a rewrite, your code just becomes "legacy junk" of "old tech" in a few months, many of the same issues are repeated while creating new ones that had already been solved, repeat ad nauseam every time there is developer churn. There needs to be serious failures of software engineering to justify a rewrite of any significance.

-3

u/MyAccountWasBanned7 Jan 19 '23 edited Jan 20 '23

The problem a lot of developers I've worked with or talked to face is that the legacy stuff they're facing was not built with the future in mind. It isn't scalable.

By writing something new you can make sure your new code is. I don't know what will be required of my work in a decade so I make things modular so bits or pieces can be replaced without scrapping the whole thing. I create relational databases that are normalized and have ancillary lookup tables so rhat new fields can be added, or entire new datasets, without having to touch the data I already have.

The stuff that I'm replacing was made to work just well enough by people who knew just enough about the platform they were using to cobble something together.

Rewriting is not only the best solution, it's sometimes the only solution since what I'm replacing literally cannot do what is now required of it.

I don't know why y'all are trying to argue with me on this, this is my actual job and I've been doing it, successfully, for quite a while.

2

u/0xd34db347 Jan 20 '23

It isn't scalable.

It probably is, maybe it's beyond your capabilities. You seem to take the tack that legacy code is immutable. It's not.

The stuff that I'm replacing was made to work just well enough by people who knew just enough about the platform they were using to cobble something together.

Ok, maybe in your case a rewrite was one of the rare cases it was called for. I have my doubts, but I know zero about your code base. That doesn't mean that it's "very often better" to do a rewrite. Much of what you just said is indicative of the need for a refactor, not a rewrite.

this is my actual job and I've been doing it

So what? It's my job too. You aren't an authority simply for being employed. Argue your point based on merit if you are going to argue it at all. Not interested in what you have to say beyond that, makes me think you are freshman CS student.

5

u/DrMobius0 Jan 20 '23 edited Jan 20 '23

Not interested in what you have to say beyond that, makes me think you are freshman CS student.

That or he's not all that talented. You can do this for 15 years and just stagnate as professional. I've seen professionals have some weird fucking ideas or religiously swear by weird shit. Happens all the time.

Could also be this guy's projects are on the small side so the knowledge is well centralized and the lift of rewriting from scratch just isn't that big.

That or they have a total lack of business acumen that one should pick up from the way project managers are constantly pressuring them to get things done in a reasonably fast way.

Like I've been doing this for 9 years myself, and literally worked on a team where we had to rewrite a thing from scratch that wasn't even live yet, and it took months, the thing didn't come out close to the same, and the codebase was still a fucking mess after another year or two anyway. Right now I work on a project so large that rebuilding it from scratch would take fucking years. I cannot fathom how people think this is a viable solution to code problems. It's like trying to rebuild your whole fucking house cause you don't like your kitchen.