Live data from Hacker News

Writes large correct programs (2008)

johndcook.com

111–114 of 114 posts

Re: Writes large correct programs (2008)

#111

Earlier quoted context omitted.

In my senior design project in college, we were the only team that decided to use version control. I pushed for it, and set up a CVS server, mostly because I was the team lead and thought it was an easy way to feel like I was making a difference on the team. This was around 2005 or so, git didn’t really exist yet, svn was the new kid on the block and cvs was the established player. I had never used any vcs before and…

That seems pretty crazy to me (18M) even for one-off scripts, I'll often throw them into a VCS because why not!

When I started programming professionally in the 1980's there were really only two choices, RCS and SCCS, neither of which were networked, and which were really only readily available on Unix. I suppose there were commercial products for DOS (this was pre-Windows), but again, not readily available. If you wanted better, you had to roll your own.

Later, for SunOS, we had big, expensive systems like ClearCASE and Harvest that were (as I recall) weird as all get out, over-engineered, expensive (did I mention expensive?) and all too often designed for the convenience of the management, not the programmers.

Then there was CVS, which was a revelation. You didn't have to have a server, if you wanted to use it locally, all by yourself; I did that on my personal laptop. Otherwise you needed to set up a server. Subversion was an improvement. And then came Git (and Fossil, et al) and the world changed forever.

Re: Writes large correct programs (2008)

#112

Earlier quoted context omitted.

Minecraft is an entity system and it seems to work just fine. (Fun fact: Forge Mod Loader makes Minecraft an entity component system.)

having things called entities and components isn't doing ECS. Minecraft is a traditional OOP class hierarchy of entities, which (with Forge) have a Map whose entities are called components. In the technically superior Fabric ecosystem, you can add fields directly to the entity class using bytecode modification instead of having HashMap overhead on everything. Accessing them is a bit roundabout, but in a way the JIT c…

Fabric doesn't do too much on its own other than adding Mixin, which is why I didn't mention it. I do agree that it's technically superior though.

Re: Writes large correct programs (2008)

#113

Earlier quoted context omitted.

having things called entities and components isn't doing ECS. Minecraft is a traditional OOP class hierarchy of entities, which (with Forge) have a Map whose entities are called components. In the technically superior Fabric ecosystem, you can add fields directly to the entity class using bytecode modification instead of having HashMap overhead on everything. Accessing them is a bit roundabout, but in a way the JIT c…

Fabric doesn't do too much on its own other than adding Mixin, which is why I didn't mention it. I do agree that it's technically superior though.

That is its technical superiority. Forge is a specific modified version of Minecraft which comes with a bunch of extra extension points. Fabric is a framework for modifying Minecraft itself, any way you want to. In Fabric, you aren't limited to the predefined extension points since almost every instruction becomes an extension point.

Re: Writes large correct programs (2008)

#114

Earlier quoted context omitted.

Fabric doesn't do too much on its own other than adding Mixin, which is why I didn't mention it. I do agree that it's technically superior though.

That is its technical superiority. Forge is a specific modified version of Minecraft which comes with a bunch of extra extension points. Fabric is a framework for modifying Minecraft itself, any way you want to. In Fabric, you aren't limited to the predefined extension points since almost every instruction becomes an extension point.

> That is its technical superiority.

I know. I never said otherwise. The fact that it doesn't do what Forge does literally is the benefit. Sorry if that wasn't already clear. It should've been.

Back before I knew Fabric, I constantly cursed Forge because (before they added Mixin as well) a mod could not modify the game in any way Forge hadn't already thought of. On Fabric I could do anything at all.

You're completely missing my point btw, the point was that the reason I didn't mention Fabric is because Forge is the one that adds a bunch of stuff to Minecraft and Fabric just lets mods do whatever they want any way they want. Forge is the one that adds a capability system just intrinsically. Fabric lets you do that if you want (e.g. Cardinal Components API) but it also lets you do anything else you want and doesn't force you to use that architecture if you don't want to.

Also hi Immibis, didn't notice your username the first time :)

Post reply on HN