News for hackers. Stuff that matters.
Re:Grace Version Control System by vouaobrasil on Thursday May 09, 2024 @10:08PM (#40314879)
Random thought, but I used to use version control (Git) for work. After I quit, I kept programming for fun...and to be honest I like programming without version control a lot better. I realized I hate version control. It imposes too much structure on programming, like having to keep all my drafts of the past. It's rather stifling in fact.

Now, I know version control is super useful for large projects, especially of the commercial variety. But now I see all the modern software out there and I wonder if maybe the increasingly commercialization of the software world has in part been accelerated by version control, which makes programming more robotic and less artistic.

Re:Grace Version Control System by 000ooo000 on Thursday May 09, 2024 @10:25PM (#40314944)
Interesting perspective. I feel the opposite; in my personal projects, I love having Git because I can fearlessly rework things knowing I can just abandon the rework if it's not playing out, or stick the rework in a branch and come back to it later. Different strokes!
Re:Grace Version Control System by vouaobrasil on Friday May 10, 2024 @06:15AM (#40317169)
True enough! I like the lack of version control because it feels like surviving in the wilderness with less safety gear and more self-reliance, or swimming in a lake without a life guard.
Re:Grace Version Control System by snthpy on Friday May 10, 2024 @12:53PM (#40321164)
I guess people like soloing big walls of rock so if it works for you.

My risk appetite is a lot lower and I try to use version control for everything.

Re:Grace Version Control System by barkbyte on Thursday May 09, 2024 @11:20PM (#40315199)
I can’t understand what you mean at all. How does it make programming more robotic? I feel more empowered to be creative when I know I can get things back to a valid state if I break them too badly.

For personal projects I often just use an alias that commits in my project directory with no commit message. There’s no burden to it. Sometimes I might choose to do a detailed merge commit to add a description for a batch of changes once I’ve settled on something I like, but usually I don’t bother if I’m not going to be working with others.

Re:Grace Version Control System by vouaobrasil on Friday May 10, 2024 @06:11AM (#40317147)
I feel a lack of version control system is like adventure with less safety gear and more self-reliance. It's a bit more interesting to know that I can break things and thus, I am more careful and use my own senses. It's like a video game without instant save.
Re:Grace Version Control System by kstenerud on Thursday May 09, 2024 @10:46PM (#40315026)
I'm the opposite. Having many years of experience writing software personally and professionally before version control systems became ubiquitous, I have way too many horror stories to tell...

* damage done by a single careless command

* coding around in circles because you forgot that you changed this one little thing in a file somewhere and now you've made a mountain of irreversible (without VCS) changes to your codebase

And so many other nasty things that coding without a seatbelt brings.

Re:Grace Version Control System by gwbas1c on Thursday May 09, 2024 @11:22PM (#40315207)
> less artistic

Don't confuse the act of putting paint on a canvas with the finished result. Programming is not art, it's a means to an end.

> It imposes too much structure on programming

The structure that tools like git provide is based on decades of know-how from people who use programming and source code control as a tool to accomplish a result.

You may decide that painting with oil or acrylic paints on a canvas is less artistic and more structured than using crayons or markers on paper. But there's a reason why artists gravitate towards certain tools to make certain results. The time invested in using the tools correctly is required to make the desired result.

In my case, I don't use git for one-off programs and experiments. Once I plan on working on a project for an extended period of time, it's extremely helpful.

Re:Grace Version Control System by kstrauser on Thursday May 09, 2024 @11:30PM (#40315255)
Programming absolutely has an artistic side. I’ve read beautiful, elegant code that expressed powerful ideas in ways that made them seem obviously correct. You don’t get that from a pure engineering approach. Mathematicians know what I mean here.
Re:Grace Version Control System by gwbas1c on Friday May 10, 2024 @12:04AM (#40315431)
> I’ve read beautiful, elegant code that expressed powerful ideas in ways that made them seem obviously correct.

Oh no, don't confuse the brush strokes with art.

A computer program isn't an idea: It's a set of instructions to the computer to accomplish that idea. The "elegant code" is merely the brush strokes, the idea lives in your head and in the resulting program.

Re:Grace Version Control System by kstrauser on Friday May 10, 2024 @12:31AM (#40315517)
In my experience that’s just simply not true. Most code is boring and straightforward, yet some is inspired and beautiful.

Some math proofs are mechanical and boring. Some are astoundingly elegant. Both get the job done. The latter gets talked about and praised.

Re:Grace Version Control System by gwbas1c on Friday May 10, 2024 @09:54AM (#40319020)
> The latter gets talked about and praised.

As someone who writes that kind of source code: It's not art, it's years of discipline and careful attention to detail.

A different way to say it: A song, and its performance, are art. The sheet music, and the filing system, are not. Yet, both are important and critical tools for preserving and communicating the song. The "legibility" of sheet music comes through discipline, but isn't the art itself.

Git is the filing system, and source code is the sheet music.

Re:Grace Version Control System by SBArbeit on Friday May 10, 2024 @01:31AM (#40315742)
> Programming absolutely has an artistic side.... You don’t get that from a pure engineering approach. Mathematicians know what I mean here.

There's a reason I'm writing Grace in F#, after all.

Re:Grace Version Control System by tasuki on Saturday May 11, 2024 @02:59AM (#40326505)
Finally a comment of yours I can fully back :)
Re:Grace Version Control System by boristsr on Thursday May 09, 2024 @10:52PM (#40315050)
I'm definitely the opposite, however I definitely use version control differently and less rigidly in personal projects. I commit more, care less about making the "perfect" commit, and making one change per commit. It's a lot more freeform in my personal projects precisely so it doesn't get in the way and take the fun out of the project.
Re:Grace Version Control System by metadat on Thursday May 09, 2024 @10:23PM (#40314930)
I find git freeing and empowering, because I never have to worry about FOMO - I can rewind or pull up any past checkpoint.
Re:Grace Version Control System by sneed_chucker on Thursday May 09, 2024 @11:09PM (#40315144)
I cannot imagine going back to programming without version control.
Re:Grace Version Control System by thfuran on Thursday May 09, 2024 @10:31PM (#40314969)
>I realized I hate version control. It imposes too much structure on programming,

Having used several different VCS, I have no idea what you're talking about. Are you conflating some complex CI/CD setup with branch naming schemes and oodles of hooks with version control in general? I mean, I think git is slightly overly opinionated when it comes to the relationship between commits and branches, but I don't get the impression that is what you mean.

Re:Grace Version Control System by comex on Friday May 10, 2024 @12:41AM (#40315545)
When I write code for fun, I use Git. But I only have the master branch, most of my commit messages are some variant of “asdfghjkl”, and instead of isolating logically separate changes into their own commits, I just commit the state of my working tree every so often. In other words, I use Git mainly as a glorified undo.

After spending my work hours justifying and polishing every single change, it’s nice to have a more free-form process for my own stuff. In fact, while my process is partly borne out of laziness, I think it can sometimes lead to better code. If I see something that’s just a little suboptimal, I can fix it on the spot, without having to go through a bunch of process or explain why I think the new version is better.

Still, I can’t imagine living without that glorified undo. If anything, it makes the process more free-form rather than less. I can make drastic rewrites if I feel like it, safe in the knowledge that if something breaks, or if I decide halfway through that the rewrite was a bad idea, I can just `git stash` and get back to the old state (while still having the stashed changes saved if I change my mind again).

Re:Grace Version Control System by SBArbeit on Friday May 10, 2024 @01:28AM (#40315732)
One of the design intentions for Grace is to make version control more ambient, more something that just happens in the background, so you get the benefits of file-level undo and diffs and change tracking without having to do anything, until you're ready to run `grace commit` and `grace promote`.

I'm like you: for small personal projects I either don't bother with source control, or I update it rarely. I'm the first beneficiary of the ambient approach that Grace has; it's really nice to just have all of my previous versions automatically uploaded and tracked, and then deleted a few days later if they're not pointed to by some other reference like a commit or promotion.

Re:Grace Version Control System by chipdart on Friday May 10, 2024 @04:03AM (#40316463)
> I realized I hate version control. It imposes too much structure on programming, like having to keep all my drafts of the past. It's rather stifling in fact.

That's like saying that using an editor with an undo button is too stifling.