It feels like what you’re trying to do would be better using a dictionary with the index being the element hash instead of a linear array.
balder1993
Yeah it still has its bugs but nothing preventing me from using it.
Using git effectively is like heading superpowers in programming compared to not having any version control as it allows you to do a bunch of things that would be very complex otherwise. Ex:
-
When writing code, if you only commit “working code” it’s easy to check at any moment what changes you’ve done in the last chunk with git status. Even most IDEs nowadays highlight the changes lines with some special marker. This allows you to know every detail of what you’re doing without filling your working memory tracking files yourself.
-
Seeing the history of your project allows you to track any of your workmates changes as well, you can always check who last changed a line of code with git blame (IDEs also make that easier), your commit text will usually tell you what is that change about.
-
It allows you to quickly try something out and if halfway through it you realize it won’t work, just discard the changes and restart using a different approach.
-
It allows you to have multiple “work-in-progress” features simultaneously in different branches, which makes it possible to do hotfixes on production code even though the development branch is way ahead.
-
It lets you break a big feature into multiple small commits and later on it’s easy to gather multiple commits in a branch into one big commit if it makes sense (let’s say you were not sure how you’d do it at first and kept changing something back and forth trying different things. Once you realize what the best approach is, you can turn all those changes into a single one).
-
Committing often allows you to “revert” any change in the future very easily, in a non destructive way.
So a lot of advantages of git require also to use it alongside best practices, such as the different git branching models. It doesn’t matter if you prefer using the command line or some visual client, just the fact of understanding how you’re using it makes a lot of difference.
-
Paying attention and caring about the quality of your output go great lengths. I’ve seen even supposedly senior devs doing a shitty job out of laziness to check what they’re doing.
-
Getting proficient with git and it’s usefulness. It is one of the single tools that can make you incredibly more productive.
That seems like it’s trying to be everything.
I might be wrong — who knows — but from that text I don’t think that is being made by passionate individuals trying to create a good product for the software community because they believe in it. It feels like some VC money grab that throws LLMs at the problem and already expects to be the next Facebook.
I have friends who work at the biggest bank in Latin America, where most backend stuff used to be Java. Nowadays all new code is written in Kotlin.
And I work at a company who switched to “trunk-based development” but because of bureaucracy, nothing can be merged early. Big feature branches still sit waiting for months, then need a big document describing the changes and their impact, some QA team to test the new feature branch build etc. The “release management” team simply renamed the develop branch to trunk and called it trunk-based development.
I think companies themselves would benefit from having employees dedicate some percentage of their time to exciting stuff, new attempts at solving problems etc. (I currently do this with side projects)
It works for managing the engineer appetite to playing with new tech, learn and be up to date, and in the end not over engineer the main product that is probably the main income for the company and most likely benefits from being boring and stable.
I don’t get what is the “application” in this context. Is that the Lemmy server or kbin server, which use the ActivityPub protocol? And couldn’t this be solved with a sort of .apub at the end of each resource, like the .json used to work for Reddit?
That’s a well designed compiler.
Just as an example, I worked as a contractor with the biggest bank in Latin America before and basically all their server code is Java (with new code in Kotlin nowadays).